如何通过代理连接到 VPN?
我目前在客户那里,他们使用代理将用户连接到互联网。我想通过 VPN 回到我的公司来检索一些文件。
我尝试过像 Proxifier 这样的应用程序,但由于某些奇怪的原因,当我尝试在其上配置代理服务器时,它总是无法连接,但直接通过 Firefox 和 IE 使用代理却可以……
那么,我该如何做到这一点,或者这是否不可能?
答案1
我发现自己不止一次遇到过类似的情况。如果你关注IANA 端口分配规则,就像slhck 说:如果不要求管理员允许与你的 VPN 建立传出连接,你就无法做到这一点(例如,端口 1194 UDP 是 OpenVPN 的默认端口)。
但是,我设法通过违反规则并将 TCP 端口号 443(HTTPS)分配给我的 VPN 服务器解决了该问题。这对我来说很有效,因为我连接的网络实际上并没有代理 TCP 端口 443:它们只是透明地转发 TCP:443 数据包——可能是为了避免配置 HTTPS 代理的麻烦。这此处的帖子讨论了 HTTPS 代理,这可能会阻止该解决方案发挥作用。
最近我还了解到 OpenVPN 支持代理,如下所示OpenVPN 操作方法页面。我还没有测试过,但它可能会有效。
这完全取决于您所在地的网络安全有多严格......最终,可能直接请客户的 IT 人员来帮助您更容易(也更符合道德)。
请注意,不建议使用 TCP 进行 VPN,因为它会引入额外的 TCP 开销层,正如这篇文章所讨论的那样。
答案2
不可能。代理(在公司中)基本上是为了将所有传出流量引导通过,原因有多种(策略执行、内容缓存、监控等)。大多数情况下,传出请求仅允许通过 HTTP、HTTPS 和 FTP,即使这样,也只允许在特定端口上进行。
另一方面,VPN 使用隧道连接,与 SSH(或 SFTP)非常相似。它们使用的端口也与 HTTP(80)和 HTTPS(443)的典型端口不同。
由于各种原因,它无法工作:
- 您所在的公司网络很可能不允许除预定义端口(即 80、443)以外的任何端口进行传出连接,或者不允许通过代理服务器请求任何内容
- 除 HTTP(S) 或 FTP 之外的协议可能被禁止
- 该代理可能只是一个简单的 HTTP 代理,无法转发任何其他流量(这是 SOCKS 代理可以做的)
您唯一的选择是在公司防火墙中获取一条例外规则,以允许使用特定端口与您的 VPN 端点建立传出连接。
答案3
请指定您正在使用的 VPN 软件。
大多数自带客户端软件的 VPN(IPSec、PPTP、L2TP)无法通过代理服务器连接。如果您使用的是 SSL-VPN,则可以配置浏览器以使用代理。