在 Ubuntu 中查看 DNS 服务器信息有几种常用方法,具体取决于你的网络管理工具(如 systemd-resolved、NetworkManager 或 netplan)。

以下是几种最有效的方式:
方法一:查看/etc/resolv.conf(传统方式,最直接)
这个文件通常是指向系统实际 DNS 解析器的符号链接。
cat /etc/resolv.conf
输出示例:
This is /run/systemd/resolve/stub-resolver.conf nameserver 127.0.0.53 options edns0 trust-ad
*注意:如果显示127.0.0.53,说明系统使用了systemd-resolved,你需要用方法二查看真实 DNS。

方法二:使用resolvectl(推荐,适用于 systemd-resolved)
这是目前 Ubuntu(18.04+)最常用的命令,能显示全局和每个网络接口的 DNS 服务器。
resolvectl status
输出示例:
Global
protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
resolv.conf mode: stub
Link 2 (eth0)
Current Scopes: DNS
Protocols: +DefaultRoute +LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported
Current DNS Server: 8.8.8.8 # ← 这是你真正的 DNS
DNS Servers: 8.8.8.8 1.1.1.1- 如果想只看某个接口(例如eth0 或wlp2s0)的 DNS:
resolvectl dns eth0
方法三:使用 NetworkManager 工具(适用于桌面版或使用 NetworkManager 的服务器)

查看当前连接的 DNS:
nmcli dev show | grep DNS
输出:
IP4.DNS[1]: 8.8.8.8 IP4.DNS[2]: 1.1.1.1
或者更详细的连接信息:
nmcli con show <连接名> | grep dns
方法四:通过dig 或nslookup 测试(验证当前生效的 DNS)
虽然不直接列出 DNS 服务器,但可以查看系统实际向谁发起了查询。
- 安装工具(如果未安装):
sudo apt install dnsutils
- 查询并查看SERVER 字段:
dig baidu.com | grep SERVER
输出:
;; SERVER: 127.0.0.53#53(127.0.0.53) (UDP)
如果显示127.0.0.53,说明走的是本地 stub resolver,实际 DNS 需参考resolvectl。
方法五:直接查看 systemd-resolved 的配置(高级)
systemd-resolve --status
(注:较新版本中systemd-resolve 已替换为resolvectl,但此命令通常仍可用。)
快速查看 →cat /etc/resolv.conf
最准确(推荐) →resolvectl status
桌面环境或 NetworkManager 管理 →nmcli dev show | grep DNS
如果你发现 DNS 被修改或无法解析,建议优先使用resolvectl 定位问题。
文章摘自:https://idc.huochengrm.cn/dns/27748.html
评论
戢洁玉
回复Ubuntu查看DNS服务的方法是打开终端,输入命令`cat /etc/resolv.conf`,即可查看当前系统配置的DNS服务器地址。