Openvpn 静态路由/强制网关

Openvpn 静态路由/强制网关

所以我在设置中,一个 openvpn 服务器在 192.168.7.0/24 子网上运行。openvpn 服务器正在为半复杂的服务器设置提供服务,因此更改子网仅被视为最后的手段(我希望我不会到达那里)

问题是,一些用户抱怨说,在家庭办公室中,尽管他们开启了 vpn,但他们无法使用一些网络资源,深入观察后发现,他们的家庭网络使用的子网与 openvpn 服务器的子网相同!因此,请求是在内部路由的,而不是通过 VPN 发送的。

更改为 IPv6 是不可能的,并且使用 NATing 来进行这样的事情是极其不道德的。

我尝试强制 vpn 客户端使用 vpn 服务器作为默认网关,并在服务器配置端推送“redirect-gateway def1”或/和推送“redirect-gateway local def1”,但没有成功

有任何想法吗?

非常感谢

答案1

网关重定向的问题在于,在路由表中,更具体的条目会覆盖不太具体的条目。因此,推送网关通常没有太大帮助,因为每台计算机都包含/24本地网络的链路范围路由条目,这当然比公布的默认路由更具体,因此将改用它。

如果您确实不想更改 VPN 子网,那么您能做的最好的事情就是为 VPN 网络上的资源推送特定路由,因为简单主机的路由将覆盖链接范围条目。

您可能想要“作弊”,并发送两个/25网络(即192.168.7.0/25192.168.7.128/25),它们比本地/24网络更具体,并且这两个网络几乎覆盖整个 VPN 子网(减去“边界”上的主机 - 即主机127128)。在这种情况下,您还需要推送redirect-localredirect-local def1指令,以确保不会丢失默认网关,以及客户端与 VPN 服务器的连接。

不过,我认为最好的解决方案是将 VPN 子网更改为不太可能与家庭网络发生冲突的“丑陋”子网(例如,很多人将家庭网络设置为类似10.287.29.0/24)。这可能是一项艰巨的任务,但这是“干净”的方法。此外,这是确保您不会因子网重叠而遇到意外的最佳方法。

相关内容