将 Debian 服务器连接到 VPN 服务器并继续向互联网提供服务

将 Debian 服务器连接到 VPN 服务器并继续向互联网提供服务

本地网络中有一台服务器(运行 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 连接另一端的网络。

相关内容