DNS记录怎么查?A、MX、TXT、CNAME查询与异常排查
简答:DNS记录怎么查?最快方法是先确定完整域名或主机名,再按目的查询对应记录:网站地址查 A/AAAA,别名查 CNAME,邮箱查 MX,域名验证查 TXT,权威服务器查 NS。Windows 用 nslookup,macOS/Linux 用 dig 或 host;修改后仍显示旧值时,要对比不同解析器并检查 TTL、查询名称和实际托管 DNS 的服务商。
定义:DNS记录是域名系统中描述主机地址、别名、邮件服务器、权威名称服务器或验证文本等信息的资源记录。
先试这一步:一分钟查出常见 DNS 记录
先准备准确的查询名称。根域名、www 子域名和验证主机名不是同一个对象,例如网站可能要查 example.com 或 www.example.com,邮件验证则可能要查 _dmarc.example.com。
- 网站打不开或想确认解析到哪个地址:查
A和AAAA。 - 想确认域名别名指向哪里:查
CNAME。 - 想确认邮件由哪些服务器接收:查
MX。 - 想核对域名验证、SPF、DKIM 或 DMARC:查对应主机名的
TXT。 - 想确认域名使用哪些权威 DNS:查
NS,必要时再查SOA。
DNS 响应中的 TTL 表示记录在解析器缓存中可以保留的时间间隔;它不是网站服务可用时间,也不能单独证明网站或邮箱一定正常。RFC 1035 对资源记录、TTL 和常见记录格式作了基础定义。
| 你想确认什么 | 优先查询的记录 | 查询对象示例 | 成功标准 |
|---|---|---|---|
| 网站 IPv4 地址 | A | example.com 或 www.example.com | 返回预期 IPv4 地址 |
| 网站 IPv6 地址 | AAAA | example.com | 返回预期 IPv6 地址,或确认确实没有 IPv6 |
| 域名别名 | CNAME | www.example.com | 返回目标主机名 |
| 邮件接收服务器 | MX | example.com | 返回邮件服务器及优先级 |
| 域名验证或发信策略 | TXT | example.com、_dmarc.example.com | 返回与平台要求完全一致的文本 |
| 权威 DNS 服务器 | NS | example.com | 返回当前委派的名称服务器 |
在线查询:适合快速看结果和比较解析器
不想输入命令时,可以使用浏览器查询页面。Google Public DNS 文档说明,进入其 DNS 结果页面后输入域名、IP 或指定资源记录类型,即可查看详细响应;这种方式适合先确认记录是否存在,再决定是否用命令行深入排查。Google Public DNS 故障排查文档
- 输入完整域名或主机名,不要把网页地址中的
https://、路径和参数一起输入。 - 选择或指定记录类型,例如
A、AAAA、MX、TXT或NS。 - 记录查询名称、返回值、状态以及 TTL;如果页面显示响应服务器,也一并记录。
- 用不同递归解析器重复查询。结果不同不一定代表某一方错误,可能是缓存时间、查询地点、委派或记录刚修改造成的差异。
在线查询只能说明某个解析器在当前时刻看到了什么。它不能直接证明网站端口、证书、邮件登录或应用服务已经可用;这些还需要分别做连接测试。
Windows 查询 DNS:用 nslookup 指定记录类型
Windows 10、Windows 11 和受支持的 Windows Server 版本都提供 nslookup。Microsoft 文档说明,非交互模式下可以把查询名称和指定 DNS 服务器写在同一条命令中;省略服务器时,工具会使用系统配置的默认 DNS 服务器。Microsoft Learn:nslookup
- 打开命令提示符或 PowerShell。
- 查询网站 IPv4:
nslookup -type=A example.com。 - 查询 IPv6:
nslookup -type=AAAA example.com。 - 查询邮箱:
nslookup -type=MX example.com。 - 查询文本验证:
nslookup -type=TXT example.com。 - 查询指定解析器:
nslookup -type=A example.com 8.8.8.8。
如果要避免本机搜索后缀影响,可以使用完整主机名;在需要严格测试时,可在名称末尾加点,例如 example.com.。看到 Non-existent domain 通常表示查询名称不存在或输入错误;看到 No records 表示名称有效,但当前查询类型没有记录;看到 timed out 则应检查 DNS 服务器可达性、网络和防火墙。Microsoft 的 DNS 排障说明也建议用 nslookup <name> <DNS服务器IP> 对比指定服务器的响应。Microsoft Learn:DNS 服务器故障排除
macOS 和 Linux 查询 DNS:用 dig 或 host
macOS 和多数 Linux 系统常用 dig 或 host。BIND 参考手册将 dig、host 和 nslookup列为手动查询名称服务器的命令行工具。BIND 9 管理员参考手册
- 查询 A 记录:
dig example.com A。 - 查询 AAAA 记录:
dig example.com AAAA。 - 查询 MX 记录:
dig example.com MX。 - 查询 TXT 记录:
dig example.com TXT。 - 查询 NS 记录:
dig example.com NS。 - 只看回答区,减少无关输出:
dig +noall +answer example.com A。 - 指定解析器:
dig @8.8.8.8 example.com A。 - 使用更简洁的 host:
host -t MX example.com。
重点看输出中的 status、ANSWER SECTION、记录类型、返回值和 TTL。NOERROR 可能表示查询成功,即使该类型没有答案;NXDOMAIN表示查询名称不存在;SERVFAIL表示解析器无法完成查询,可能与权威服务器、委派、DNSSEC 或临时故障有关,不能简单等同于“没有记录”。
A、AAAA、CNAME、MX、TXT、NS、SOA、CAA、SRV分别是什么
- A:把主机名映射到 IPv4 地址。
- AAAA:把主机名映射到 IPv6 地址。
- CNAME:把一个主机名指向另一个规范名称;它不是直接的 IP 地址。
- MX:声明域名的邮件接收服务器,并带有优先级数值。
- TXT:保存与域名相关的文本,常用于验证、发信策略等场景;具体含义取决于使用它的系统。
- NS:指出负责该域名区域的名称服务器。
- SOA:提供区域的起始授权信息,包括主名称服务器、序列号和计时参数。
- CAA:声明允许为域名签发证书的证书颁发机构策略;是否生效还要结合证书签发方的检查规则。
- SRV:为特定服务提供目标主机和端口等信息;查询时必须使用完整的服务名称格式。
记录类型只是查询入口,不是服务健康检查。例如查到 A 记录只能说明解析器返回了地址,不能说明该地址上的 Web 服务一定能建立连接。
查不到、仍是旧值或不同工具结果不一致怎么办
- 先核对查询名称。确认你查的是根域名、
www、邮件主机、_dmarc还是某个验证子域名。DNS 记录挂在具体名称下,查错主机名就会得到空结果或 NXDOMAIN。 - 确认修改的是实际权威 DNS。先查
NS,把返回的名称服务器与域名注册商或 DNS 托管控制台显示的服务器对照。若两者不一致,可能改错了管理平台。 - 分别查询不同递归解析器。例如用
nslookup -type=A example.com 8.8.8.8,或用dig @8.8.8.8 example.com A。也可以与系统默认 DNS 的结果对比。 - 查看 TTL 并等待缓存更新。TTL 是缓存时间提示;修改后,不同解析器、网络和设备可能在不同时间看到新值。RFC 1035 和 RFC 2181 都说明了 TTL 与缓存之间的关系。RFC 2181:DNS 规范澄清
- 检查是否为记录类型问题。例如只配置了 A,却查询 AAAA;只给
www.example.com配置了 CNAME,却查询根域名。 - 最后再查权威服务器。先获得 NS,再直接向其中一个名称服务器查询,例如
dig @ns1.example.net example.com A。如果权威结果正确、公共解析器仍旧不同,重点排查缓存或委派;如果权威结果就不正确,应回到 DNS 托管控制台核对记录。
Windows DNS 排障文档还建议在指定 DNS 服务器上重复 nslookup 测试,并根据超时、拒绝、服务器失败和无记录等提示区分故障范围。Microsoft Learn:DNS 客户端故障排除
查询完成后的成功标准与安全边界
- 查询名称与实际业务对象一致。
- 记录类型选对,返回值与控制台中的预期值一致。
- 至少用系统默认解析器和一个指定解析器各查一次。
- 修改记录后保存查询结果、TTL 和查询时间,便于后续对照。
- 不要把 DNS 查询结果当作网站、邮箱或客户端服务已经正常的证明;仍需按业务场景测试连接、端口、证书或登录。
- 查询命令中通常不需要账号密码、订阅链接或私密配置;不要把敏感凭据粘贴到在线工具或公开页面。
如果 DNS 查询正常但网页仍打不开,可以继续检查本机 DNS 缓存、网络连接、代理设置和目标服务;如果只有某个网络失败,再做不同网络和解析器的对照。
常见问题
DNS记录怎么查最快?
先确定域名或完整主机名,再按目的查询记录类型。网站地址查 A/AAAA,别名查 CNAME,邮箱查 MX,验证文本查 TXT,权威 DNS 查 NS。Windows 用 nslookup,macOS/Linux 用 dig 或 host。
为什么查不到 DNS 记录?
常见原因是查错了主机名、记录类型不匹配、记录尚未创建、修改了错误的 DNS 托管平台,或查询结果仍来自缓存。建议先查 NS 确认权威服务器,再用指定解析器和权威服务器分别查询。
DNS修改后多久能查到新记录?
不能只凭固定时间判断。TTL 会影响递归解析器缓存,不同解析器和网络看到新值的时间可能不同。应记录修改前后的 TTL,并对比系统默认解析器、指定解析器和权威服务器的结果。
A记录和CNAME记录有什么区别?
A 记录直接返回 IPv4 地址,CNAME 返回另一个主机名。查网站 IP 时通常看 A 或 AAAA;查别名关系时看 CNAME。具体配置还要遵循 DNS 托管平台对根域名和子域名的限制。
DNS查询结果能证明网站一定正常吗?
不能。DNS 查询只说明名称解析结果,不能直接证明 Web 端口、TLS 证书、邮件登录或应用服务正常。解析成功后,还要根据具体业务继续做连接和服务层验证。