【问题标题】:Could I use avahi to publish service across subnetworks?我可以使用 avahi 跨子网发布服务吗?
【发布时间】:2014-01-26 00:33:50
【问题描述】:

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 让这台主机发现之前的服务主机吗?

【问题讨论】:

    标签: linux networking service-discovery mdns avahi


    【解决方案1】:

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

    有多种选择,根据您的路由设备,有些可能比其他更容易。

    多播代理mdns-repeater 是一个简单的解决方案,可以跨接口重复 mDNS 请求。

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

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

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

    【讨论】:

      【解决方案2】:

      当然可以。它被称为反射器,它是 Linux avahi 守护进程的一部分。

      查看您的发行版中man avahi-daemon.conf 的“SECTION [REFLECTOR]”。

      【讨论】:

      • 这假设 Avahi 守护进程正在网关上运行,对吧?
      • 不,您可以在任何主机上运行 avahi,只要它在您想要反映的两个子网中都有接口。
      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2020-11-12
      • 1970-01-01
      • 2011-04-05
      • 2016-12-16
      • 1970-01-01
      • 2016-01-18
      相关资源
      最近更新 更多