tools

nslookup 完整详解

·5 分钟阅读·1717 字
📋 目录

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
  1. Server:本机配置的上游DNS(本地/etc/resolv.conf / Windows网卡DNS)
  2. Non-authoritative answer
    缓存结果,DNS服务器之前存过这条记录,直接返回,没有去顶级域名服务器查询;
  3. 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/容器高频)

  1. 排查集群内部Service域名能否解析(验证CoreDNS是否正常)
# 在Pod内执行,查询headless服务
nslookup sts-web-0.sts-svc.default.svc.cluster.local
  1. 区分是应用故障还是DNS解析故障
    ping不通服务:先用nslookup看能不能拿到IP,拿不到就是CoreDNS/网络DNS问题;拿到IP不通才是网络/服务问题。
  2. 对比不同DNS结果,定位DNS缓存、污染问题
  3. 排查StatefulSet固定域名、Headless Service解析是否生效
  4. 测试容器内/etc/resolv.conf nameserver配置是否加载成功

6. 和 dig 的简单对比

  1. nslookup:系统自带,上手简单,输出简洁,适合快速排错;
  2. dig:信息更全面(TTL、完整报文、递归过程),需要额外安装,专业DNS深度排查用。

7. 常见报错含义

  1. NXDOMAIN:域名不存在,无解析记录;
  2. connection timed out:连不上DNS服务器(53端口不通、CoreDNS挂了、网络拦截);
  3. Server can't find xxx: SERVFAIL:DNS服务器查询上游失败。