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

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

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

什么是Linux主机文件?

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

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

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

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

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

在DNS联机之前,此文件保存了整个Internet的所有主机名和IP地址。系统管理员将定期从中央存储库下载此文件的更新副本。即使到1980年代初期,由于网络越来越多地被主机限制在大学和研究实验室中,因此越来越多的主机联机仍使管理员几乎无法跟上,因此就创建了DNS。

这使得主机文件在处理公共Internet或什至不止几台计算机时显得过时了,但是对于管理本地计算机和小型本地网络(如Wi-Fi)而言,它是完美的选择。

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

Linux主机文件的位置

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

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

例如:

 sudo nano /etc/hosts

要使用图形文本编辑器(例如gedit),请执行以下操作:

 gksu gedit /etc/hosts

完成文件编辑后,退出编辑器。在nano中,按Ctrl + X ,然后按y确认覆盖更改。在编辑文件之前保存文件的备份副本是一个好主意,这样,如果您输入有误,就可以将其还原,因为它可能会干扰您的网络访问。

要备份主机文件,只需对其进行备份。您可能会添加后缀如.old,以便记住这是文件的旧副本:

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

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

在hosts文件中,每个条目都有自己的行。语法很简单。键入您要将主机名转换为的IP地址,按键盘上的Tab键,然后键入主机名。

例如,要阻止Wikipedia,请输入(记住使用Tab键而不是Space键):

 127.0.0.1     wikipedia.org

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

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

下载: 域阻止程序(免费)

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

主机文件有用的另一种方法是在小型办公室或家庭网络中创建易于记忆的计算机名称。

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

 192.168.1.10     homeserver

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

 http://homeserver

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

或者,您可以使用hosts文件创建指向Web上某些站点的快捷方式。使用nslookup之类的命令来查找网站的IP地址,然后将其添加到您所需的快捷方式旁边的主机文件中,就像上面的示例一样。由于大多数主要网站都有多个IP地址,因此在Google或Netflix等网站上可能无法使用。

主机文件的潜在问题

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

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

您将如何更改主机文件?

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

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