添加特定下一跳地址时出现 ipv6 路由添加问题

添加特定下一跳地址时出现 ipv6 路由添加问题

// 内核中针对特定子网的 IPv6 路由添加问题...(1000::)...为什么?

// 添加 ipv6 路由:

sudo /sbin/ip -6 route add 1005:1006:1007:1008::1/64 via 1001:1002:1003:1004::1 dev eth0

RTNETLINK answers: No route to host

// 但对于其他情况

sudo /sbin/ip -6 route add 2000::/3  dev eth0

sudo /sbin/ip -6 route add 1005:1006:1007:1008::1/64 via 2000:: dev eth0

// 现在它工作正常了..为什么会这样?请解释一下这个问题..谢谢

答案1

首先,你正在使用保留的地址空间,你不应该使用它。要么从你的 ISP 获取地址空间,要么生成你自己的 ULA 前缀(我建议六XS)。

第一个命令不起作用的原因是您的网关与您自己的 IP 地址位于不同的网络上。您需要到达网关才能到达离线目的地,但网关本身却离线。这永远行不通。

该地址1005:1006:1007:1008::1/64是子网的一部分1005:1006:1007:1008::/64。该子网上的地址从(拼写出您通常会省略的所有零)1005:1006:1007:1008:0000:0000:0000:00001005:1006:1007:1008:ffff:ffff:ffff:ffff。如您所见,1001:1002:1003:1004::1不在该范围内,因此您的配置无效。

在第二个示例中,您告诉您的机器2000::/3(即所有当前使用的全局单播空间)位于您的以太网接口上。因此,您基本上是在告诉您的机器整个互联网是一个大 LAN,即您的 LAN。之后,您当然可以使用任何地址2000::/3作为您的默认网关,因为该范围内的所有内容都被视为在线的。因此,您不会从系统收到错误,但您仍然错误地配置了您的网络。

如果你想尝试 IPv6,你应该使用 ULA 空间运行本地实验室,或者从以下地址获取 IPv6 隧道:六XS或者飓风电气

我建议您了解 IP 寻址的工作原理,这样您就知道自己在做什么。此类问答网站非常适合回答您的具体问题,但它们并不适合替代学习基础知识或参加培训课程。尝试以下一些网站和文档来帮助您入门:

相关内容