我有 VPS,假设 VPS X,它没有 IPv4 但只有 IPv6。
和
我有 VPS,假设 VPS Y 没有 IPv6 但只有 IPv4。
由于 IPv4 目前仍被广泛使用,并且某些设备无法访问 IPv6。
我想使用 VPS Y 网卡作为 VPS X 的 IPv4,因为 VPS X 没有 IPv4。
我希望 VPS Y 中的 UDP 端口监听来自互联网的传入连接,然后将 UDP 数据报转发到 VPS X 中的 UDP 端口。
我可以通过在 VPS X 中运行此命令来使用 SSH 转发来实现它。
SSH -NR 19132:localhost:19133 server
我可以通过 SSH 从 VPS X 连接到 VPS Y。但 VPS Y 无法连接到 VPS X。
不幸的是,SSH 转发仅适用于 TCP 端口。而我想要 UDP 端口转发,因为 minecraft bedrock 服务器使用的是 UDP。
答案1
要求您的 IPv4 托管提供商提供 IPv6。(以及所有互联网连接。)本机直接连接更易于使用。
您只有 IPv6 基础设施可以通信,并且需要双向通信。ssh 转发不是 UDP 的选项。UDP 代理软件存在,但不能解决根本原因。
仅 IPv4 和仅 IPv6 的主机之间没有双栈主机进行某种转换,因此无法相互通信。例如,您从 X 到 Y 的 ssh 连接可能是因为 NAT64 而起作用的。对于任意 IP 地址,反向操作都不起作用,无法将 128 位编码为 32 位。虽然您可以将两者连接到另一台(双栈)主机以将 VPN 作为覆盖网络,但这很复杂并且会增加延迟。端到端的 IPv6 更胜一筹。