我们的服务器上有一个主机条目/etc/hosts
,文件如下:
10.74.74.76 foo
但在同一台机器上,通过 SSH 我执行以下操作:
$ host -t a foo
foo.internal.domain.com has address 10.43.55.23
为什么这没有引用 ip /etc/hosts
?
答案1
host
是一个(简单)DNS 查找公用事业。
您的文件中的任何数据/etc/hosts
都不是 DNS。
这意味着该host
命令将始终查询您已配置的 DNS 服务器,并且它不遵守系统解析器在尝试解析主机/FQDN 之前首先查询本地主机数据库所使用的典型优先级。
答案2
该host
命令是一个 DNS 查找实用程序,它始终使用 DNS 作为解析器;从不使用/etc/hosts
文件。
来自 host(1) 手册页:
host
是一个用于执行 DNS 查找的简单实用程序。
server
是一个可选参数,它是主机应该查询的名称服务器的名称或 IP 地址,而不是中列出的服务器/etc/resolv.conf
。