如何配置哪些程序通过 OpenVPN 隧道?

如何配置哪些程序通过 OpenVPN 隧道?

我的研究所有一个内部网络,可以通过 VPN 服务器访问。它打开后会显示modprobe tunservice openvpn start要求进行远程身份验证)

我需要 OpenVPN,因为我希望通过 SSH 连接到研究所网络中的计算服务器。但是,由于某些限制,从研究所网络内部访问互联网很困难(而且由于增加了 vpn 层,可能根本不可能访问)。当我打开 Chrome 并尝试访问互联网网站时,它会将我带到一个强制门户页面,无法让我正常登录(我猜它检测到我来自 VPN IP,而不是来自常规内部 IP)。

如何让 Chrome 使用我常规的家庭 wifi 连接而不是通过 vpn 隧道,同时让 SSH 通过 VPN?

答案1

在 OpenVPN 上,通常服务器会为您“决定”这一点:可以将其配置为告诉客户端(默认情况下)通过 VPN 发送所有流量 - 例如,如果使用 VPN 来保护您的互联网连接,这很有意义。

您正在使用的 openVPN 配置可能正在设置您的“默认路由”,因此大多数连接(到互联网)都是通过 VPN 建立的。

由于您的机构可能不想通过他们的 VPN 提供互联网访问(我只是猜测),他们必须更改服务器上的配置。

对于配置 VPN 服务器的管理员来说,提示一下:配置可能包含如下一行:

push "redirect-gateway def1 bypass-dhcp" 

注释掉该行并重新加载服务器应该可以解决所有客户端的问题。

如果没有办法更改服务器配置,那么您将不得不依靠客户端上的某种“黑客攻击”来解决此问题 - 但由于这应该在服务器端真正解决,因此我不会深入探讨这个问题(暂时)。

答案2

您必须手动定义路由。该命令的确切语法将随您的接口、网关以及您希望将哪些流量路由到何处而变化。默认情况下,Web 流量 (chrome) 位于端口 80 (http) 和 443 (https) 上。

以下是关于如何路由流量的 2 种解释。

http://kindlund.wordpress.com/2007/11/19/configuring-multiple-default-routes-in-linux/

http://www.rjsystems.nl/en/2100-adv-routing.php

相关内容