测试DNS服务器是否可用有多种方法,以下是常用的几种方式:
1.使用 nslookup 命令**(Windows/Linux/macOS通用)
测试指定DNS服务器的解析能力 nslookup example.com 8.8.8.8 或交互式测试 nslookup > server 8.8.8.8 # 设置要测试的DNS服务器 > example.com # 测试域名解析
2.使用 dig 命令**(Linux/macOS)
测试特定DNS服务器的A记录解析 dig @8.8.8.8 example.com A 测试MX记录 dig @8.8.8.8 example.com MX 测试递归解析 dig @8.8.8.8 example.com +trace
3.使用 ping 命令**(基本测试)
如果能解析出IP并ping通,说明DNS工作 ping example.com
4.Windows 专用命令
测试DNS解析 Resolve-DnsName example.com -Server 8.8.8.8 清除DNS缓存后测试 ipconfig /flushdns nslookup example.com
5.在线工具测试
DNS Checker:https://dnschecker.org
DNSPerf:https://www.dnsperf.com
Google Admin Toolbox:https://toolbox.googleapps.com/apps/dig
6.综合测试脚本**(Linux)
#!/bin/bash
DNS_SERVER="8.8.8.8"
TEST_DOMAINS=("google.com" "example.com" "github.com")
echo "测试DNS服务器: $DNS_SERVER"
echo "========================="
for domain in "${TEST_DOMAINS[@]}"; do
echo -n "测试 $domain: "
if dig @$DNS_SERVER $domain +short +time=2 +tries=1 > /dev/null 2>&1; then
echo "✓ 正常"
dig @$DNS_SERVER $domain +short
else
echo "✗ 失败"
fi
echo "---"
done7.常见问题排查步骤
1、检查DNS服务端口:
检查53端口是否开放 nc -zv 8.8.8.8 53 或 telnet 8.8.8.8 53
2、检查响应时间:
测量DNS响应时间 dig @8.8.8.8 example.com | grep "Query time"
3、对比多个DNS服务器:
同时测试多个DNS服务器
for dns in "8.8.8.8" "1.1.1.1" "114.114.114.114"; do
echo "测试 $dns:"
time dig @$dns example.com +short > /dev/null
echo "---"
done8.使用专业测试工具
dnsperf:性能测试工具
dnstracer:跟踪DNS解析路径
mtr:结合网络路由测试
快速检查清单
✅ DNS服务器能解析常见域名
✅ 响应时间在合理范围内(< 100ms)
✅ 能解析所有需要的记录类型(A, AAAA, MX, TXT等)
✅ 递归查询正常工作
✅ 没有返回错误或超时
选择适合你需求的方法进行测试即可!
文章摘自:https://idc.huochengrm.cn/dns/23451.html
评论
祭如南
回复可以通过ping命令测试DNS服务器是否能用,如ping 8.8.8.8,查看是否成功解析。