
DNS 域名系统是互联网世界不可或缺的基石。无论你是收发邮件、浏览网页,还是刷抖音、B 站这样的流媒体服务,背后都离不开 DNS 的默默支持。它护着一个庞大的数据库,记录了海量域名和对应的公网 IP 地址。
每当用户访问一个网站时,DNS 服务器就会负责把域名「翻译」成机器能够识别的 IP 地址。正是有了 DNS,我们才不用「费脑壳」去记忆那些复杂难记的网站 IP 地址。
本文我们不展开探讨 DNS 的工作原理,而是聚焦在一个非常实际的问题上:如何在 Linux 系统中,查看当前正在使用的 DNS 服务器 IP 地址。
在 Linux 中查看 DNS 服务器 IP 地址
查看 DNS 服务器 IP 的方法因操作系统而异,但对于 Linux、BSD 以及其他类 Unix 系统来说,方法都大同小异。下面我们就来介绍 4 种常用的方法。
01. 使用 dig 命令(通用方法)
dig 命令是 Linux 系统中广泛内置的一个 DNS 查询工具。我们只要用它随便查询一个域名,就能从返回结果中,轻松找到当前使用的 DNS 服务器 IP 地址和端口。
1在「终端」中执行以下命令:
dig www.sysgeek.cn
2查看输出结果中的SERVER
这一行,这里显示的就是你正在使用的 DNS 服务器信息。

02. 查看 resolv.conf 文件
/etc/resolv.conf
文件是许多 Linux 系统进行域名解析时的「第一站」,可以说是系统里的「DNS 地址簿」。它明确告诉系统:当需要把demo.com
这样的域名转成 IP 时,该去问哪台服务器。
1使用cat
命令查看文件内容:
cat /etc/resolv.conf
2在这个文件中,每个以nameserver
开头的,就表示一台 DNS 服务器,后面跟的就是 DNS IP 地址。

该文件可能是动态生成的,特别是当你使用 DHCP 或 NetworkManager 时。有些系统会将它链接到systemd-resolved
的 stub 文件(如 /run/systemd/resolve/stub-resolv.conf
),所以你看到的可能不是「真实」的上游 DNS。
03. 使用 systemd 的系统
许多现代 Linux 发行版,比如 Ubuntu、Fedora 和 Debian,都使用了 systemd 来管理系统服务,它也接管了包括 DNS 在内的网络配置。这类系统通常会由systemd-resolved
服务来负责解析 DNS。
1使用resolvectl
命令配合 grep 工具,快速提取 DNS 服务器 IP:
resolvectl status | grep "DNS Server"
2这条命令的作用是:
resolvectl status
:显示当前网络连接的详细信息,包括活跃的 DNS 服务器。grep "DNS Server"
:过滤输出,只保留包含 DNS IP 的行。

你也可以直接运行resolvectl
不带参数,查看更完整的 DNS 和网络状态摘要。
04. 使用 NetworkManager 的系统
大多数现代 Linux 桌面发行版都使用 NetworkManager 来管理网络连接。在这种环境下,你可以通过nmcli
命令行工具,来轻松获取 DNS 配置。
1在「终端」中执行以下命令:
nmcli dev show | grep 'IP4.DNS'
2在输出结果中,IP4.DNS[1]
表示第一个 IPv4 DNS 服务器。如果你配置了备用 DNS,可能还会有IP4.DNS[2]
,甚至更多。

nmcli
是 NetworkManager 的核心命令工具,功能十分强大。它不仅能查 DNS,还能管理 Wi-Fi、切换连接、查看信号强度等,非常值得深入学习。
以上 4 种方法,基本覆盖了在主流 Linux 中查看 DNS 服务器 IP 地址的方式。你可以根据自己的发行版和使用习惯,选择最合适的一种。
最新评论
没看到 macos15 选项
十分感谢 一次成功
实在感谢,这下顺心多了。
非常感谢!