如何在 Linux 上修改和管理主机文件

您的计算机上有一个文件,可用作您和网络之间的小网关。 它被称为主机文件。 如果您需要在 Linux 上阻止网站或创建个性化的 Web 快捷方式,您只需在文件中添加或调整几行即可。

在这篇文章中,我们将详细讨论主机文件,以及有关如何安全地编辑和修改主机文件的综合指南。

什么是 Linux 主机文件?

hosts 文件是一个纯文本文件,所有操作系统都使用它来将主机名(也称为 Web 地址或 URL)转换为 IP 地址。 当您输入主机名(例如 wikipedia.org)时,您的系统将查看主机文件以获取连接到相应服务器所需的 IP 地址。

如果您打开 hosts 文件,您会很快注意到其中没有整个 Internet 的目录。 相反,可能只有几行,仅此而已。 是什么赋予了?

事实证明,您的系统将首先检查主机文件,然后再在网络设置中定义的 DNS 服务器(通常是您的 ISP 的 DNS 服务器)上查找站点。

这意味着您可以使用 hosts 文件添加 DNS 服务器无法提供的内容(例如本地网络上位置的别名,否则只有在本地网络中设置了 DNS 服务器时才有可能)或覆盖您的 DNS 服务器通常会提供的 IP 地址。

为了 example,如果您请求 wikipedia.org,DNS 服务器会将 Wikipedia 的 IP 地址返回到您的计算机。 但是,如果您想在该计算机上阻止 Wikipedia,您可以在 hosts 文件中添加一个条目,告诉您的计算机 wikipedia.org 指向与 Wikipedia 的实际 IP 地址不同的其他 IP 地址。

在 DNS 上线之前,该文件保存了整个 Internet 的所有主机名和 IP 地址。 系统管理员会定期从中央存储库下载此文件的更新副本。 即使到了 1980 年代初,随着越来越多的主机上线,即使网络仍然主要限于大学和研究实验室,管理员也几乎不可能跟上,因此创建了 DNS。

这使得主机文件在处理公共互联网或什至多台机器时基本过时,但它非常适合管理您的本地机器和像 Wi-Fi 这样的小型本地网络。

如今,该文件通常具有您在安装它时为 Linux 机器选择的主机名和定义的 localhost,这是使用网络所需的最低要求。

Linux 主机文件的位置

在 Linux 上,您可以在下面找到 hosts 文件 /etc/hosts. 由于它是纯文本文件,因此您可以使用首选的文本编辑器打开 hosts 文件。

由于主机文件是系统文件,因此您需要管理权限才能保存更改。 要使用基于 Linux 终端的文本编辑器(例如 nano)编辑文件,您需要超级用户访问权限。

为了 example:

sudo nano /etc/hosts

要使用图形文本编辑器,例如 gedit:

gksu gedit /etc/hosts

完成文件编辑后,退出编辑器。 在纳米中,点击 Ctrl + X, 进而 是的 以确认覆盖更改。 最好在编辑之前保存文件的备份副本,以便在出错时可以恢复它,因为它可能会干扰您的网络访问。

要备份 hosts 文件,只需复制一份即可。 您可以添加一个后缀,例如 。老的 所以你记得这是文件的旧副本:

sudo cp /etc/hosts /etc/hosts.old

如何将站点添加到主机文件

在 hosts 文件中,每个条目都有自己的一行。 语法很简单。 键入您希望主机名转换为的 IP 地址,按 标签 键,然后键入主机名。

为了 example,要阻止维基百科,您需要输入(记住使用 标签 关键而不是 空间):

127.0.0.1        wikipedia.org

127.0.0.1 是始终指向您自己系统的环回 IP 地址。 由于网络未存储在您的计算机上,因此您的浏览器会显示找不到该站点。 它现在被有效地阻止了。

如果您对终端感到害怕,请查看 Linux Mint 的域拦截器应用程序 (也称为 薄荷保姆)。 它会将条目添加到主机文件中,将您指定的主机名指向 127.0.0.1。 但要执行其他任何操作,您仍然需要使用文本编辑器进行更改。

下载: 域名拦截器 (自由)

在主机文件中创建快捷方式

hosts 文件的另一种用途是在小型办公室或家庭网络上创建易于记忆的机器名称。

如果您的家庭网络中有一台计算机(例如 IP 地址为 192.168.1.10),它有一个简单的网站或文件服务器,可以为您做一些有用的事情,您可以在主机文件中键入以下内容:

192.168.1.10        homeserver

然后,如果您打开浏览器并输入:

https://homeserver

您的计算机现在将自动重定向到 192.168.1.10。 这比查找 IP 地址要容易得多。 您可以使用 Wi-Fi 路由器的配置菜单为网络上的任何机器永久分配 IP 地址。

或者,您可以使用 hosts 文件创建 Web 上某些站点的快捷方式。 使用命令,例如 nslookup 找到网站的 IP 地址,然后将其添加到您的主机文件中,并与所需的快捷方式一起,就像在 example 多于。 由于大多数主要网站都有多个 IP 地址,因此这可能不适用于 Google 或 Netflix.

主机文件的潜在问题

所以我们已经确定了如何对主机文件进行更改,但是您在使用时可能仍然会遇到问题 Google Chrome. 除非您执行以下两种可能的操作之一,否则此 Web 浏览器往往会忽略主机文件:

  1. 类型 https:// 在每个地址的开头。 为了 example,如果您在 hosts 文件中阻止了 Wikipedia,则 Chrome 如果您只是在地址栏中键入 wikipedia.org,将绕过该阻止。 但是,如果您在地址栏中键入 https://wikipedia.org,它将跟随 hosts 文件。
  2. 禁用“使用 Web 服务帮助解决导航错误“选项在 Chrome 设置,然后你就不必输入 https:// 每次一开始。 这是几个之一 Google Chrome 无论如何都值得做的隐私提示。

您将如何更改主机文件?

主机文件提供了一种简单的方法来阻止对计算机上某些网站的访问,并为任何易于记忆的家庭服务器创建名称。

如果您有孩子,这是阻止您可能不希望他们看到或限制屏幕时间的网站的一种粗略但有效的方法,至少只要他们没有超级用户访问权限。 还有其他可用的工具可让您限制 Linux 上的 Internet 访问和屏幕时间。