如何使 Bonjour (mDNS) 通过 OpenVPN 工作?

如何使 Bonjour (mDNS) 通过 OpenVPN 工作?

我有一台运行 Debian 8 的服务器。最近我使用教程。一切运行良好。我使用 Tunnelblick 客户端在我的 MacBook 上进行了测试。使用 Google 检查我的 IP,连接到 VPN 再次检查,它更改为与我的服务器 LAN 相同的 IP。所以我知道一切都很好。

我的问题是,当我通过 VPN 连接时,该 LAN 上所有计算机(所有 OSX 的 AFP 协议)上的文件共享都不会显示在 Finders 侧边栏上。我能够使用 Finder 的“连接到服务器”工具手动连接到它们,afp://192.168.0.100并且运行良好。所以我假设这是 Bonjour 的问题。

从我的研究中,我发现 Bonjour (mDNS) 不会向不同的子网广播。所以我ifconfig在通过 VPN 连接时在 MacBook 上运行。它是 192.168.43.206。我连接的网络上的所有计算机都是192.168.0.10192.168.0.200。所以我猜这就是我的问题的根源?

我认为我的解决方案可能是将我的 OpenVPN 配置切换为“桥接”模式?我读过一些论坛和文章,它们指出这是解决方案,但我甚至不确定我是否正确诊断了我的问题。而且我还没有真正掌握桥接模式的设置。

希望有人能给我一些解释。

答案1

IIUC,mDNS/Bonjour 的问题在于它使用所谓的多播,并且多播数据包不会自动跨越网络边界(由于协议的设计和 Linux 的设计)。

你可能想要使用类似smcroute在 OpenVPN 实例连接的所有网络之间建立隧道多播流量。

了解更多信息,以及一般来说。

tun另一种可能性是将 OpenVPN 从模式切换为tap。不幸的是,这会产生影响,在实施之前必须彻底考虑。

答案2

糟糕的是,自从苹果弃用 TAP 以来,TAP 不再是 MacOS 的选项。所以现在你被迫使用 avahi(如果使用 pfsense 或其他)来跨区域复制 mDNS 记录。我自己也很难让它工作。

相关内容