pep*_*ico 5 networkmanager avahi network-interface
在我工作的初创公司,我们正在设置一个用于图像捕获和分析的设备。这是一个带有摄像头的盒子,嵌入了 Ubuntu Linux,假设我们不想将显示器连接到此设备进行配置。
有些人提出了在通过网线直接将设备连接到笔记本电脑时使用配置网页的解决方案,就像使用路由器或调制解调器一样,通过访问众所周知的 IP。
这听起来像是一个解决方案,但事实是该设备不是路由器,正如我所见,这是一个完全不同的上下文,该设备不会将地址委派给笔记本(使其成为路由器网络的一部分,它可以有一个众所周知的地址),因为它不是路由器。
所以我现在正在寻找一种类似于配置路由器体验的解决方案,但这不是路由器,它是用于我应该能够从众所周知的地址访问的设备。为此,我对 zeroconf/APIPA 进行了一些研究,但从 zeroconf RFC 3927 中,IP 地址必须是“使用伪随机数生成器,其均匀分布在 169.254.1.0 到 169.254.254.255 范围内”生成的.
我认为随机 IP 解决方案可能仍然有效,即使它不是一个众所周知的地址,以防万一有任何方法可以发现该设备拥有哪个 IP。
除此之外,这个设备应该使用 NetworkManager 来处理通过它设置的许多接口的连接。
所以,总结一下问题情况:
应该研究什么问题来解决这个问题?人们对此是否有通用的方法?
根据我的经验,我记得配置我的设备,但没有一个适合问题:
如果有一个简单的工具可以在我的 Arch Linux 上运行,并让我的 Android 或 Windows 笔记本等其他设备发现它的 IP,我想知道。我也考虑过广播,但我不确定这是否适用于所有 LAN,因为广播可能会被阻止或不可靠(对此不确定)。
最好的方法是使用avahi
which 实现多播 DNS(这就是 Apple 所说的 Bonjour)。
我会禁用网络管理器并在/etc/network/interfaces
. 该interfaces
文件支持该ipv4ll
方法,该方法使用 avahi-autoipd 配置具有 IPv4 链路层地址(169.254.0.0/16 系列)的接口。
接下来,在 avahi 中设置一个服务,以确保主机通过 bonjour 进行广告并将 mDNS 名称解析添加到/etc/nsswitch.conf
.
如果您的系统的其余部分配置为解析 mDNS 名称,它应该都能像魔术一样工作。