我们的非 IT 公司使用仅支持 IPv4 的 Web 服务,该服务仅允许从我们的(白名单)IPv4 IP 进行访问。此 IP 已分配给我们的一个 VPS(此 VPS 还分配有一个 IPv6)。
我们通常从其他 IPv4 机器通过 SSH 隧道连接到此 VPS,并通过 Firefox 中的代理设置使用 IP 地址。这完全符合我们的要求,但不适用于仅支持 IPv6 的机器。这些机器可以使用其 IPv6 地址通过 SSH 隧道连接到 VPS,但我们只能使用 VPS 的 IPv6,而不能使用 IPv4。
有没有办法使用这个 VPS 的 IPv4,也许可以使用 VPS 作为中间服务器来“翻译”请求?我们更喜欢类似隧道的解决方案,但如果它能帮助我们实现目标,那么所有可能的工具都是允许的。
我们已经尝试了建立 ssh 连接的大多数方法(ssh 和 sshuttle),并且使用 socat 也做了一些事情,但还没有成功,我们发现的大多数解决方案都是将 IPv4 转换为 IPv6,而不是将 IPv6 转换为 IPv4。
答案1
如果问题还影响到其他人,让我们起草一个更全面的解释。OP 通过以下方式建立的 SOCKS5 代理连接到网络:
ssh -D <local_port>
不幸的是Firefox 错误,这不允许仅支持 IPv6 的主机使用代理连接到 IPv4 地址。它们也必须启用 DNS 代理。
在另一个方向上,仅支持 IPv4 的主机可以使用代理连接到 IPv6 地址。