首页/系统/Linux 运维命令速查/场景:域名解析排查
本包目录(613 条)
文件与目录76 条文本处理77 条
网络命令82 条
进程与作业69 条磁盘与文件系统51 条用户与权限44 条日志与排查40 条systemd 与服务42 条包管理34 条性能与监控48 条定时任务与计划50 条

场景:域名解析排查

解析比连通更绕:分成「本地配置 → 缓存服务器 → 权威链路」三段查,dig 是主武器,getent 验证系统真实解析路径。

Linux 运维命令速查系统更新于 2026-10-12
场景域名解析失败/结果不对
组合getent + dig + resolvectl

系统实际解析

系统实际解析
getent hosts app.example.com         # 走 nsswitch 的真实结果(含 /etc/hosts)
grep -v '^#' /etc/hosts | grep -i app
cat /etc/nsswitch.conf | grep hosts

逐级对照

逐级对照
dig +short app.example.com           # 默认 DNS
dig +short @1.1.1.1 app.example.com  # 公共 DNS
dig +short @ns1.example.com app.example.com   # 权威直问
dig +trace app.example.com | tail -20

结果不对时

结果不对时
resolvectl status                     # systemd-resolved 分流配置
resolvectl flush-caches               # 清本地缓存
curl -sS --resolve app.example.com:443:10.0.0.9 https://app.example.com/ -I   # 绕过 DNS 直测目标 IP
「只有某台机器解析不对」优先查 /etc/hosts 与 nsswitch;「全网都不对」查权威与 TTL 缓存。

易错点

  • ping 通不代表域名没问题:ping 报 unknown host 是解析问题,报超时才是连通问题
  • dig 默认不走 /etc/hosts;要模拟应用行为用 getent 验证

数据来源与参考

  • man 1 dig(BIND 9 手册)
  • man 1 getent

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌