我仍然对 IPv4 映射 IPv6 地址的用途感到困惑,希望得到一些启发。
我有一对服务器客户端机器,我打算通过 Openvpn 连接它们。服务器有一个 IPv6 地址,而客户端只有一个 IPv4 地址。当我 ping 客户端的 IPv4 映射 IPv6 地址时,有响应。但是,当我将客户端配置为连接到服务器的 IPv6 地址时,我无法连接。我已将客户端的 IPv4 映射 IPv6 地址包含在 Openvpn 客户端配置文件中 -- 本地
让我们切换一下。现在,服务器有一个 IPv4 地址(带有一个 IPv4 映射的 IPv6 地址),而客户端有一个 IPv6 地址。我也无法通过连接到服务器的 IPv4 映射的 IPv6 地址来建立 Openvpn 连接。
在这种情况下,当 IPv4 映射 IPv6 地址时,Openvpn 连接有什么好处呢?
TLDR:例如,我有一台仅支持 IPv4 的机器,其 IP 为 126.10.13.2,并且它有一个 IPv4 映射的 IPv6 地址:::ffff:7e0a:d02。我还有另一台 IPv6 机器,其 IP 为 2a04::dead:beef:5802:A。我如何通过 Openvpn 连接这两台机器?我似乎无法将两台机器的 IPv6 地址连接在一起。
答案1
这些映射地址不能用于建立 IPv6 连接。它们只能用于在 IPv6 软件中表示 IPv4 连接。
假设您有一台同时使用 IPv4 和 IPv6 的双栈计算机。您可以在该计算机上运行专为 IPv6 编写的软件(因为只支持一种协议比支持两种协议更容易)。如果该软件侦听 IPv6 地址,::
它仍然可以接受来自 IPv4 客户端的连接。由于该软件仅为 IPv6 编写,因此它只能处理 IPv6 地址,而内核使用::ffff:aabb:ccdd
来表示 IPv4 地址aa.bb.cc.dd
。
这并不意味着网络上的协议是 IPv6。该协议是 IPv4,具有使其可用于仅 IPv6 软件的映射。
因此,不可能使用这些映射地址与 IPv6 系统进行通信,因为在系统内部它们仍然是 IPv4 连接。