Ubuntu如何永久修改DNS设置才有效?

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

Ubuntu如何永久修改DNS设置才有效?

通过图形用户界面(GUI)更改DNS

对于大多数桌面用户而言,使用图形界面是最直观、最简单的方法,此方法适用于Ubuntu 18.04及之后搭载GNOME桌面环境的版本。

  1. 打开系统设置:点击屏幕右上角的网络图标,在弹出的菜单中选择“有线设置”或“Wi-Fi设置”,然后点击弹出的窗口底部的“设置”图标(齿轮状),或者直接在应用程序菜单中搜索并打开“设置”。

  2. 进入网络配置:在“设置”窗口中,选择左侧导航栏的“网络”选项。

  3. 配置网络连接

    • 如果您使用的是有线连接,点击“有线”旁边的齿轮图标。
    • 如果您使用的是无线连接,先点击您已连接的Wi-Fi网络名称旁边的齿轮图标。
  4. 修改DNS设置:在弹出的连接详情窗口中,切换到“IPv4”或“IPv6”标签页(通常我们配置IPv4 DNS),在“DNS”一栏,您会看到默认的“自动”开关,将其关闭,然后在下方的输入框中填入您希望使用的DNS服务器地址,多个地址之间用逗号分隔,使用Cloudflare的DNS,可以输入 1.1.1, 1.0.0.1

  5. 应用并保存:点击窗口右上角的“应用”按钮保存设置,系统可能会短暂断开并重新连接网络以使更改生效。

此方法操作简便,无需接触命令行,非常适合初学者和日常桌面使用。

Ubuntu如何永久修改DNS设置才有效?

通过命令行(CLI)更改DNS

对于服务器管理员或偏好使用终端的高级用户,通过命令行更改DNS更为高效和强大,在现代Ubuntu系统中(如18.04+),推荐使用systemd-resolved服务来管理DNS。

  1. 编辑resolved.conf文件
    使用您喜欢的文本编辑器(如nano)打开/etc/systemd/resolved.conf文件,需要管理员权限,因此使用sudo

    sudo nano /etc/systemd/resolved.conf
  2. 配置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。

  3. 重启systemd-resolved服务
    保存并关闭文件后,需要重启systemd-resolved服务以使配置生效。

    sudo systemctl restart systemd-resolved
  4. 验证配置
    systemd-resolved会将配置写入到/run/systemd/resolve/resolv.conf文件中,系统的/etc/resolv.conf通常是一个指向此文件的符号链接,您可以通过以下命令查看当前生效的DNS:

    cat /etc/resolv.conf

    您应该能看到nameserver 1.1.1.1nameserver 8.8.8.8等条目。

    Ubuntu如何永久修改DNS设置才有效?

常用公共DNS服务器推荐

选择一个合适的DNS服务器至关重要,以下是一些广受好评的公共DNS服务提供商:

DNS提供商 主DNS服务器 备用DNS服务器 特点
Cloudflare 1.1.1 0.0.1 速度快,注重隐私,支持DNS over TLS
Google 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后,验证其是否正确应用是一个好习惯,您可以使用终端中的nslookupdig命令。

nslookup ubuntu.com

执行该命令后,输出的第一部分会显示当前正在使用的DNS服务器地址和端口,如果显示为您新设置的DNS服务器地址(如1.1.1),则说明更改已成功,您也可以访问dnsleaktest.com等网站进行更全面的在线检测。


相关问答 (FAQs)

为什么我直接编辑了 /etc/resolv.conf 文件,但重启后设置又复原了?
解答:在现代Ubuntu系统中,/etc/resolv.conf文件通常不是一个静态文件,而是一个由systemd-resolvedNetworkManager等服务管理的符号链接,当系统重启或网络服务重启时,这些服务会根据其自身的配置文件(如/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

Like (0)
小编小编
Previous 2025年10月5日 09:01
Next 2025年10月5日 09:28

相关推荐

发表回复

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