多个 IP 地址上的 Avahi DNS-SD
Posted
技术标签:
【中文标题】多个 IP 地址上的 Avahi DNS-SD【英文标题】:Avahi DNS-SD on multiple IP addresses 【发布时间】:2014-11-03 18:29:53 【问题描述】:背景:
我正在尝试在不需要 DHCP 服务器的情况下与 IP 摄像机通信。这是相机获取 IP 地址的方式:
-
基本 DHCP 过程(发现等)
如果上述方法失败,则相机的后备地址为 192.168.0.90
然后摄像头启动 avahi-daemon 并成功获取链接本地地址以实现稳健性
IP 别名现已完成,接口有两个 IP。
问题:
现在的问题是,当我 avahi-browse 浏览网络上的服务时,相机会回复两个 IP 地址(使用 Wireshark 检查)。
avahi 只显示一个,它可能是 zeroconf:ed 地址或备用地址。
我只想要链接本地地址,而不是后备。有什么可靠的获取方式吗?
【问题讨论】:
【参考方案1】:老问题,但以防其他人有同样的问题:
Avahi 将仅返回设备报告的 IP 地址之一。这似乎是一个(有争议的)设计决定,并在 avahi 邮件列表的in this post 中进行了解释。因此,如果您使用的是 avahi-browse,恐怕没有可靠的方法来仅获取链接本地地址。 附带说明,RFC3927 section 1.9 特别建议不要为同一接口同时配置可路由地址和链路本地地址。但我明白这是相机的行为,可能超出您的控制范围。【讨论】:
是的,关键字是“不应该”,这意味着他们可能有理由以这种方式实现它。无论哪种方式,都应该支持 Avahi:/ 我认为 RFC 在这里使用了“不应该”,因为这样做的结果是不受欢迎的(“导致应用程序的复杂性和用户的混乱”),但没有破坏任何东西(功能,互操作性)。但我同意您的看法,Avahi 最好只报告所有报告的 IP 地址,而不是只报告一个。以上是关于多个 IP 地址上的 Avahi DNS-SD的主要内容,如果未能解决你的问题,请参考以下文章