如何在Linux系统中设置DNS服务器?

在 Linux 中,可以通过修改 /etc/resolv.conf 文件来设置 DNS 服务器。

Linux 设置 DNS

在 Linux 系统中,正确设置 DNS(域名系统)服务器对于网络连接和域名解析至关重要,本文将详细介绍如何在 Linux 中设置 DNS,包括通过图形界面和命令行的方式,以及如何验证设置是否生效。

一、使用图形界面设置 DNS

不同的 Linux 发行版可能有不同的图形界面设置方法,以下是常见的几种发行版的操作步骤。

(一)Ubuntu/Debian

1、打开“设置”应用程序,通常可以在应用程序菜单或系统托盘中找到。

2、选择“网络”选项。

3、点击要配置的网络接口(例如以太网或 WiFi),然后点击“齿轮”图标进入设置页面。

4、在“IPv4”或“IPv6”设置区域中,找到“DNS 服务器”字段。

5、选择“手动”选项,然后输入首选和备用 DNS 服务器的 IP 地址(Google 的公共 DNS:8.8.8.8 和 8.8.4.4),多个 DNS 服务器地址之间用逗号分隔。

6、点击“应用”按钮保存设置。

(二)Fedora/CentOS

1、打开“设置”应用程序。

2、选择“网络”选项。

3、点击要配置的网络接口,然后点击“编辑”按钮。

如何在Linux系统中设置DNS服务器?

4、在“常规”选项卡中,勾选“手动”单选按钮。

5、在“DNS 服务器”部分,添加首选和备用 DNS 服务器的 IP 地址。

6、点击“保存”按钮,然后点击“应用”按钮使设置生效。

二、使用命令行设置 DNS

(一)临时设置 DNS

可以通过修改/etc/resolv.conf 文件来临时设置 DNS,此文件包含了系统的 DNS 配置信息。

sudo nano /etc/resolv.conf

在文件中添加以下内容(以 Google 公共 DNS 为例):

字段
nameserver 8.8.8.8
nameserver 8.8.4.4

保存并关闭文件后,DNS 设置将立即生效,这种修改在系统重启后会丢失,因为该文件通常会被网络管理工具覆盖。

(二)永久设置 DNS(基于 NetworkManager)

对于使用 NetworkManager 进行网络管理的系统(如大多数现代 Linux 发行版),可以通过以下步骤进行永久设置。

如何在Linux系统中设置DNS服务器?

1、编辑 NetworkManager 的配置文件:

sudo nano /etc/NetworkManager/NetworkManager.conf

在文件末尾添加以下内容:

[main]
plugins=ifupdown,keyfile
dns=default

保存并关闭文件。

2、创建或编辑特定的网络连接配置文件(通常位于/etc/NetworkManager/systemconnections/ 目录下),例如eth0 对应的配置文件/etc/NetworkManager/systemconnections/eth0

sudo nano /etc/NetworkManager/systemconnections/eth0

在文件中添加或修改以下内容:

<connection>
  <id>eth0</id>
  <uuid>[自动生成的 UUID]</uuid>
  <type>ethernet</type>
  <interfacename>eth0</interfacename>
  ...
  <ipv4>
    <method>auto</method>
    <dns>
      <searchdomains>example.com</searchdomains>
      <addresses>8.8.8.8;8.8.4.4</addresses>
    </dns>
  </ipv4>
  ...
</connection>

其中[自动生成的 UUID] 是系统自动生成的唯一标识符,不需要手动更改,保存文件后,重启 NetworkManager 服务使设置生效:

sudo systemctl restart NetworkManager

(三)永久设置 DNS(传统方法)

对于不使用 NetworkManager 的系统,可以直接编辑/etc/resolv.conf 并确保其不会被其他网络管理工具覆盖,一种方法是创建一个不可变的符号链接指向原始的resolv.conf 文件:

sudo chattr +i /etc/resolv.conf
sudo ln sf /run/resolvconf/resolv.conf /etc/resolv.conf

这样,当需要修改 DNS 时,只需修改/run/resolvconf/resolv.conf 文件即可,而不会影响原始的/etc/resolv.conf

三、验证 DNS 设置

如何在Linux系统中设置DNS服务器?

可以通过以下命令验证 DNS 设置是否生效。

nslookup example.com

如果能够正确解析域名并获得相应的 IP 地址,说明 DNS 设置成功,也可以使用dig 命令进行更详细的 DNS 查询:

dig example.com

dig 命令提供了关于 DNS 解析过程的丰富信息,包括查询时间、服务器响应等。

四、相关问题与解答

问题1:为什么需要设置 DNS?

答:设置 DNS 是为了将域名解析为对应的 IP 地址,以便计算机能够通过域名访问互联网上的资源,如果没有正确设置 DNS,浏览器将无法通过域名找到目标服务器,导致无法访问网站或其他网络服务。

问题2:如果设置了多个 DNS 服务器,系统会如何选择使用?

答:当设置了多个 DNS 服务器时,系统通常会按照顺序依次尝试查询,首先向首选 DNS 服务器发送查询请求,如果首选服务器没有响应或无法解析域名,系统会继续向备用 DNS 服务器发送请求,直到得到解析结果或所有服务器都尝试完毕,这样可以提高域名解析的可靠性和成功率。

来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/131938.html

Like (0)
小编小编
Previous 2025年2月3日 23:31
Next 2025年2月3日 23:52

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注