地址更改后 Quagga 路由器广告消息是错误的

网络工程 路由器 ip ipv6 协议理论 斑驴
2021-07-08 16:53:49

我对 Quagga OSPFv3 实现有疑问。我有一个主机连接到路由器的 Mininet 拓扑。

我为路由器接口分配了一个 IPv6 地址。我在主机中启用了 IPv6 自动配置

sysctl -w net.ipv6.conf.all.autoconf=1

当我启动 Mininet 时,它会为主机分配一个正确的 IPv6 地址。

但是如果我更改了路由器接口的 IPv6 地址,则主机不会在新子网中获得新地址。

问题是在地址更改后,路由器发送的路由器广告消息保持广告旧前缀。然后主机不设置新地址。

一个例子:

  • 在 ospfv3 配置中我分配了地址 fdf0:0:0:3::1/64
  • 路由器通告fdf0:0:0:3::/64地址前缀
  • fdf0:0:0:3::2 分配给主机我分配给路由器的地址
  • fc00::1/64 主机地址不会改变,因为路由器一直在做广告 fdf0:0:0:3::/64

那么,为什么会有这种奇怪的行为呢?

1个回答

简单地为接口分配新的 IPv6 地址不会删除旧的 IPv6 地址。IPv6 允许您为一个接口分配多个地址,包括来自不同网络的地址。

例如,您将拥有一个本地链路 IPv6 地址。然后,您可以为接口分配多个全局和/或 ULA 地址。理论上,可以分配给接口的 IPv6 地址数量没有限制,但操作系统对可以分配给接口的 IPv6 地址数量有限制。