![如何配置哪些程序通过 OpenVPN 隧道?](https://linux22.com/image/1081628/%E5%A6%82%E4%BD%95%E9%85%8D%E7%BD%AE%E5%93%AA%E4%BA%9B%E7%A8%8B%E5%BA%8F%E9%80%9A%E8%BF%87%20OpenVPN%20%E9%9A%A7%E9%81%93%EF%BC%9F.png)
我的研究所有一个内部网络,可以通过 VPN 服务器访问。它打开后会显示modprobe tun
(service 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/