我在两个 IPv6 网络中有一些 IPv6 节点。有一个 IPv6 路由器,与所有节点都本地链接。
路由器发出包含两个网络前缀的路由器通告 (RA)。网络中的节点接受 RA 并使用前缀创建两个随机地址。
我想要配置一个节点(Alpine Linux)为两个前缀之一提供静态地址,同时在同一接口上对另一个前缀使用 SLAAC。
问题是服务器仍然需要接受 RA 来配置第二个网络的地址。我尝试解决的失败结果是我为同一个前缀配置了两个地址,而不是一个静态地址。
我为网络接口配置了一个静态地址:
/etc/network/interfaces
iface eth0 inet6 static
address fd22:235b:ffe9:1::17/64
配置的结果是接口获得为该前缀创建的第二个地址:
inet6 fd22:235b:ffe9:1::17/64 # desired static address
inet6 2001:a53:638:1f01:2bc3:ec82:5ab:db1/64 # desired address derived from router advertisement
inet6 fd22:235b:ffe9:1:ecc3:b271:273a:3836/64 # additional random address
inet6 fe80::4971:fcbf:62cd:8137/64
控制自动地址配置的内核参数都是接口范围的,并且阻止为两个前缀创建地址,而不仅仅是为具有静态地址的前缀创建地址。
sysctl net.ipv6.conf.eth0.autoconf=0
sysctl net.ipv6.conf.eth0.accept_ra=0
如何防止自动配置两个前缀之一的地址?我不想运行 DHCPv6 服务器。