Linux上的主机文件

所有支持联网的操作系统都有一个主机文件,该文件将主机名转换为IP地址。输入主机名并打开网站时,系统将读取主机文件,找到相应的IP,然后打开。主机文件是Linux和Mac OS上etc文件夹(/ etc / hosts)中的简单文本文件。 Windows也有一个主机文件。在Windows上,它位于Windows System32 drivers etc 中。

它是这样的:

Linux / etc / hosts文件

从上面的内容,您可能会认为该文件具有很长的IP和相应的主机名列表。但这不是事实。主机文件仅包含大量行。

  • 第一部分包含默认情况下本地主机和计算机的主机名和IP地址。通常在此处进行更改以进行必要的更改。
  • 第二部分包含有关支持IPv6的主机的信息,并且您很少编辑这些行。

每次输入地址时,系统都会检查主机文件是否存在。如果存在,它将被重定向到相应的IP。如果主机文件中未定义主机名,则系统检查Internet DNS服务器,找到相应的IP,然后进行相应的重定向。

为什么要编辑/ etc / hosts文件

通过编辑主机文件,可以实现以下目的:

  • 封锁网站
  • 处理攻击或解决恶作剧
  • 为本地服务器上的位置创建别名
  • 覆盖DNS服务器提供的地址
  • 控制对网络流量的访问

如何编辑/ etc / hosts文件?

/ etc / hosts中的hosts文本文件只能以超级用户身份进行编辑。首先,您需要在Linux终端上使用文本编辑器(例如VI编辑器,Nano编辑器或gedit)打开它。然后进行必要的更改并保存文件以使这些更改生效。

在本文中,您将使用Nano编辑器编辑文件。输入以下命令:

$ sudo nano /etc/hosts

$ sudo gedit /etc/hosts

(对于gedit)

用nano编辑器编辑/ etc / hosts文件

如上所述,编辑定义IP地址和主机名的主机文件的第一部分。解释了以下两种使用hosts文件的方法。

  • 封锁网站
  • 通过别名访问远程计算机

封锁网站

您可以通过将网站重定向到本地主机IP或默认路由来阻止网站。

例如,如果您要阻止google.com,则可以在文件中添加以下文本:

127.0.0.1 www.google.com

现在,当您打开Goog​​le网站时,系统会从主机文件中获取本地主机的IP(127.0.0.1),然后将其重定向,而不是从DNS服务器重定向到Google IP。

0.0.0.0 www.google.com

现在,当您打开Goog​​le网站时,系统将从主机文件中获取默认路由的IP地址(0.0.0.0),然后从DNS服务器重定向到该路由,而不是Google IP。

这就是编辑后的文件的外观。按ctrl + X保存更改。

托管文件已编辑以阻止对域的访问

试图打开 www.google.com 浏览器显示以下错误消息:

网站在桌面上成功被阻止

请注意,它定义了完整的地址 www.google.com 在主机文件中使用而不是主机名google.com。这是因为现代浏览器仅在定义最新时才避免阻塞。

在主机文件中也可以使用一些预定义的阻止列表。 https://github.com/StevenBlack/hosts

通过别名访问远程计算机

假设您要访问的本地网络上有一台服务器。通常,除非在本地DNS中定义,否则您将需要输入服务器的IP才能访问它。避免多次输入IP的一种方法是在hosts文件中为服务器分配别名,如下所示:

192.168.1.10 myserver

IP对应于要访问的服务器的位置,而myserver是要使用的新别名。

将域重定向到新IP

保存文件,在地址栏中键入myserver,您将被重定向到远程服务器。

您了解到,通过对hosts文件进行非常简单的更改,您可以自定义网络流量并将其重定向到您的需求。您还可以通过将主机文件重置为默认值来消除网络攻击和恶作剧。

在Linux上托管文件

Sidebar