![我可以通过 TCP/UDP 建立不具备安全性的 VPN 吗?](https://linux22.com/image/689605/%E6%88%91%E5%8F%AF%E4%BB%A5%E9%80%9A%E8%BF%87%20TCP%2FUDP%20%E5%BB%BA%E7%AB%8B%E4%B8%8D%E5%85%B7%E5%A4%87%E5%AE%89%E5%85%A8%E6%80%A7%E7%9A%84%20VPN%20%E5%90%97%EF%BC%9F.png)
我有一种有限的代理,可以远距离重定向 TCP 和/或 UDP。 (例如,从计算机 A 发送到计算机 B 的端口 1234(仅限 TCP 或 UDP)的所有内容都将从计算机 C 出来并转到计算机 D 的端口 1234。同样,从计算机 D 发送到计算机 C 的所有内容都将从计算机 B 出来并转到计算机 A 的端口 1234)计算机 A 和 B 位于一个防火墙后面,而计算机 C 和 D 位于另一个防火墙后面。
计算机 B 和 C 之间的连接本身应该非常安全,我今天不想测试这一点,但我希望找到某种方法在计算机 A 和 D 之间设置 VPN。D 可以托管任何类型的 VPN 服务器,最好没有任何安全性,因为我不想产生两次加密的开销。而 A 可以使用任何客户端。
我遇到的问题是 PPTP 使用 TCP 和 GRE(我不能使用 GRE,至少不能直接使用,因为它不是 TCP 或 UDP)L2TP 使用 UDP 和 ESP(和 GRE 一样,我不能直接使用它,因为它不是 TCP 或 UDP)OpenVPN 可以配置为仅使用 TCP 或 UDP,但它会进行某种类似 SSL 的握手,而我的代理似乎不喜欢这种握手。普通的 TCP 和 UDP 应用程序在我的系统上运行良好。如果它们使用 SSL,那么它们似乎会出现问题,因为代理实际上正在接受 TCP 和 UDP 连接,并从另一台计算机重新发送它们。
UDP 可能更受欢迎,因为这样就不会出现我读到的 TCP over TCP 问题。同样,协议本身的安全性不是问题。我更希望它完全不加密,因为 B 和 C 之间的桥梁已经很安全了,而且 SSL 似乎会引起问题。
答案1
我会把这个作为我自己的问题的答案发布出来,但是 SOCKS 代理只使用一个端口,并且可以在这样的场景中使用。然后可以通过此代理加载您选择的 vpn。(具体来说,OpenVPN 可以在没有安全性的情况下配置,auth=none 和 cypher=none)