具有多个运行接口(interface)的机器上的 Linux 主机名解析

标签 linux interface ethernet hostname

我的 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/

相关文章:

c - 在c程序中确定以太网帧到达时间的最准确方法

java - 获取服务器日期问题

C 代码删除文件中的 ^M/Windows 最后一个字符?

c++ - Qt MainWindow 在 Linux 中的位置

linux - 显示在 sh 文件中声明的所有变量

pointers - X不实现Y(…方法具有指针接收器)

c# - 如何将与特定 C# 接口(interface)匹配的所有类型放入 IDictionary 中?

c++接口(interface)告诉我我的参数尚未声明

c - C中的原始套接字数据包接收器,奇怪的输出

networking - 使用 TUN/TAP 测试用户空间 TCP/IP 堆栈