本地网络中有一台服务器(运行 Debian 7)和一台远程 VPN 服务器。我无法控制远程 VPN 服务器。我需要本地网络中的服务器直接向互联网提供服务(Web 服务器等),同时我需要通过远程 VPN 建立其他连接。
我知道如何使用 OpenVPN 设置本地服务器来使用远程 VPN 服务器,但这样一来,所有连接都会被隧道化,并且服务器不再监听来自互联网的传入连接(仅监听通过远程 VPN 的传入连接),并且无法与互联网建立非隧道连接。
有没有办法配置 OpenVPN 或 Debian 以同时允许两种类型的连接,以便我可以将所有互联网服务绑定到互联网,同时将其他服务绑定到隧道网络?
答案1
为了实现分离隧道,即使远程服务器指示 OpenVPN 客户端使用隧道进行所有操作,您也应该创建route-up
脚本在覆盖默认路由的客户端上:
#!/bin/bash
/sbin/route delete default
/sbin/route add default $route_net_gateway
这应该重新建立 VPN 连接之前存在的默认路由。
答案2
当 OpenVPN 配置为告诉客户端自动通过 VPN 路由所有流量。您需要禁用此功能。
在 OpenVPN 服务器配置中查找redirect-gateway
选项并将其删除。例如,它可能看起来像以下之一:
push "redirect-gateway def1"
push "redirect-gateway local def1"
您可能需要设置附加静态路由也适用于 VPN 连接另一端的网络。