通过图形界面(GUI)修改DNS
对于大多数桌面版用户而言,使用图形界面是最直观、最简单的方法,此方法适用于Ubuntu 18.04及以上版本,这些版本通常使用GNOME桌面环境和NetworkManager进行网络管理。

操作步骤如下:
- 打开系统设置:点击屏幕右上角的网络图标,然后选择“有线设置”或“Wi-Fi设置”,或者直接在应用程序菜单中找到并打开“设置”。
- 进入网络配置:在设置窗口中,选择左侧的“网络”选项卡。
- 选择网络连接:在右侧面板中,找到您当前正在使用的网络连接(有线连接或特定的Wi-Fi网络),点击其右侧的齿轮图标,进入该连接的详细配置页面。
- 配置DNS:切换到“IPv4”或“IPv6”选项卡(根据您的网络环境选择,通常IPv4更常用),默认情况下,DNS设置方式为“自动”,将其更改为“手动”。
- 输入DNS地址:在“DNS”服务器字段中,输入您希望使用的DNS服务器地址,可以输入一个或多个地址,用逗号或空格分隔,您可以输入Cloudflare的
1.1.1, 1.0.0.1。 - 应用设置:点击右上角的“应用”按钮保存更改,系统可能会自动断开并重连网络以使新设置生效。
通过命令行(CLI)修改DNS
对于服务器管理员或偏好使用终端的用户,通过命令行修改DNS更为高效和强大,现代Ubuntu版本(18.04+)普遍使用Netplan作为网络配置工具,它通过读取YAML格式的配置文件来管理网络接口。
操作步骤如下:
-
定位Netplan配置文件:Netplan的配置文件存放在
/etc/netplan/目录下,文件名可能因版本而异,通常以.yaml您可以使用以下命令查看:ls /etc/netplan/
常见的文件名可能是
01-netcfg.yaml或50-cloud-init.yaml。 -
编辑配置文件:使用
nano或vim等文本编辑器打开该文件,请记得使用sudo以获取管理员权限。
sudo nano /etc/netplan/01-netcfg.yaml
-
添加DNS配置:在配置文件中,找到对应的网络接口(如
eth0或ens33),并在其dhcp4或static配置下添加nameservers部分,YAML文件对缩进非常敏感,请务必保持正确的缩进格式。修改前示例(使用DHCP):
network: version: 2 renderer: networkd ethernets: ens33: dhcp4: true修改后示例(添加自定义DNS):
network: version: 2 renderer: networkd ethernets: ens33: dhcp4: true nameservers: addresses: [1.1.1.1, 8.8.8.8]在
addresses数组中,您可以填入多个DNS服务器地址。 -
应用配置:保存并关闭文件后,运行以下命令使新的网络配置生效:
sudo netplan apply
如果配置文件有语法错误,该命令会提示您。

常用公共DNS服务器推荐
选择合适的DNS服务器是优化网络体验的关键,以下是一些广受好评的公共DNS服务:
| DNS服务商 | 主DNS | 备用DNS | 特点 |
|---|---|---|---|
| Cloudflare | 1.1.1 | 0.0.1 | 速度快,注重隐私保护 |
| 8.8.8 | 8.4.4 | 稳定可靠,全球覆盖广 | |
| Quad9 | 9.9.9 | 112.112.112 | 自动拦截恶意网站,安全性高 |
| 阿里DNS | 5.5.5 | 6.6.6 | 针对中国大陆用户优化,响应快 |
验证DNS设置是否生效
完成修改后,您可以使用nslookup或dig命令来验证DNS设置是否已成功应用,打开终端,输入以下命令:
nslookup ubuntu.com
在命令的输出结果中,查看“Server:”字段显示的地址是否为您刚刚设置的新DNS服务器地址,如果一致,则说明修改成功。
相关问答 (FAQs)
问题1:我直接修改了 /etc/resolv.conf 文件,但重启后设置又恢复了,为什么?
解答:在现代Ubuntu系统中,/etc/resolv.conf文件通常是由systemd-resolved服务动态生成的,直接手动编辑该文件只会临时生效,一旦系统重启或网络服务重启,该服务就会根据其自身的配置(来源于Netplan或NetworkManager)覆盖您的修改,正确的做法是通过上文介绍的图形界面或修改Netplan配置文件的方式进行持久化设置。
问题2:使用公共DNS(如Cloudflare)和我的网络运营商(ISP)提供的DNS有什么区别? 解答:主要区别在于性能、安全性和隐私,运营商DNS通常在地理位置上更近,理论上延迟较低,但有时可能存在DNS劫持(将错误的域名解析到广告页面)、解析缓存更新不及时或响应速度慢的问题,而公共DNS服务通常由大型科技公司维护,基础设施更强大,响应速度快,解析结果更准确,并且很多(如Cloudflare和Quad9)非常注重用户隐私,不会记录用户的浏览历史,还提供额外的安全功能,如恶意域名过滤。