nslookup 完整详解
核心概念 nslookup 是系统自带 DNS 域名解析查询工具,支持交互式和单次两种工作模式。
1. 基础定义
nslookup = Name Server Lookup,域名解析查询工具,Windows、Linux、macOS 系统自带,专门用来向 DNS 服务器发起查询:
把域名 → 解析出对应IP;也可以反向用IP查域名,排查 DNS 解析故障。
2. 两大工作模式
2.1. 交互式模式
直接输入 nslookup 回车,进入交互终端,可以连续查多个域名,输入 exit 退出。
nslookup
> baidu.com
> www.qq.com
> exit
2.2. 非交互式(日常最常用)
一行命令直接查询,用完直接退出
nslookup baidu.com
3. 输出字段解读(Linux示例)
Server: 114.114.114.114 # 当前使用的DNS服务器地址
Address: 114.114.114.114#53 # DNS端口53
Non-authoritative answer: # 非权威应答:DNS缓存返回,不是域名原始服务器
Name: baidu.com
Addresses: 39.156.66.10, 180.101.49.11
Server:本机配置的上游DNS(本地/etc/resolv.conf / Windows网卡DNS)Non-authoritative answer
缓存结果,DNS服务器之前存过这条记录,直接返回,没有去顶级域名服务器查询;Authoritative answer
权威应答,直接从该域名官方DNS服务器拿到原始记录,无缓存。
4. 常用查询参数
4.1. 查询A记录(域名→IPv4,默认)
nslookup www.baidu.com
4.2. 查询AAAA记录(域名→IPv6)
nslookup -type=aaaa baidu.com
4.3. 查询CNAME 别名记录
nslookup -type=cname shturl.cc/K
4.4. 查询MX邮件交换记录(邮箱域名)
nslookup -type=mx qq.com
4.5. 查询NS域名服务器记录
nslookup -type=ns baidu.com
4.6. 指定DNS服务器查询(排查是否本地DNS污染)
强制使用8.8.8.8谷歌DNS解析,对比本地DNS结果
nslookup baidu.com 8.8.8.8
4.7. 反向解析(IP查域名)
nslookup 39.156.66.10
5. 运维常见使用场景(K8s/容器高频)
- 排查集群内部Service域名能否解析(验证CoreDNS是否正常)
# 在Pod内执行,查询headless服务
nslookup sts-web-0.sts-svc.default.svc.cluster.local
- 区分是应用故障还是DNS解析故障
ping不通服务:先用nslookup看能不能拿到IP,拿不到就是CoreDNS/网络DNS问题;拿到IP不通才是网络/服务问题。 - 对比不同DNS结果,定位DNS缓存、污染问题
- 排查StatefulSet固定域名、Headless Service解析是否生效
- 测试容器内/etc/resolv.conf nameserver配置是否加载成功
6. 和 dig 的简单对比
- nslookup:系统自带,上手简单,输出简洁,适合快速排错;
- dig:信息更全面(TTL、完整报文、递归过程),需要额外安装,专业DNS深度排查用。
7. 常见报错含义
NXDOMAIN:域名不存在,无解析记录;connection timed out:连不上DNS服务器(53端口不通、CoreDNS挂了、网络拦截);Server can't find xxx: SERVFAIL:DNS服务器查询上游失败。