跳转至

DNS 解析失败排查

现象

  • 可以 Ping IP,但不能访问域名。
  • curl 提示 Could not resolve host
  • 应用日志出现 DNS 解析失败。

快速判断

ping 8.8.8.8
ping example.com
cat /etc/resolv.conf

排查命令

# 查询 DNS
nslookup example.com
dig example.com

# 查看 systemd-resolved 状态
systemctl status systemd-resolved 2>/dev/null

# 查看路由
ip route

# 测试指定 DNS
nslookup example.com 8.8.8.8

常见原因

  • DNS 服务器不可达。
  • /etc/resolv.conf 配置错误。
  • 内网域名需要特定 DNS。
  • 防火墙拦截 UDP/TCP 53。
  • 容器或 Pod 内 DNS 配置异常。

处理建议

  • 先确认 IP 网络是否正常。
  • 再确认 DNS 服务器是否可达。
  • 内网域名不要随意切到公网 DNS。
  • Kubernetes 场景需要检查 CoreDNS 和 Pod DNS 配置。

高危提醒

  • 修改 DNS 配置可能影响整台机器的所有域名访问。
  • 生产环境修改前记录原始 /etc/resolv.conf

相关专题