IPv6 ULA地址源选择

IPv6 ULA地址源选择

我有两个 Raspberry Pi(运行 2016 年 27 月 5 日的 Raspbian),我尝试将它们设置为使用 IPv6 ULA 地址进行 LAN 内限制的通信。

一切都很好,但有一个非常重要的细节:如果我使用 ULA(唯一本地地址)从一个连接到另一个,并打印目的地的源地址,则会显示“全局”地址。因此,不知何故,它被选为源地址。

我已阅读这两本指南并尝试了各种方法但无济于事:

里面的所有内容/etc/gai.conf都有评论。
我也会考虑Global完全删除该地址,如果我知道怎么做就好了。我的意思是,首先阻止系统获取,然后再将其删除并不是一个可行的解决方案。
删除该eth0:1节并直接将 ULA 分配给 eth0 即可ifconfig eth0 inet6 add fc00::6666/64。也许这是因为源地址选择算法现在正确地使用了可用的最小范围。看来使用别名接口会在某种程度上搞乱源地址选择算法。也许可以使用 来解决route -6

/etc/网络/接口

<--- IPv4 ellipsized --->
auto eth0:1
iface eth0:1 inet6 static
address fc00::6666
netmask 64
autoconf 1

当前前缀和路由:

# ip addrlabel list
prefix ::1/128 label 0 
prefix ::/96 label 3 
prefix ::ffff:0.0.0.0/96 label 4 
prefix 2001::/32 label 6 
prefix 2001:10::/28 label 7 
prefix 3ffe::/16 label 12 
prefix 2002::/16 label 2 
prefix fec0::/10 label 11 
prefix fc00::/7 label 5 
prefix ::/0 label 1 

# route -6
Kernel IPv6 routing table
Destination                    Next Hop                   Flag Met Ref Use If
::1/128                        ::                         U    256 0     0 lo
2001:760:XXXX:XXXX::/64        ::                         U    202 0     0 eth0
fc00::/64                      ::                         U    256 0     0 eth0
fe80::/64                      ::                         U    256 0     0 eth0
::/0                           fe80::210:WWWW:WWWW:WWWW   UG   202 1     8 eth0
::/0                           ::                         !n   -1  1     9 lo
::1/128                        ::                         Un   0   2     2 lo
2001:760:YYYY:YYYY:YYYY:YYYY:YYYY:YYYY/128 ::                         Un   0   1     0 lo
fc00::6666/128                 ::                         Un   0   1     0 lo
fe80::ba27:ZZZZ:ZZZZ:ZZZZ/128  ::                         Un   0   2     2 lo
ff00::/8                       ::                         U    256 1    35 eth0
::/0                           ::                         !n   -1  1     9 lo

答案1

在 IPv6 之前,别名用于允许多个地址。多个地址是 IPv6 的关键部分,因此别名现已过时。

我不知道为什么它们会在这里造成混乱,但既然您已经确定它们会造成混乱,那么解决方案就是不要使用别名。

您应该能够在您的配置中逐字替换eth0:1eth0并且它会起作用。 (还有一个更手动的替代方案,带有脚本挂钩)。

https://wiki.debian.org/NetworkConfiguration#iproute2_method


批评:显然你的地址缺少 UL 的 U 部分。


工作示例/etc/网络/接口:

auto lo
iface lo inet loopback

allow-hotplug eth0
iface eth0 inet static
address aaa.aaa.aaa.aaa
netmask 255.255.255.0
broadcast aaa.aaa.aaa.255
gateway aaa.aaa.aaa.254
dns-nameservers aaa.aaa.aaa.254
post-up /etc/firewallup.sh

auto eth0
iface eth0 inet6 static
address fc00::6666
netmask 64
autoconf 1

相关内容