有没有办法仅在特定条件下通过 OpenVPN 推送路由?

有没有办法仅在特定条件下通过 OpenVPN 推送路由?

抽象问题: 在我的 OpenVPN 客户端设置中,我只想在特定条件下设置服务器推送的路由。

具体情况: 我使用的是笔记本电脑,当我在办公室时,它通过网关连接到我们公司的基础设施。当我不在办公室时,例如在客户现场,我使用单独的 OpenVPN 连接来访问我们的基础设施。这里的转折点是,这个 OpenVPN 连接也用于连接到我们的客户,无论是在我办公室还是在路上。

每次我在笔记本电脑上连接 OpenVPN 客户端时,都会推送到客户网络和基础设施网络的路由。我们的数据中心正在运行一个应用程序,但第二次连接时它会变得非常混乱,我希望当我在办公室时,它只使用通过我们办公室网关的路由。

问题:OpenVPN 中是否有任何选项可以告诉客户端类似“如果你分配了 10.0.0.X(办公室 IP 地址)之类的 IP 地址,请执行不是应用从服务器推送的一条特定路由(指向我们的基础设施/数据中心的路由)”

当我在客户站点或家庭办公室工作时,所有其他路由都不应受到解决方法/解决方案的影响,并且应推送该路由。我无法设置另一个不包含到数据中心的路由的连接,因为该连接也被同事使用。

迄今已进行的研究:我已经研究过 OpenVPN 的常见问题解答和手册页,在那里我找到了指向仅通过 VPN 路由特定流量或所有流量的解决方案,这与建立另一个连接一样好。

答案1

您可以使用指令并在该特定客户端上route-noexec手动设置路由up和脚本。down

您应该在环境变量中拥有所有必需的信息,请参阅Environmental Variables手册页中的部分。

答案2

您可以在客户端中有两个不同的 .opvn 文件,具体取决于您的情况。然后在其中一个 .opvpn 文件中,您可以使用指令route-nopull并使用自定义替代路由(例子)。

它并不完美,但这是我能想到的最好的办法。

相关内容