无论是Linux操作系统还是windows操作系统,都存在 /etc/hosts
文件,该文件主要用于映射 IP 地址和域名之间的连接。如果你对这句话还不是特别理解,那就跟着我继续往下一起来看一下这个文件到底是如何将IP地址和域名之间进行映射的。
我们通过前言可以初步了解到 /etc/hosts
文件主要是用来做IP与域名之间的映射的,但是对于他是如何实现的,以及为什么需要这个文件可能你还不是特别了解,接下来让我们一起来看一下。
在网络的早期,/etc/hosts
文件用于将 IP 地址 (8.8.8.8
) 转换为人类可读的形式 (www.google.com
),随着时间的推移,它失去了相关性。在现代系统中,解析域名的整个过程是通过DNS(域名系统)完成的。
那为什么我们仍然在每个操作系统中获取主机文件呢?这就是个概率问题了,有些东西你现在可能用不到,但是他不能不存在,比如出现以下情景:
当然您也可以用来做其他事情,例如阻止广告、增强本地防火墙以及许多其他涉及使用 IP 和 DNS 的任务!
所以即时有网络DNS的今天,系统还是提供了 /etc/hosts
文件来供你使用。
主机文件需要两个组件才能工作:域名和 IP,所以我要做的是使用它的DNS,并将其重定向到LHB的IP。我们可以使用ping命令来查看IP与域名之间的对应关系。
ping baidu.com
我们可以通过更改/etc/hosts
文件从而修改主机的重定向网址,配置格式如下:
<IP address><space><Root Address>
<IP address><space><WWW domain address>
你可以使用此方法将网站从一台服务器迁移到另一台服务器。在实际将网站的DNS更改为新服务器之前,请在新服务器上进行所有更改,该服务器可通过系统上的域名访问。
/etc/hosts
文件阻止不需要的网站例如,我将阻止Facebook!因此,让我们首先需要获得Facebook的IP地址:
ping -c1 facebook.com
现在,让我们打开主机文件:
sudo vi /etc/hosts
当我使用浏览器访问Facebook时,它向我展示了以下内容: