如何在 Ubuntu 上更新 resolv.conf如何在 Ubuntu 上更新 resolv.conf如何在 Ubuntu 上更新 resolv.conf如何在 Ubuntu 上更新 resolv.conf
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

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

如何在 Ubuntu 上更新 resolv.conf

人类更喜欢记住与事物相关的名称,而计算机则喜欢记住数字。在互联网上,我们通过特定名称对机器进行寻址,并且这些机器驻留在特定的“域”中。为了清楚起见,请考虑域“linux教程”内的本地计算机“host1”。对于人类来说,这个主机的地址以一种容易记住的方式是“host1.linux教程”。然而,要在互联网上找到该主机,其他计算机将需要其 IP 号码。

将机器名称或域名转换为用于互联网通信的数字是由称为域名服务的服务完成的。如果您碰巧建立了 PPP 连接,您将在 Linux 计算机上设置将主机名转换为 IP 地址的方式。

实现此目的的一种方法是使用文件“/etc/hosts/”并插入要连接的每个主机的详细信息。如果主机数量非常大(如互联网的情况),则这种方法在现实中是完全没有效率且不可能的。另一种方法是使用 IP 地址(数字)代替名称(这实际上是不可能的,但对于最多 8-9 台计算机而言)。

最简单的方法是设置一台服务器计算机,该服务器将自动执行此名称以对翻译任务进行编号。服务器计算机或简称域名服务器系统用于此目的,其中我们使用“/etc/resolv.conf”文件并将所有 IP 号码插入到该文件中。

“/etc/resolv.conf”文件

在 Linux/Unix 操作系统上,“resolv.conf”文件包含用于名称解析的名称服务器(DNS 服务器)列表。该文件的内容由系统上的某些网络应用程序自动添加。每次您的系统将其位置更改为不同的网络域时,这些条目都会更新。至少有一个名称服务器条目定义 DNS 服务器。名称服务器的优先级按照系统在文件中找到条目的顺序给出。

每当我们更改网络配置文件(例如“/etc/hosts”)时,我们都需要通过以下方式重新启动网络服务:

$ sudo /etc/init.d/network restart

或者通过使用:

$ sudo service network-manager restart

如何更新“/etc/resolv.conf”文件

该文件由名为 systemd-resolved 的系统服务(用于向本地应用程序提供网络名称解析)管理,并且可以通过网络服务守护程序进行更新,也可以手动进行更新。但手动更改会在系统或网络重新启动时被各种来源覆盖,例如:

  1. resolvconf 程序

  2. 网络管理器守护进程

  3. DHCP 客户端

如果您想使用自己的自定义名称服务器列表并添加这些名称服务器,请按照以下步骤操作:

方法1.添加名称服务器的临时解决方案

如果您使用此选项添加新的 DNS 服务器,则每当您注销或重新启动系统、重新连接到网络或重新启动网络服务、运行 dhclient 命令时,您的设置都会自动重置。请按照下面提到的步骤操作:

第 1 步:使用任何文本编辑器(例如“nano”)打开文件“/etc/resolv.conf”:

$ sudo nano /etc/resolv.conf

第 2 步:现在,在所有现有名称服务器指令的顶部添加一个新的名称服务器指令,如下所述:

nameserver 8.8.8.8

nameserver 127.0.0.53

options edns0

该文件现在将如下所示:

要检查这些设置,请使用 dig 命令。它将显示 DNS 服务器 IP 地址:

现在,如果您运行 dhclient 命令(可能多次)或重新启动,resolv.conf 将重置,并且 DNS 服务器将设置为旧值。使用“dig”命令验证:

方法2.使用Resolvconf永久解决

如果按照这种方式,如果您想恢复到以前的设置,则需要重置配置。

第 1 步:首先打开文件“/etc/resolv.conf”并添加您要使用的名称服务器的条目。在本指南中,我们将使用名称服务器 8.8.8.8,您可以选择使用 nano 等编辑器编辑文件或使用下面的一次性命令:

$ echo nameserver 8.8.8.8 | sudo tee /etc/resolv.conf

第 2 步:继续安装 resolvconf 软件包:

$ sudo apt install resolvconf

第 3 步:通过以下方式启动并启用服务:

$ sudo systemctl start resolvconf.service

$ sudo systemctl enable resolvconf.service

第4步:现在,打开Resolvconf的配置文件“/etc/resolvconf/resolv.conf.d/head”:

sudo nano /etc/resolvconf/resolv.conf.d/head

现在,将以下行添加到上述文件中并保存:

nameserver 8.8.8.8

第 5 步:现在,使用以下命令重新启动 resolvconf.service:

$ sudo systemctl restart resolvconf.service

第 6 步:使用 dig 命令验证新的 DNS 设置,如下所示: 在任何系统重新启动或运行“dhclient ”命令后,“/etc/resolv.conf ”的内容不应更改。

结论

在本指南中,我们学习了更新 DNS 解析器文件的不同方法。我们已经了解了如何使用 Resolvconf 包永久编辑文件。

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