我的 Linux 机器上有 4 个正在运行的 eth 端口(eth0 到 eth3)。所以如果我给出命令 host <hostname>
, 返回哪个eth端口的ipaddress? linux如何决定返回哪个eth端口的ip地址?
谢谢, LinuxPenseur
最佳答案
host 不会查看您的本地 IP,它会根据/etc/nsswitch.conf 中指定的规则查找主机名
在 nsswitch.conf 中,您通常会有这个条目:
hosts: files dns
这意味着解析器将首先检查/etc/hosts,如果在那里找不到任何内容,它将检查/etc/resolv.conf 并向指定的 DNS 服务器询问 IP,可选择附加“搜索”和“resolv.conf 中指定的域名”后缀
参见 http://www.faqs.org/docs/linux_network/x-087-2-resolv.library.html
关于具有多个运行接口(interface)的机器上的 Linux 主机名解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5002370/