Bonjour/mDNS 跨子网广播

Bonjour/mDNS 跨子网广播

我刚刚在我们的办公室设置了一个新的 OSX 服务器,并验证了我们的有线网络 (192.168.126.0/24) 上的一切运行正常。

我遇到的问题是我们的客户端(Mac 笔记本电脑)主要通过无线连接,运行在不同的子网(192.168.1.0/24)上,而 mDNS 广播无法到达该子网。

网络配置对我来说有些陌生(我不管理这个位置的网络,而是最近管理服务器),但我不相信两个子网之间有任何防火墙或路由规则可能会导致流量被拒绝。

我想知道这是否只是 mDNS 广播无法在两个不同的子网上广播(我仍在阅读有关广播的资料以进一步了解它)或者还有其他我可以尝试的方法。

答案1

尽管你可以使用“广域 Bonjour”(即通过启用了动态注册的普通 DNS 域使用 Bonjour,而不是通过多播 DNS 使用 Bonjour),但是大多数内置的 Mac OS X 东西并不是为使用它而设计的 — 主要是因为广域 Bonjour 是为在比几个子网更加多样化的网络上宣传服务而设计的。

不过,从理论上讲,你可以配置路由器在两个子网之间传递发往多播组 224.0.0.251 的数据包,这应该可以做到——假设你没有使用 NAT。能否做到这一点以及如何做到这一点取决于无线网络和有线网络之间的路由器类型。

答案2

一般来说,如果您使用的是 OS X 服务器,最好使用普通 DNS 进行名称解析,而不是 mDNS。Bonjour 实际上仅适用于服务自动发现,如果您有服务器,您可能想要宣传或配置您的服务。

也就是说,广域 Bonjour(或者更确切地说是 DNS-SD)确实以各种形式存在(见这里或者 这里对于相当过时的例子)。

对于您来说,更好的解决方法可能是将服务器的接口放在无线子网上,以避免所有这些混乱,如果不了解有关您的网络设置的更多信息,很难提供具体的建议。

相关内容