![在 Linux 内核中使用 IPv4 映射的 IPv6 地址作为下一跳地址编程 IPv6 路由时出现的问题](https://linux22.com/image/1587308/%E5%9C%A8%20Linux%20%E5%86%85%E6%A0%B8%E4%B8%AD%E4%BD%BF%E7%94%A8%20IPv4%20%E6%98%A0%E5%B0%84%E7%9A%84%20IPv6%20%E5%9C%B0%E5%9D%80%E4%BD%9C%E4%B8%BA%E4%B8%8B%E4%B8%80%E8%B7%B3%E5%9C%B0%E5%9D%80%E7%BC%96%E7%A8%8B%20IPv6%20%E8%B7%AF%E7%94%B1%E6%97%B6%E5%87%BA%E7%8E%B0%E7%9A%84%E9%97%AE%E9%A2%98.png)
内核版本:4.0.5
Linux终端上执行的命令:
- ip tuntap 添加模式 tap dummy_1
- ip -6 地址添加 ::FFFF:A9FE:0005/120 dev dummy_1
- ip -6 neigh 添加 ::FFFF:A9FE:000A lladdr 00:a9:fe:00:05:ff dev dummy_1
- ip -6 路由添加 1111::1111/128 通过 ::FFFF:A9FE:000A dev dummy_1
输出:命令 4 的参数无效
同一组命令在 Linux 内核 4.16 上运行。
但是内核版本 4.0.5 或更低版本,IPv4 映射的 IPv6 地址显示无效,当我尝试使用以下方式 ping dummy_1 上的本地地址时也观察到了同样的行为
ping6 ::FFFF:A9FE:0005
连接:无法到达目标