验证 DNS 功能通常包含两个层面:一是检查 DNS 解析能否正常工作(域名是否能转换为 IP),二是判断 DNS 解析结果的准确性和速度,下面列举几种最实用的验证方法,适用于 Windows、macOS 和 Linux。
方法一:使用nslookup(最通用、直观)
nslookup 是几乎所有操作系统都内置的 DNS 查询工具。
基本验证:
1、打开命令提示符(Windows:cmd, macOS/Linux:终端)。
2、输入以下命令并回车:
nslookup www.baidu.com
3、观察结果:
- 如果能看到Address: 183.232.231.172 这样的 IP 地址,说明 DNS 基本功能正常。
- 如果显示*** server can't find www.baidu.com: NXDOMAIN,说明域名不存在或 DNS 服务器有问题。
- 如果显示DNS request timed out,说明请求超时,网络可能不通或 DNS 服务器没响应。
指定 DNS 服务器验证:
如果你想测试某个特定的 DNS 服务器(比如刚配置的),可以使用:
nslookup www.baidu.com 8.8.8.8
这会强制使用 Google 的公共 DNS 来解析,用于对比你的本地 DNS 是否有问题。
方法二:使用ping(快速检查域名连通性)
ping 可以验证域名是否能被解析成 IP,并且能测试到服务器的网络延迟。
操作:
ping www.baidu.com
观察结果:
- 如果显示正在 Ping www.a.shifen.com [183.232.231.174] 这种带 IP 的信息,并且有响应,说明 DNS 解析成功,网络也通。
- 如果显示ping 找不到主机 www.baidu.com,说明 DNS 解析失败(也可能是域名本身不存在)。
>注意:有些网站(如 google.com)禁止 ping 响应,这时即使 DNS 正常也会显示超时,所以这个方法更适用于判断“能否上网”,而非精确验证 DNS。
方法三:使用dig(最专业,Linux/macOS 首选)
dig 是 Linux 和 macOS 上最强大的 DNS 诊断工具,能提供详细的解析过程和权威信息。
基本验证:
dig www.baidu.com
关键信息解读:
QUESTION SECTION:你查询的域名。
ANSWER SECTION:最终的解析结果(IP 地址),如果有这一行说明解析成功。
SERVER: 显示提供解析的 DNS 服务器的 IP 和端口(如127.0.0.53#53)。
Query time: 解析耗时,可以判断 DNS 服务器的性能。
查询不同记录类型:
查询邮件交换记录 dig gmail.com MX 查询权威域名服务器 dig baidu.com NS
如果你怀疑是自己设置的 DNS 服务器(114.114.114.114)坏了,可以直接向它发起查询:
Windows:
nslookup - 114.114.114.114
然后输入www.baidu.com 并回车。
Linux/macOS:
dig @114.114.114.114 www.baidu.com
或者
nslookup www.baidu.com 114.114.114.114
如果能得到正确结果,说明该 DNS 服务器可用;如果超时或返回错误,说明它本身有问题或网络不通。
方法五:验证本地 DNS 缓存(解决“改完 DNS 没生效”问题)
有时你改了 DNS 设置,但电脑还在用旧的缓存,你需要先清空缓存再验证。
Windows:
ipconfig /flushdns
macOS:
sudo dscacheutil -flushcache sudo killall -HUP mDNSResponder
Linux:
取决于使用的服务,常用方法是 systemd-resolve --flush-caches 或重启服务 sudo systemctl restart systemd-resolved
清空后,重复nslookup www.baidu.com 来验证新 DNS 是否生效。
方法六:验证 DNS 是否被劫持/污染(高级)
如果你怀疑网络环境对 DNS 做了篡改(比如某些运营商劫持),可以用dig 对比不同 DNS 的结果:
使用你自己的DNS dig www.example.com 使用公共DNS dig @8.8.8.8 www.example.com
- 如果两个结果返回的 IP 地址不同,尤其是你的 DNS 返回了你不想去的 IP(如广告页面),说明 DNS 可能被劫持。
- 如果某个域名在你的 DNS 下解析失败,但在 8.8.8.8 下成功,说明你的 DNS 可能对该域名做了过滤或污染。
| 场景 | 推荐命令 | 判断标准 |
| 快速检查DNS是否工作 | ping www.baidu.com | 出现IP地址且能ping通 |
| 详细诊断解析过程 | nslookup www.baidu.com | 有Address返回即可 |
| 测速+对比不同DNS | dig @8.8.8.8 www.baidu.com | 看Query time,对比结果 |
| 检查特定记录类型 | dig baidu.com MX | 看ANSWER SECTION是否返回 |
| 验证服务器连通性 | nslookup www.baidu.com 114.114.114.114 | 能否得到IP |
最简单的验证就是: 在浏览器里输入www.baidu.com 能打开,基本说明 DNS 是好的,如果打不开但 IP 能 ping 通,那问题往往出在网页本身或网络连通性上,而非 DNS。
文章摘自:https://idc.huochengrm.cn/dns/25536.html
评论
辜从筠
回复验证DNS功能是否正常,可以通过检查DNS解析速度、测试域名解析是否成功、查看DNS记录是否正确、以及模拟网络故障来测试DNS的稳定性和可靠性。