如何使用 OpenVPN 启用“VPN 绕过”虚拟本地主机 HTTP/SOCKS 代理?

如何使用 OpenVPN 启用“VPN 绕过”虚拟本地主机 HTTP/SOCKS 代理?

自从我开始使用 VPN 以来,我就一直遇到这个问题:要么“全部使用 VPN”,要么“全部使用家庭连接”。对我来说,没有明显的方法可以设置某个 Firefox 配置文件以使用我的“直接家庭连接”,或者设置由 PHP 控制的 cURL 脚本以针对特定请求“跳过 VPN”。

这种“二进制”限制给我带来了无数的麻烦,从无数的购物订单被拒绝(因为他们愚蠢地认为如果你在订购东西时不使用家庭连接,这是“可疑的”)到我银行的“网上银行”自动运行“账户余额检查”机器人的问题(因为它再次使用 VPN 及其代理而不是我的正常 ISP 连接)。

我认为,最理想且唯一合理的解决方案是,OpenVPN 是否自动在某个端口上设置仅限本地主机的 HTTP 或 SOCKS5 代理服务器,以便您将其用作“VPN 旁路”。我说 HTTP/SOCKS5 是因为这些协议是各个应用程序(如果有任何代理支持的话)支持的,包括 Firefox 和我的 cURL 脚本。如果它只是提供这个,那就不是问题了。但是,据我所知,没有这样的功能。

多年来,我遇到了很多由此导致的严重问题,但我从未找到任何可接受/合理的解决方案。它们真的让我无法实现人们所能想象到的最明显、最基本的功能。这真是令人抓狂。

请注意,我说的是 OpenVPN。我拒绝下载/安装任何可能支持此功能的供应商特定的 VPN“包装应用程序”,但我一点也不信任它们,这是有充分理由的。它们比你使用更“中立”和“工业化”的 OpenVPN 客户端时更能监视你……

此外,我听说过“拆分隧道”或“设置这个和那个等等”之类的事情,而且总是非常复杂,通常是 Linux 特有的(我使用 Windows),而且“对我来说不太合适”。他们不提供绕过 VPN 连接的方法,这对我来说太奇怪了,当然,除了断开连接之外,这将是一个大量的PITA 需要不断地做,更不用说它会破坏所有需要持续连接的东西。

请不要建议我做这样的事情。如果可能的话,这应该在 OpenVPN 中以非常直接、简单和明显的方式完成,也许甚至是一个由于某种原因默认禁用的配置选项?我类似于:

bypass-vpn-proxy-server = 127.0.0.1:9876;HTTP

然后,我将设置一个名为“家庭连接”的 Firefox 配置文件,将代理设置为在端口 9876 上使用 127.0.0.1,然后在该 Firefox 配置文件中建立的任何连接都将使用我实际的家庭 ISP 连接,而不是通过 VPN 连接,就像通过 OpenVPN 连接一样。或者 SOCKS5,Firefox 也支持它。(事实上,它同时支持两者。不确定如果同时指定两者会发生什么……)

我真的真的需要弄清楚这一点。这太荒谬了。你会认为这是他们在设计某种 VPN 客户端(OpenVPN)时首先想到的事情……但显然不是?我像往常一样找不到任何东西,但这说明不了什么。

答案1

您可以使用 SSH 隧道连接到远程虚拟机。要通过这样的隧道启动端口转发,请使用以下命令:

~$: ssh -D 6666 -f -C -q -N user@<TARGET-HOST>

会话结束后,您可以使用它localhost:6666来连接到您的服务。

相关内容