我有两台机器通过 CAT6 电缆连接到本地 IPv4 链路。有什么办法host1
可以确定host2
的 IPv4 地址吗?
我使用的是运行内核 3.2.0-34-generic 的 Debian 衍生版本。
答案1
是的,已经作为经过验证的解决方案发布在评论中,但无论如何还是作为答案发布。
尝试使用 mDNS。
应该avahi-daemon
在您想要解析的机器上安装(例如host2
),并且至少安装一些适合您的客户端系统的 Avahi 客户端库(例如host1
)。这些客户端库通常默认安装在大多数桌面发行版上。如果您的 Linux 发行版自动安装挂钩来实际使用 Avahi 客户端 (mDNS) 进行查找,那么您应该能够解析host2.local
客户端计算机上的名称。
Avahi 工具集是 mDNS 实现。总之,它通过多播提供名称服务,用于常规主机解析和服务发现。 Mac OS X 用户可能会将其识别为“Bonjour”,这就是 iTunes 应用程序相互查找的方式(服务发现)。然而,简单的地址查找应该开箱即用。
/etc/nsswitch.conf
Avahi 在主机名查找中被触发,因为(对我来说至少在 Debian/Ubuntu 上是这样)的设置,如下所示:
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4
后缀.local
由 Avahi 守护程序导出并可配置。host2
只是机器的基本主机名。