如何在Ubuntu系统中配置DNS服务器?

Ubuntu 中,可以通过编辑 /etc/resolv.conf 文件或使用 NetworkManager 来配置 DNS。

Ubuntu配置DNS

一、前言

ubuntu配置dns

在Ubuntu系统中,域名系统(DNS)的配置对于网络连接和域名解析至关重要,正确配置DNS可以确保系统能够快速解析域名,提高网络访问速度和稳定性,本文将详细介绍如何在Ubuntu系统中配置DNS,包括临时修改和永久修改的方法,并提供相关示例和注意事项。

二、临时修改DNS

临时修改DNS的方法相对简单,但重启后会失效,适用于临时需要更改DNS服务器的情况。

1. 修改/etc/resolv.conf文件

/etc/resolv.conf文件是系统用来配置DNS的主要文件之一,可以通过直接编辑该文件来临时更改DNS服务器。

步骤如下:

打开终端:按下Ctrl + Alt + T组合键。

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

ubuntu配置dns

   sudo nano /etc/resolv.conf

添加或修改DNS服务器地址:在文件中添加或修改nameserver字段,指定所需的DNS服务器地址,使用Google的公共DNS服务器:

     nameserver 8.8.8.8
     nameserver 8.8.4.4

保存并退出:按Ctrl + O保存更改,然后按Ctrl + X退出编辑器。

>这种方法的优点是操作简单,即时生效,但缺点是重启后会失效。

三、永久修改DNS

永久修改DNS的方法涉及多个配置文件,具体方法取决于使用的网络管理工具。

1. 修改/etc/netplan/目录下的.yaml文件

如果使用Netplan进行网络配置,可以通过编辑相应的.yaml文件来永久更改DNS服务器。

步骤如下:

ubuntu配置dns

找到Netplan配置文件:通常位于/etc/netplan/目录下,文件名可能为01networkmanagerall.yaml或其他类似名称,使用ls命令查看:

   ls /etc/netplan/

编辑配置文件:使用文本编辑器(如nano或vi)打开该文件。

   sudo nano /etc/netplan/01networkmanagerall.yaml

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

     network:
       version: 2
       renderer: networkd
       ethernets:
         enp0s3:
          dhcp4: no
          addresses:
            192.168.3.50/24
          routes:
            to: default
              via: 192.168.3.1
          nameservers:
            addresses: [223.6.6.6, 8.8.8.8]

保存并退出:按Ctrl + O保存更改,然后按Ctrl + X退出编辑器。

应用新的网络配置:运行以下命令以应用新的配置:

   sudo netplan apply

验证配置:使用以下命令检查IP地址和DNS服务器设置是否正确:

   ip a
   systemdresolve status

2. 修改/etc/systemd/resolved.conf文件

如果使用systemdresolved作为DNS解析器,可以通过编辑/etc/systemd/resolved.conf文件来永久更改DNS服务器。

步骤如下:

备份原文件:建议先备份原文件,以防出现问题时可以恢复。

   sudo cp /etc/systemd/resolved.conf /etc/systemd/resolved.conf.bak

编辑文件:使用文本编辑器(如nano或vi)打开该文件。

   sudo nano /etc/systemd/resolved.conf

添加或修改DNS服务器地址:在[Resolve]部分添加或修改DNSFallbackDNS字段,指定所需的DNS服务器地址。

     [Resolve]
     DNS=8.8.8.8 114.114.115.115
     FallbackDNS=8.8.4.4

保存并退出:按Ctrl + O保存更改,然后按Ctrl + X退出编辑器。

重启systemdresolved服务:运行以下命令以重启service:

   sudo systemctl restart systemdresolved

设置开机启动:确保systemdresolved服务在开机时自动启动。

   sudo systemctl enable systemdresolved

备份托管文件:将/etc/resolv.conf文件移动为备份,并创建符号链接到systemdresolved的resolv.conf文件。

   mv /etc/resolv.conf /etc/resolv.conf.bak
   ln s /run/systemd/resolve/resolv.conf /etc/resolv.conf

3. 修改/etc/NetworkManager/NetworkManager.conf文件

如果使用NetworkManager进行网络配置,可以通过编辑/etc/NetworkManager/NetworkManager.conf文件来永久更改DNS服务器。

步骤如下:

编辑文件:使用文本编辑器(如nano或vi)打开该文件。

   sudo nano /etc/NetworkManager/NetworkManager.conf

注释掉dns=dnsmasq行:找到[main]部分,将dns=dnsmasq行注释掉。

     [main]
     plugins=ifupdown,keyfile, dnsmasq
     #dns=dnsmasq

保存并退出:按Ctrl + O保存更改,然后按Ctrl + X退出编辑器。

编辑或创建dns配置文件:在/etc/NetworkManager/conf.d/目录下创建或编辑一个dns文件,如/etc/NetworkManager/conf.d/dns.conf,添加以下内容:

     [main]
     dns=none
     [globaldnsdomain]
     server=8.8.8.8,114.114.114.114

重启NetworkManager服务:运行以下命令以重启service:

   sudo systemctl restart NetworkManager

四、常见问题与解答

1. 如何更改Ubuntu的DNS服务器?

更改Ubuntu的DNS服务器可以通过临时修改或永久修改来实现,临时修改可以直接编辑/etc/resolv.conf文件,而永久修改则需要根据使用的网络管理工具(如Netplan、systemdresolved或NetworkManager)来编辑相应的配置文件,具体步骤如上所述。

2. 为什么我修改了/etc/resolv.conf文件后重启计算机DNS设置又恢复了?

这是因为在Ubuntu中,/etc/resolv.conf文件是由resolvconf程序动态生成的,手动修改该文件会在重启后被覆盖,要永久更改DNS设置,需要根据使用的网络管理工具来编辑相应的配置文件,如Netplan的.yaml文件、systemdresolved的resolved.conf文件或NetworkManager的NetworkManager.conf文件及dns配置文件,完成这些步骤后,即使重启计算机,DNS设置也会保持不变。

通过以上详细的步骤和说明,相信读者已经掌握了在Ubuntu系统中配置DNS的方法,无论是临时修改还是永久修改,都可以根据实际需求选择合适的方法进行操作,了解常见问题的解答也有助于在遇到问题时能够迅速解决。

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

Like (0)
小编的头像小编
Previous 2024年11月25日 04:54
Next 2024年11月25日 05:18

相关推荐

发表回复

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