2014-01-08 72 views
9

Avahi通常用于服务发现。我想从一个不同的子网络中发现一项服务,我可以使用avahi来实现这一目标吗?我可以使用avahi在子网上发布服务吗?

例如,服务主机IP为“192.168.1.100”,掩码“255.255.255.0”,所以它在192.168.1.X子网中。另一个主机IP是“192.168.2.100”,掩码“255.255.255.0”。我可以使用avahi让这个主机发现以前的服务主机吗?

回答

6

不幸的是,不需要重新配置在这两个子网之间路由的任何设备。 mDNS对IPv4使用多播地址224.0.0.251,对IPv6使用ff02 :: fb。这些是链路本地地址,发送给它们的数据通常不会路由到当前子网之外。

有多种选择,有些可能比其他选项更容易,具体取决于您的路由设备是什么。

多播代理mdns-repeater是一个简单的解决方案,它将通过接口重复mDNS请求。

广域DNS。可以在为这些子网中的主机提供服务的DNS解析程序上启用广域DNS-SD。然后,Avahi可以配置为不发布.local域,但发布到这些子网的域。

多播路由。这些子网之间的设备路由可以配置为在这两个子网之间路由多播组。

mDNS网关。有一个draft RFC用于实现位于网段边缘(通常是路由器)的mDNS网关。这不是简单的中继器/反射器,而是缓存服务条目并响应来自其他连接网段的查询的网关。

相关问题