Linux 上的 Hosts 文件示例
/etc/hosts 文件可以在所有 Linux 系统上找到。这是一个纯文本系统文件,可用于将网络名称(例如本地网络上计算机的主机名或在线网站的 URL)映射到 IP 地址。 hosts
文件的优先级高于您的系统配置使用的任何 DNS 服务器。
换句话说,编辑 hosts
文件允许您覆盖其他 DNS 设置。如果 hosts
文件中有一些条目,即使无需访问单独的 DNS 服务器,也可以解析这些名称。当系统管理员想要覆盖外部 DNS 解析时,或者只是告诉计算机可以在哪里找到(通过 IP 地址)另一个主机时,系统管理员可能有兴趣编辑 hosts
文件。
在本教程中,我们将展示 /etc/hosts
文件的示例,以便您了解如何正确格式化您的文件。这还将让您了解它的用途,以及如何确保您的文件遵守所需的语法,以便被系统识别以进行名称解析。
在本教程中您将学习:
如何正确格式化
/etc/hosts
文件如何查看
/etc/hosts
文件如何测试对
/etc/hosts
文件所做的更改
Linux 上的 Hosts 文件示例
您的 Linux 系统的 /etc/hosts
文件中应该已经有几行。您可以使用cat
命令查看其内容。
$ cat /etc/hosts
这是我们 Ubuntu 系统上的默认文件的样子:
注意
您应该保留 /etc/hosts
文件中的默认条目而不是删除它们,因为这些设置可能会被各种系统服务所依赖。在您的计算机上配置。
hosts
文件需要每行一个条目。一个例子可能如下所示:
192.168.1.100 example.com
在上面的示例中,这一行告诉我们的系统在 IP 地址 192.168.1.100
处查找 example.com
。这两个值可以用一个空格、多个空格或制表符分隔 - 重要的是它们需要位于同一行。
您还可以在同一行中添加一个别名。例如:
192.168.1.100 example.com example.net
请注意,您也可以将 IPv6 地址添加到 /etc/hosts
文件中。
如何验证主机文件的更改
我们可以通过尝试 ping 我们添加到 /etc/hosts
的主机名或 URL 来验证这些更改是否已生效。
$ ping example.com
$ ping example.net
正如您在上面的屏幕截图中看到的,我们的系统未将 example.com
和 example.net
解析为 IP 地址 192.168.1.100
。
如何编辑hosts文件
您需要 root 权限才能编辑系统的 /etc/hosts
文件。您可以使用您选择的任何命令行或 GUI 文本编辑器。例如…
$ sudo vim /etc/hosts
$ sudo nano /etc/hosts
对文件进行更改并保存后,您应该注意到更改会立即生效。某些较旧的系统可能需要您重新启动系统的网络服务才能使更改生效。
结束语
在本教程中,我们了解了如何在 Linux 系统上查看、格式化和编辑 /etc/hosts
文件。这个文件极其简单,但是对网络却有着强大的作用。了解如何格式化和编辑此文件将允许用户完全控制其系统在何处寻找某些主机名。