DNS(Domain Name System)是诸如邮件服务器、互联网浏览和流媒体服务(例如 Netflix 和 Spotify)等众多网络技术的基础支撑。

DNS 工作在一台称为 DNS 服务器的特殊计算机上,该服务器会保存多个公共 IP 地址及其对应主机名的数据库记录,以便在用户请求时解析或将主机名转换为 IP 地址。

有了 DNS,我们就不用费心记住访问过的不同网站的 IP 地址了。

虽然我们可以讨论 DNS 服务器的一些内容,例如重定向和恶意软件攻击预防,但今天的重点是如何找到自己的 DNS 服务器 IP 地址。

根据所运行的操作系统,有多种方法可以查找 IP 地址。Linux、BSD 和类 Unix 系统都使用相同的方法,因此,我们就从这些系统开始吧。

1] 使用 /etc/resolv.conf 文件

/etc/resolv.conf 文件就像操作系统的一本小型地址簿,它会告诉系统在需要将网站名称(例如 google.com)转换为 IP 地址时使用哪些 DNS 服务器。

要查看此文件,可以使用 cat 命令,它会将全部内容在终端上显示出来:

# cat /etc/resolv.conf

如果想更为舒适地滚动浏览该文件,则可以使用 less 命令:

# less /etc/resolv.conf

根据文件内容,通常会看到如下几行:

nameserver 121.83.238.17
nameserver 58.191.153.13

文件中每行为一条记录,具体含义如下:

  • nameserver – 此关键字表示该行定义了一个 DNS 服务器
  • 121.83.238.17 – 这是计算机在查找网站名称时将查询的 DNS 服务器的 IP 地址

因此,每当计算机想要打开一个网站时,它都会向这个 DNS 服务器询问:”嘿,example.com 的 IP 是多少?” 然后,服务器会返回正确的 IP 地址,以便系统能够连接正确的 IP 地址。

所以,我们可以将 /etc/resolv.conf 视为计算机尝试确定网站位置时的第一站。通过检查此文件,就可以准确地了解自己的系统正在使用哪个 DNS 服务器。

2] 对于使用 systemd 的系统

许多现代 Linux 发行版(例如 Ubuntu、Fedora 和 Debian)都使用 systemd 来管理系统服务,而 systemd 处理的任务之一就是网络配置,包括 DNS。

如果当前的系统使用了 systemd,由于 systemd 会动态管理 DNS,传统的 /etc/resolv.conf 文件可能无法始终显示完整或正确的 DNS 信息。在这种情况下,就可以使用 resolvectl 命令和 grep 来可靠地检查当前使用的 DNS 服务器。

# resolvectl status | grep "DNS"

该命令的作用:

  • resolvectl status 显示有关网络连接的详细信息,包括正在使用的 DNS 服务器
  • grep “DNS” 会过滤输出,只显示 DNS IP 地址的行

示例输出:

DNS Servers: 192.168.0.1 8.8.8.8

这里,第一个地址(192.168.0.1)通常是主机的本地路由器或网关,而第二个地址(8.8.8.8)可能是像 Google DNS 这样的公共 DNS 服务器。

3] 使用 Network Manager

如果所使用的 Linux 系统使用了 Network Manager(大多数现代桌面发行版都使用),我们就可以使用 nmcli 命令轻松找到 DNS 服务器 IP,该命令会显示所有网络连接的详细信息。

# nmcli dev show | grep 'IP4.DNS'

示例输出如下:

IP4.DNS[1]: 192.168.0.1

输出内容意义如下:

  • IP4.DNS[1] 表示这是系统正在使用的第一个 IPv4 DNS 服务器。如果系统配置了多个 DNS 服务器,它可能显示为 IP4.DNS[2]
  • 192.168.0.1 是 DNS 服务器的 IP 地址,计算机将通过该地址将域名解析为 IP 地址

4] 如何查看 web 网站的 IP 地址

要查找 web 网站对应的 DNS 记录的 IP 地址,可以使用 dig 命令,该命令用于查询 DNS 信息。

例如想查看本网站的 DNS 记录信息,则可以使用如下命令:
输出将为您提供您网站的权威名称服务器(即负责您域名的 DNS 服务器)的 IP 地址列表。
示例输出如下:;

<<>> DiG 9.16.50-Debian <<>> rultr.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 51459
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;rultr.com.			IN	A

;; ANSWER SECTION:
rultr.com.		1799	IN	A	162.255.119.254

;; Query time: 16 msec
;; SERVER: 205.185.112.68#53(205.185.112.68)
;; WHEN: Sun Sep 07 19:09:09 PDT 2025
;; MSG SIZE  rcvd: 54

该命令会输出网站的权威 DNS 服务器(即负责网站域名的 DNS 服务器)给出的的 IP 地址信息:

;; ANSWER SECTION:
rultr.com.		1799	IN	A	162.255.119.254

需要注意的是,我们收到的 IP 地址可能会因网站托管服务提供商或域名注册商而异。如果网站使用第三方 DNS 服务(例如 Cloudflare 或 Google Cloud DNS),则 IP 地址将特定于这些服务。

以上就是关于查看 DNS 信息的主要内容,是不是很简单呢。

发表回复

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