发现不同子网中的主机

发现不同子网中的主机

有一个有两个接口的OpenWRT路由器:br0wlan0

  • br0:192.168.129.0/24
  • WLAN0:192.168.130.0/24

br0位于防火墙区域内lan并且wlan0位于防火墙区域内alien

我已经配置了区域lan并且alien它们可以互相交谈。

现在主机已连接br0wlan0可以成功 ping/ssh 对方,这很好。例如,192.168.129.200 可以 ping/ssh 192.168.130.200,反之亦然。

我的问题是,有没有办法让一个子网中的主机“发现”另一个子网中的主机?例如,在《反恐精英》等 LAN 游戏中,不同子网中的笔记本电脑无需指定 IP 地址即可发现彼此。

答案1

这取决于发现的方法。在极有可能的情况下,这些程序使用链路本地广播(例如,向 发送消息255.255.255.255),那么就没有办法让它工作(至少没有好的、符合标准的方法),因为这种广播被定义为链路本地。你可以要做的就是使用单个子网将链路桥接为一个虚拟链路,但这似乎不是您想要的,因为您将它们放入不同的防火墙区域。

另一方面,如果程序使用 IP 多播,那么很可能有办法处理它,但我不能说我对多播足够熟悉,无法就具体程序提供建议,而且我非常怀疑他们实际上是否使用多播。

在他们使用 mDNS 的不太可能的情况下,解决问题的最简单方法可能是在路由器上进行设置,avahi-daemon以便为 mDNS 桥接子网。

相关内容