我有一台装有 1 个私有 IPv4(192.168.0.X)和一些 IPv6(我们称之为 Y::Z)的机器。我有一个应用程序在 192.168.0.X 的 1234 端口上监听,还有一个应用程序想要连接到该服务,但使用 Y::Z 作为源地址。
因此,我考虑使用 ::ffff:0:0/96 前缀,但远程登录 ::ffff:192.168.0.X(使用源地址 Y::Z)时出现“网络不可达”错误。我尝试添加路由规则,但似乎没有任何效果。
我如何可以允许
telnet -b Y::Z ::ffff:192.168.0.X 1234
上班?
谢谢。
编辑:操作系统:Debian Squeeze(在 OpenVZ 容器中,内核 2.6.32)。
我还忘了说
telnet -6 ::ffff:192.168.0.X 1234
正常工作。
答案1
我有一个盒子,里面有 1 个私有 IPv4(192.168.0.X)和一些 IPv6(我们称之为 Y::Z)。…
telnet -b Y::Z ::ffff:192.168.0.X 1234
上面的内容毫无意义:您尝试使用本机 IPv6 地址作为源,通过 telnet 连接到本机 IPv4 地址(以 IPv6 表示法表示)?除非您有 464XLAT 和 NAT64 之类的东西,否则这绝对行不通。
是的,在某些系统和某些设置(通常是 Linux 上的默认设置)上,您可以在 IPv6 套接字上接受仅 IPv4 的连接,但任何此类连接的源地址和目标地址仍然必须是 IPv4。