Linux 或任何其他操作系统中的 /etc/hosts 文件用于映射 IP 地址和域名之间的连接。
很笼统的答案对吧? 好吧,本指南将深入一些,以便每个人都可以从它的产品中受益。
Linux 中的 /etc/hosts 文件是什么?
在网络的早期,/etc/hosts 文件用于将 IP 地址 (8.8.8.8) 转换为人类可读的形式 (www.google.com),随着时间的推移它失去了相关性。 在现代系统中,解析域名的整个过程都是通过DNS(域名系统)来完成的。
那么为什么我们仍然在每个操作系统中获取主机文件?
很少但仍在特定情况下使用:
- 当您想阻止某些网站时。
- 它可以在DNS损坏的情况下用作备份。
- 您也可以将其用作本地 DNS 服务器。
您可以想到许多其他任务,例如阻止广告、增强本地防火墙以及许多其他涉及 IP 和 DNS 使用的任务!
所以现在是时候 怎样使用 /etc/hosts 文件的实际示例.
使用 /etc/hosts 文件重定向 URL
hosts 文件需要两个组件才能工作:域名和 IP。
所以我要做的是使用 itsfoss 的 DNS 并将其重定向到 LHB 的 IP。
为此,我将使用 ping 命令查找 LHB 的 IP:
ping -c1 linuxhandbook.com
现在,让我们打开 hosts 文件(我在这里使用的是 nano 文本编辑器):
sudo nano /etc/hosts
我在这里所做的是:
<IP address><space><Root Address>
<IP address><space><WWW domain address>
两者兼有被认为是一种好习惯!
现在,当我 ping itsfoss 时,它被重定向到 Linuxhandbook 的 IP:

您可以使用此方法将您的网站从一台服务器迁移到另一台服务器。 在您实际将网站的 DNS 更改为新服务器之前,您在新服务器上进行所有更改,该服务器可通过系统上的域名访问。
Gridpane 使用了这个技巧 用于迁移 WordPress 网站。
使用 /etc/hosts 文件阻止不需要的网站
所以我在这里要做的就是将我的本地域分配给我不再想使用的站点!
为了 example我会阻止 Facebook! 所以让我们得到一个IP地址 Facebook:
ping -c1 facebook.com

现在,让我们打开主机文件:
sudo nano /etc/hosts

而当我使用浏览器访问 Facebook,它向我展示了这一点:

使用 /etc/hosts 文件创建网站快捷方式
在这个 example,我将为 Linuxhandbook 创建一个快捷方式,名为 lhb.com
.
第一步将类似于我之前解释的(获取域的 IP):
ping -c1 linuxhandbook.com

现在,让我们通过给定的命令修改 hosts 文件:
sudo nano /etc/hosts
并按照给定的方式进行更改:

完成后,您将对其进行测试。 我正在使用带有最近制作的快捷方式的 ping 命令。

可以清楚地看到,原域名的IP和快捷方式没有区别。
总结
在本教程中,我解释了拥有 hosts 文件的目的以及怎样使用 hosts 文件调整 DNS 设置以适合自己的一些示例。
如果您仍有任何疑问,请在评测部分进行讨论。