OpenVPN 路由器 - 如何在 VPN 上传播 255.255.255.255 广播?

OpenVPN 路由器 - 如何在 VPN 上传播 255.255.255.255 广播?

我有一个安装了 openVPN 的 dd-wrt ​​路由器,我用它远程玩 LAN 游戏。

网络上的一些细节:

remote site LAN: 192.168.10.0/23
router LAN IP: 192.168.11.1
LAN DHCP range: 192.168.11.1-254 (same for VPN clients)

我们玩的游戏使用广播数据包来定位服务器,问题是,即使广播被发送到 VPN,路由器也无法将它们从客户端发送到远程站点 LAN 内的主机。反之亦然,来自远程 LAN 的广播无法到达 VPN 客户端。

这仅发生在 255.255.255.255 广播地址上,我已经在客户端嗅探了网络,并且可以看到到 192.168.11.255 的“正常”广播。

非传输数据包的示例(源是 VPN 客户端):

192.168.11.24   255.255.255.255 UDP Source port: 28960  Destination port: 28961

传输数据包的示例(通过 VPN 客户端嗅探捕获。源是远程 LAN 中的主机):

192.168.11.25   192.168.11.255  UDP Source port: 60978  Destination port: 32414

如何配置路由器来广播这些数据包?

这是路由、iptables 还是 openVPN 修复?

编辑:VPN 配置为桥接模式(tap)。

答案1

您的 OpenVPN 可能配置为tun模式,该模式在第 3 层工作并且不会跨子网传播广播。

您需要将其切换到tap模式,该模式在第 2 层工作并传播广播。您需要对tap模式执行的操作是创建一个桥接接口,例如br0,然后将您的物理eth0和连接tap0到它。 br0然后为分配一个 IP,并且从发出的广播br0将到达连接到它的任何设备,就像它是一个交换机一样。

我相信 DD-WRT 接口会为您完成大部分工作,这就是它的要点。

答案2

广播没有被路由,这不是 OpenVPN 的问题,这只是 IP 的工作方式。

如果 OpenVPN 配置为第 3 层模式(又名 tun),那么它将充当路由器,广播将不会被传递。

您的选择是设置一个(又名 tap),形成一个第 2 层网络,它将转发广播。不过,我不确定你要做什么才能让它在 dd-wrt ​​上工作。

顺便说一句,你真的可能想看看 dd-wrt ​​的一些替代方案,大多数路由器的版本已经 4 年多没有更新了。这意味着积累了很多安全漏洞,比如 heartbleed,可能还有 shellshock。如果你的固件映像已经超过一个月了,那么是时候升级或寻找替代方案了。

答案3

我设法通过使用 openVPN 连接 2 个路由器(客户端和服务器)来实现这一点,其中 tap0 接口桥接到两侧的以太网。

似乎无法通过 VPN 接口传播 255.255.255.255 可能只是 Windows 客户端上的问题,也许是由于缺乏桥接。

相关内容