在 centOS 上 Ping 解析而不是返回“未知主机”

在 centOS 上 Ping 解析而不是返回“未知主机”

在我的本地机器(Ubuntu)上,如果我 ping 一个不存在的主机名,ping 命令会返回

$ ping somefakedomain.com.au
  ping: unknown host somefakedomain.com.au

然而,在我的任何一台远程 centOS 服务器上,同样的命令会返回完全不同的结果

$ ping somefakedomain.com.au
  PING texh.net (103.4.16.120) 56(84) bytes of data.
  64 bytes from toph.texh.net (103.4.16.120): icmp_seq=1 ttl=64 time=0.046 ms
  ...

这真的让我很困惑,如果有人知道这是为什么,我会非常高兴。我尝试用 Google 搜索,但我似乎只能找到相反的问题,即由于各种网络问题,人们无法 ping 有效主机。

我计划设置一个 cron 作业来 ping 多个服务器以检查它们是否仍然在线,并测量两者之间的网络延迟,但是似乎如果其中一个被 ping 的服务器已关闭,那么它只会 ping 自己并返回误报。

答案1

检查你的 /etc/resolv.conf 并查看你是否拥有名称服务器条目来解析域名,如果我们缺少名称服务器条目,我们也会收到此错误

答案2

我怀疑你的问题是texh.net不是假域名。当我尝试时,它解析为103.4.16.120。我得到了103.4.16.251toph.texh.net但我根本无法得到 的反向查找103.4.16.120。你的问题是你获取 IP 地址,因此它不是“未知主机”。

选择虚假域名时,请确保它实际上并不存在。

此外,改变(最多问题中的域(出现次数)使somefakedomain.com.au问题变得混乱,因为该域实际上不存在。只是因为你漏掉了其中两个,我才能够看到真正的问题。

在测试 DNS 解析时,dig您应该使用 ,而不是pingping使您无法控制使用哪个名称服务器或查找哪种类型的记录。 ping还会查看您的 hosts 文件(取决于您的nsswitch.conf),这可能会进一步混淆问题。

笔记:如果您使用 OpenDNS,他们会在应该返回响应时返回他们自己的 IP 地址NXDOMAIN。您可以通过在他们的网站上创建一个帐户并在设置部分中选择该选项或使用其他 DNS 服务来选择退出。

相关内容