我需要从客户端计算机 A 向 VPN 服务器 C 发送流量,但是 通过中继主机 B。这三者都有公共 IPv4 地址,但出于政策原因,A 在任何情况下都不能直接向 C 发送流量。A 只允许与 B 通信。另一个硬性要求是“真正的”VPN,作为 A 上的网络接口出现 - 而不是 SOCKS 代理(我知道如何用 SSH 来实现)。
我控制这三台机器上的软件,不应该可能是 NAT 或防火墙的问题。
我甚至还没能弄清楚哪个VPN软件可以做到这一点,更不用说如何设置它了。OpenVPN 和 Openswan 的所有文档都只讨论从客户端到服务器的直接连接。
答案1
我需要从客户端机器 A 向 VPN 服务器 C 发送流量,但要通过中继主机 B。
你需要在 A 和 B 之间建立一条隧道,并将 A 到 C 的路由指向这条隧道。或者,你可以在 A 和 B 之间以及 B 和 C 之间建立隧道,并在隧道之间路由。
抱歉,产品推荐显然与主题无关。顺便说一句,SOCKS与SSH无关。
答案2
您可以在服务器 B 上设置 HTTP 代理并使用 OpenVPN。
https://openvpn.net/index.php/open-source/documentation/howto.html#http
答案3
您可以在点 C 和 B 使用软以太 vpn 服务器,在它们之间使用级联连接并在点 C 上使用 secureNAt,然后从 A 到 B 建立 vpn 连接,所有流量将从级联到 C,并且您的 vpn 客户端公共 IP 将是 C。