在Ubuntu操作系统中,域名系统(DNS)扮演着将人类可读的网址(如www.google.com)转换为机器可读的IP地址的关键角色,默认情况下,Ubuntu会自动使用由网络服务提供商(ISP)或路由器分配的DNS服务器,出于提升网络访问速度、增强安全性、绕过网络审查或实现家长控制等目的,用户常常需要手动更改DNS设置,本文将详细介绍在Ubuntu系统中更改DNS的几种主流方法,并提供相关建议与验证手段。

通过图形用户界面(GUI)更改DNS
对于大多数桌面用户而言,使用图形界面是最直观、最简单的方法,此方法适用于Ubuntu 18.04及之后搭载GNOME桌面环境的版本。
-
打开系统设置:点击屏幕右上角的网络图标,在弹出的菜单中选择“有线设置”或“Wi-Fi设置”,然后点击弹出的窗口底部的“设置”图标(齿轮状),或者直接在应用程序菜单中搜索并打开“设置”。
-
进入网络配置:在“设置”窗口中,选择左侧导航栏的“网络”选项。
-
配置网络连接:
- 如果您使用的是有线连接,点击“有线”旁边的齿轮图标。
- 如果您使用的是无线连接,先点击您已连接的Wi-Fi网络名称旁边的齿轮图标。
-
修改DNS设置:在弹出的连接详情窗口中,切换到“IPv4”或“IPv6”标签页(通常我们配置IPv4 DNS),在“DNS”一栏,您会看到默认的“自动”开关,将其关闭,然后在下方的输入框中填入您希望使用的DNS服务器地址,多个地址之间用逗号分隔,使用Cloudflare的DNS,可以输入
1.1.1, 1.0.0.1。 -
应用并保存:点击窗口右上角的“应用”按钮保存设置,系统可能会短暂断开并重新连接网络以使更改生效。
此方法操作简便,无需接触命令行,非常适合初学者和日常桌面使用。

通过命令行(CLI)更改DNS
对于服务器管理员或偏好使用终端的高级用户,通过命令行更改DNS更为高效和强大,在现代Ubuntu系统中(如18.04+),推荐使用systemd-resolved服务来管理DNS。
-
编辑resolved.conf文件:
使用您喜欢的文本编辑器(如nano)打开/etc/systemd/resolved.conf文件,需要管理员权限,因此使用sudo。sudo nano /etc/systemd/resolved.conf
-
配置DNS服务器:
在打开的文件中,找到[Resolve]部分,您会看到#DNS=和#FallbackDNS=等行,它们被注释掉了(以开头),取消#DNS=这一行的注释,并在其后填入您想要的DNS服务器地址,多个地址用空格分隔。[Resolve] DNS=1.1.1.1 8.8.8.8 #FallbackDNS= #Domains= #LLMNR=no #MulticastDNS=no #DNSSEC=no #DNSOverTLS=no #Cache=yes #DNSStubListener=yes #ReadEtcHosts=yes
这里我们设置了Cloudflare(
1.1.1)作为主DNS,Google(8.8.8)作为备用DNS。 -
重启systemd-resolved服务:
保存并关闭文件后,需要重启systemd-resolved服务以使配置生效。sudo systemctl restart systemd-resolved
-
验证配置:
systemd-resolved会将配置写入到/run/systemd/resolve/resolv.conf文件中,系统的/etc/resolv.conf通常是一个指向此文件的符号链接,您可以通过以下命令查看当前生效的DNS:cat /etc/resolv.conf
您应该能看到
nameserver 1.1.1.1和nameserver 8.8.8.8等条目。
常用公共DNS服务器推荐
选择一个合适的DNS服务器至关重要,以下是一些广受好评的公共DNS服务提供商:
| DNS提供商 | 主DNS服务器 | 备用DNS服务器 | 特点 |
|---|---|---|---|
| Cloudflare | 1.1.1 | 0.0.1 | 速度快,注重隐私,支持DNS over TLS |
| 8.8.8 | 8.4.4 | 稳定可靠,全球覆盖广 | |
| Quad9 | 9.9.9 | 112.112.112 | 自动阻止已知恶意网站,安全 |
| OpenDNS | 67.222.222 | 67.220.220 | 提供可选的家长控制和内容过滤 |
| 阿里DNS | 5.5.5 | 6.6.6 | 针对中国大陆用户优化,响应快 |
如何验证DNS更改是否生效
更改DNS后,验证其是否正确应用是一个好习惯,您可以使用终端中的nslookup或dig命令。
nslookup ubuntu.com
执行该命令后,输出的第一部分会显示当前正在使用的DNS服务器地址和端口,如果显示为您新设置的DNS服务器地址(如1.1.1),则说明更改已成功,您也可以访问dnsleaktest.com等网站进行更全面的在线检测。
相关问答 (FAQs)
为什么我直接编辑了 /etc/resolv.conf 文件,但重启后设置又复原了?
解答:在现代Ubuntu系统中,/etc/resolv.conf文件通常不是一个静态文件,而是一个由systemd-resolved或NetworkManager等服务管理的符号链接,当系统重启或网络服务重启时,这些服务会根据其自身的配置文件(如/etc/systemd/resolved.conf或GUI中的设置)自动覆盖/etc/resolv.conf,直接编辑它只会产生临时效果,正确的做法是通过修改服务自身的配置文件(如上文所述的resolved.conf)或通过GUI来永久更改DNS设置。
更改DNS会影响我的网络速度吗?
解答:是的,但影响主要体现在域名解析的初始阶段,一个响应更快、地理位置更近或缓存命中率更高的DNS服务器,能更快地将网址翻译成IP地址,从而让您感觉到网站加载“开始”得更快,DNS本身并不决定您下载文件或观看视频的实际带宽,那部分速度主要取决于您的网络连接和目标服务器的性能,如果选择的DNS服务器距离您很远或负载过高,反而可能导致解析变慢,从而影响初次访问的体验,选择一个信誉良好、速度快的公共DNS通常是有益的。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/251726.html