Linux或任何其他操作系统中的/etc/hosts文件用于映射IP地址和域名。这是一个非常笼统的答案,对吧?本文将深入探讨该文件的一些用途。Linux中的/etc/hosts文件是什么在网络早期,/etc/hosts文件用于将IP地址(例如:8.8.8.8)转换为人类可读的形式(例如:www.google.com),随着时间的推移,不再需要此功能。今天,解析域名的整个过程都是通过DNS(域名系统)完成的。既然如此,为什么还要保留这个文件呢?目前,hosts文件在少数情况下使用,但仍有一些情况:当您要阻止网站时;当DNS损坏时,它可以用作备份;它还可以用作本地DNS服务器。我们能想到的任务还有很多,比如屏蔽广告,加固本地防火墙,还有很多其他涉及IP和DNS使用的任务等等。下面我们通过例子来介绍/etc/hosts文件的几个实际用途。使用/etc/hosts文件重定向URLhosts文件需要两个部分才能工作:域名和IP。那么接下来(作为演示例子,我们使用的是百度的地址),我们要做的就是使用百度的DNS,重定向到百度的IP。首先我们用ping命令获取百度的IP地址:$ping-c1www.baidu.compingwww.baidu.com(180.101.49.14)56(84)字节数据.64字节来自180.101.49.14(180.101.49.14):icmp_seq=1ttl=58time=8.98ms...现在,我们打开主机文件(在我们的例子中我们使用vim编辑器):$sudovim/etc/hosts127.0.0.1localhost::1localhost180。101.49.14Tiap.com180.101.49.14www.tiap.com在上面的例子中,最后两行是新添加的。现在我pingwww.tiap.com,会被重定向到百度的IP:$ping-c1www.tiap.compingwww.baidu.com(180.101.49.14)56(84)字节的数据。64bytesfrom180.101.49.14(180.101.49.14):icmp_seq=1ttl=58time=8.98ms...您可以使用此方法将网站从一个服务器迁移到另一个服务器。在真正将网站的DNS更改到新服务器之前,需要在新服务器上进行所有更改,可以通过系统上的域名访问。使用/etc/hosts文件阻止不需要的网站接下来我们需要做的是为我们不想再访问的站点分配本地IP地址。例如,我们想屏蔽Facebook。先pingfacebook验证正常情况下是否可以访问(国内访问需要FQ):ping-c1facebook.com然后编辑hosts文件:$sudovim/etc/hosts127.0.0.1localhost::1localhost127.0.0.1facebook.com127.0.0.1www.facebook.com当我们再次访问Facebook时,会显示如下:使用/etc/hosts文件创建网站快捷方式如果网站的域名如果比较长,我们可以给它取个简称,在本地作为快捷方式使用。例如,让我们为Linuxhandbook创建一个名为lhb.com的快捷方式。首先需要获取linuxhandbook的IP地址:$ping-c1linuxhandbook.com然后修改hosts文件:$sudovim/etc/hosts进行如下修改:完成后可以ping快捷方式:可以看到通过上图发现,访问原域名和快捷方式的域名是一模一样的。
