如何在 Debian 上编辑 Hosts 文件如何在 Debian 上编辑 Hosts 文件如何在 Debian 上编辑 Hosts 文件如何在 Debian 上编辑 Hosts 文件
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 上编辑 Hosts 文件

本文介绍的是在 Debian 12 系统上编辑 /etc/hosts 文件。但让我们首先看看 Hosts 文件是什么。

了解主机文件

所有主要操作系统都有一个主机文件来将主机名转换为 IP 地址。主机文件的优先级高于 DNS 查找。每当您通过输入域名打开网站时,系统都会读取主机文件以检查相应的 IP,然后将其打开。主机文件是一个简单的文本文件,位于 Debian 系统的 /etc 文件夹中,完整路径为 /etc/hosts。

它看起来是这样的:

根据我们提到的内容,您可能期望该文件具有很长的 IP 和相应主机名列表;但事实并非如此。主机文件仅包含几行;

  • 默认情况下,第一部分包含本地主机和计算机的主机名和 IP 地址。这是您通常要修改的部分以进行所需的更改。
  • 第二部分包含有关支持 IPv6 的主机的信息;你几乎不会编辑这些行。

每当您输入地址时,您的系统都会检查主机文件是否存在;如果存在,您将被定向到相应的 IP。如果主机名未在主机文件中定义,您的系统将检查您互联网的 DNS 服务器以查找相应的 IP 并相应地重定向您。

为什么要编辑 Hosts 文件?

通过编辑主机文件,您可以实现以下功能以及更多功能:

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

如何编辑Hosts文件?

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

首先,让我们通过应用程序启动器搜索打开终端,如下所示:

Debian 应用程序启动器可以通过 Super/Windows 键访问。

在本文中,我们将使用Nano编辑器来编辑hosts文件。请键入以下命令打开主机文件:

sudo nano /etc/hosts

或者

sudo gedit /etc/hosts

(用于 gedit)

如前所述,我们将编辑主机文件的第一部分,其中定义了 IP 地址和主机名。我们将解释以下两种使用主机文件的方法:

  • 阻止网站
  • 通过别名访问远程计算机

使用 /etc/hosts 文件阻止网站

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

例如,如果我们想阻止 google.com,我们可以将以下文本添加到我们的文件中:

127.0.0.1 www.google.com

现在,当我们打开 google 网站时,我们的系统将从主机文件中获取本地主机的 IP (127.0.0.1) 并将我们重定向到该地址,而不是从 DNS 服务器获取 google IP。

或者

0.0.0.0 www.google.com

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

这就是编辑后的文件的样子。请按 ctrl+X 并在文件名提示中输入 y 来保存更改。

现在,当您尝试从浏览器打开 www.google.com 时,您将看到如下错误消息:

请注意,我们在主机文件中定义了完整的地址 www.google.com 而不仅仅是主机名 google.com,因为如果我们只定义后者,现代浏览器有时会绕过该块。

通过别名访问远程计算机

假设我们想要访问位于本地网络上的服务器。我们通常必须输入服务器的 IP 才能访问它,除非它已在本地 DNS 上定义。避免一次又一次输入 IP 的一种方法是在主机文件中为服务器分配一个别名,如下所示:

192.168.1.10 myserver

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

当我们保存文件并在地址栏中输入 myserver 时,我们将被重定向到远程服务器。

我们了解到,通过对主机文件进行非常简单的更改,我们可以根据需要自定义并重定向网络流量。我们还可以通过将主机文件恢复为默认值来消除网络攻击或恶作剧。

经常问的问题

什么是主机文件?

Debian Linux 中的主机(或 /etc/hosts)文件是操作系统用来将主机名映射到 IP 地址的简单文本文件。它允许系统在查询外部 DNS 服务器之前将域名(例如“www.example.com”)转换为 IP 地址。

Debian Linux 中的主机文件位于哪里?

在 Debian 中,hosts 文件位于 /etc/hosts。

如何在 Debian Linux 中编辑主机文件?

要编辑主机文件,您需要 root 权限。您可以使用 nano 或 vi 等文本编辑器。例如,使用:

sudo nano /etc/hosts

或者

sudo vi /etc/hosts

打开并编辑文件。

为什么需要修改主机文件?

常见原因包括为 Web 开发设置本地测试环境、阻止访问某些网站或重定向特定域的流量。

hosts 文件中条目的格式是什么?

主机文件中的每个条目都应另起一行,以 IP 地址开头,后跟主机名。例如:

127.0.0.1 localhost

编辑主机文件会影响我的系统安全吗?

主机文件中的错误配置可能会导致网络问题或安全漏洞,例如将流量重定向到恶意站点。始终确保准确且有意的更改。

如何使用主机文件阻止网站?

要阻止网站,请在主机文件中添加一行,其中包含 127.0.0.1,后跟该网站的域名。这会将对该站点的任何请求重定向到您的本地计算机,从而有效地阻止它。

对主机文件的更改会立即生效吗?

更改通常会立即生效,但在某些情况下,您可能需要刷新 DNS 缓存或重新启动网络服务。

如何注释掉主机文件中的一行?

要注释掉一行,只需在该行的开头添加一个 # 符号即可。这使得该行成为注释,并且系统将忽略它。

是否可以使用hosts文件进行负载平衡?

Hosts 文件不适合负载平衡,因为它只能将主机名映射到单个 IP 地址。对于负载平衡,需要更复杂的方法,例如 DNS 循环或专用负载平衡器。

我可以在主机文件中使用通配符吗?

不,hosts 文件不支持通配符。每个条目必须是特定的 IP 地址和主机名对。

如何解决主机文件问题?

确保文件的语法正确,IP 地址或主机名没有拼写错误。您还可以使用 ping 或 nslookup 等工具来测试已添加或修改的主机名的解析。

©2015-2025 艾丽卡 support@alaica.com