Unix ping 和 host 命令导致同一域名产生不同的 IP 地址

Unix ping 和 host 命令导致同一域名产生不同的 IP 地址

我的理解是,unixpinghost命令应该在给定相同域的情况下生成相同的 IP 地址。如果您查看这两个命令:

$ ping api.dev.myserver.com
PING api.dev.myserver.com (10.11.12.15): 56 data bytes
64 bytes from 10.11.12.15: icmp_seq=0 ttl=64 time=0.303 ms
(...)

$ host api.dev.myserver.com
api.dev.myserver.com has address 69.68.153.135

第一个是我的本地开发虚拟机,显示了我在 /etc/hosts 文件中指定的理想 IP。第二个显示了实时框,绕过了我的 /etc/hosts 文件。我已刷新 DNS 缓存以验证这不会导致差异。

答案1

正如您所发现的,host 命令(和 nslookup 命令)忽略 /etc/hosts。它们针对的是名称服务器(DNS),而不是本地文件。

非常确定getent ahosts (host)也会使用 /etc/hosts,就像 ping 一样。

答案2

Host 是一个 DNS 查询应用程序,不会查看 hosts 文件。请参阅http://linux.die.net/man/1/host

相关内容