Networking

為什麼主機名和 ping 報告的網路地址之間存在差異?

  • September 25, 2012

我已經嘗試過hostnameping集群機器中使用不同的輸出。我想知道兩者有什麼區別?例如,在同一台機器上,hostname輸出node4.XXX

ping -c 1 $(hostname)

輸出pc333.XXX

hostname命令從系統本地主機名配置中輸出系統的主機名(可以是 /etc/hostname 或 /proc/sys/kernel/hostname 或其他取決於作業系統)。

該命令ping -c 1 <hostname>將通過指定的 libc 解析器(可能是也可能不是 DNS。例如,/etc/hosts 不是 DNS)<hostname>執行查找,然後對返回的 IP 地址執行反向 DNS 查找並報告該名稱在 ping 命令的輸出中。

作為一個具體範例,假設本地系統主機名fred,如/etc/hostname. 該hostname命令將返回**‘fred’**。該命令ping -c 1 fred將執行 DNS 查找fred(無論是完全限定的fred還是fred完全限定的,例如fred.domain.com預設域是domain.com)。假設 DNS 返回 IP 地址x.x.x.xping然後將執行 IP 地址的反向 DNS 查找x.x.x.x,如果沒有返回名稱ping將輸出 IP 地址x.x.x.x,否則ping將輸出從反向查找返回的任何名稱,可能是不同的名稱,例如ethel.domain.com.

引用自:https://unix.stackexchange.com/questions/49097