Ubuntu 20.04 无法 ping 本地区域

Ubuntu 20.04 无法 ping 本地区域

我有一台服务器,ping 命令无法解析本地 DNS 记录。我很困惑。

这是我的实验室设置。

DNS Zone  - mydomain.local

x.x.x.117 - CentOS 8 Primary DNSserver
x.x.x.118 - Ubuntu 20.04 Desktop
x.x.x.119 - Ubuntu 20.04 Server

我为 mydomain.local 创建了一个新区域

mydomain.local A 192.168.5.118
*.mydomain.local A 192.168.5.118

问题:

当我通过 SSH 进入 .118 时,无法 ping mydomain.local。PING 命令失效,无法解析 IP 地址。

我该如何排除故障,为什么 .118 ping 命令无法解析我的 domain.local 的 IP 地址?ping:mydomain.local:名称或服务未知

我试过:

  • 当我登录 .119、.117 或通过 VPN 时,我可以毫无问题地 ping mydomain.local。
  • 在 .118 上,我使用 dig、nslookup 均报告良好的响应。
  • 在 .118 上,Ping 可以解析通配符别名,例如www.mydomain.local,任何别名.mydomain.local。
  • 在 .118 上,Ping xxx118 和 127.0.0.1 都很好。
  • 重新启动服务器不起作用。
  • 清除 DNS 缓存不起作用。

这是非常奇怪的行为。谢谢您的帮助。

答案1

您所描述的问题不是命令ping本身的问题(也不是traceroute) - 它是一个名称解析问题:当向名称解析服务ping发出问题时gethostbyname(),它无法得到很好的答案并中止。

使用dig(或者您也可以尝试该host命令)可能无法检测到问题,因为它们直接访问 DNS 名称服务,而问题可能不在于 DNS 服务,而在于内核名称服务(libnss)的配置中。

您可能需要检查/etc/nsswitch.conf文件并将该hosts:行与正常运行的其他服务器进行比较。使用检查 libnss 如何解析名称getent ahosts mydomain.local,您可能会找到答案。

相关内容