如何在Ubuntu中配置DNS设置?

Ubuntu配置DNS涉及编辑/etc/resolv.conf文件,添加或修改域名服务器地址。通常使用8.8.8.8(Google DNS)和8.8.4.4作为公共DNS服务器。保存并重启网络服务以应用更改。

Ubuntu 是一个广泛使用的 Linux 发行版,其网络配置包括 DNS(域名系统)设置对用户来说尤为重要,DNS 用于将域名解析为 IP 地址,使得我们能够通过易记的域名访问互联网资源,以下是详细的 Ubuntu 配置 DNS 的方法和步骤:

Ubuntu 配置 DNS
(图片来源网络,侵权删除)

一、修改/etc/resolv.conf 文件

方法一:直接修改/etc/resolv.conf

1、打开终端:按Ctrl + Alt + T 打开终端。

2、编辑文件:使用文本编辑器(如 nano 或 vi)打开/etc/resolv.conf 文件。

“`bash

sudo nano /etc/resolv.conf

Ubuntu 配置 DNS
(图片来源网络,侵权删除)

“`

3、添加 DNS 服务器:在文件中添加或修改nameserver 行,指定所需的 DNS 服务器地址。

“`plaintext

nameserver 8.8.8.8

nameserver 8.8.4.4

“`

Ubuntu 配置 DNS
(图片来源网络,侵权删除)

4、保存并退出:保存文件并退出编辑器。

5、重启网络服务:执行以下命令以重启网络服务使更改生效:

“`bash

sudo systemctl restart NetworkManager

“`

6、注意事项:由于/etc/resolv.conf 文件可能会被系统的其他服务覆盖,因此这种方法适用于临时修改。

二、通过/etc/network/interfaces 配置文件

方法二:修改/etc/network/interfaces

1、打开终端:按Ctrl + Alt + T 打开终端。

2、编辑文件:使用文本编辑器(如 nano 或 vi)打开/etc/network/interfaces 文件。

“`bash

sudo nano /etc/network/interfaces

“`

3、添加 DNS 服务器:在文件的适当位置(通常是接口配置部分的末尾),添加如下行:

“`plaintext

dnsnameservers 8.8.8.8 8.8.4.4

“`

4、保存并退出:保存文件并退出编辑器。

5、重启网络服务:执行以下命令以重启网络服务使更改生效:

“`bash

sudo systemctl restart NetworkManager

“`

6、注意事项:这种方法适用于静态 IP 配置的情况,并且会永久生效,即使重启系统也不会丢失配置。

三、通过/etc/resolvconf/resolv.conf.d/base 文件

方法三:修改/etc/resolvconf/resolv.conf.d/base

1、打开终端:按Ctrl + Alt + T 打开终端。

2、创建并编辑文件:如果文件不存在,则创建它,使用文本编辑器(如 nano 或 vi)打开/etc/resolvconf/resolv.conf.d/base 文件。

“`bash

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

“`

3、添加 DNS 服务器:在文件中添加如下行:

“`plaintext

nameserver 8.8.8.8

nameserver 8.8.4.4

“`

4、保存并退出:保存文件并退出编辑器。

5、应用更改:执行以下命令以应用更改:

“`bash

sudo resolvconf u

“`

6、注意事项:这种方法适用于动态 IP 配置的情况,并且会永久生效,即使重启系统也不会丢失配置。

四、通过netplan 配置文件(适用于 Ubuntu 17.10 及以后版本)

方法四:修改/etc/netplan 配置文件

1、找到网卡名称:使用以下命令找到你的网卡名称(通常是eth0ensX):

“`bash

ip link show

“`

2、编辑 netplan 配置文件:使用文本编辑器(如 nano 或 vi)打开相应的.yaml 文件。

“`bash

sudo nano /etc/netplan/01netcfg.yaml

“`

3、添加 DNS 服务器:在文件中添加或修改nameservers 字段,指定所需的 DNS 服务器地址。

“`yaml

network:

version: 2

ethernets:

ens33:

dhcp4: no

addresses: [192.168.1.2/24]

gateway4: 192.168.1.1

nameservers:

addresses: [8.8.8.8, 8.8.4.4]

“`

4、应用配置:执行以下命令以应用新的网络配置:

“`bash

sudo netplan apply

“`

5、注意事项:这种方法适用于使用 netplan 管理网络配置的系统,并且会永久生效,即使重启系统也不会丢失配置。

五、通过systemdresolved 服务(适用于 Ubuntu 18.04 及以后版本)

方法五:修改/etc/systemd/resolved.conf

1、打开终端:按Ctrl + Alt + T 打开终端。

2、编辑文件:使用文本编辑器(如 nano 或 vi)打开/etc/systemd/resolved.conf 文件。

“`bash

sudo nano /etc/systemd/resolved.conf

“`

3、添加 DNS 服务器:在文件中添加或修改DNS= 行,指定所需的 DNS 服务器地址。

“`plaintext

DNS=8.8.8.8 114.114.114.114

“`

4、保存并退出:保存文件并退出编辑器。

5、重启服务:执行以下命令以重启systemdresolved 服务:

“`bash

sudo systemctl restart systemdresolved

“`

6、备份并重新生成/etc/resolv.conf:执行以下命令以备份当前的/etc/resolv.conf 文件,并创建一个到systemdresolved 管理的新文件的符号链接:

“`bash

sudo mv /etc/resolv.conf /etc/resolv.conf.bak

sudo ln s /run/systemd/resolve/resolv.conf /etc/resolv.conf

“`

7、注意事项:这种方法适用于使用systemdresolved 进行名称解析的系统,并且会永久生效,即使重启系统也不会丢失配置。

相关问题与解答

问题1:为什么直接修改/etc/resolv.conf 文件不生效?

答案:因为 Ubuntu 使用resolvconf 工具来动态生成和管理/etc/resolv.conf 文件,所以直接手动修改该文件会被后续的系统操作覆盖,为了永久更改 DNS 设置,需要通过修改/etc/network/interfaces/etc/resolvconf/resolv.conf.d/basenetplan 配置文件或systemdresolved 服务来进行配置。

问题2:如何检查当前系统使用的 DNS 服务器?

答案:可以通过查看/etc/resolv.conf 文件来检查当前系统使用的 DNS 服务器,使用以下命令:

cat /etc/resolv.conf

中会包含当前配置的nameserver,即系统正在使用的 DNS 服务器地址。

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

(0)
小编的头像小编
上一篇 2024年9月24日 15:18
下一篇 2024年9月24日 15:42

相关推荐

发表回复

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