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