我的路由器为每个设备分配两个 IPv6 地址,一个是来自 2001::/16 范围的全局地址,一个是来自 fd00::/16 的本地地址,并将主机名解析为这些 IP,即可全局可路由的 IPv6、私有 IPv6 和本地 IPv4(使用通常的 NAT 路由)。
当我现在使用 ping 或 ssh 时,它们使用全局地址,但我希望它们优先使用本地地址。当有多个范围可用时,有没有办法定义哪些范围是首选?
编辑:
我并不关心 IP 的实际样子。路由器提供两个子网和 DNS,并且它与 SLAAC 配合使用,工作正常。主机名有两个 AAAA 记录,程序似乎在一台机器上选择具有全局地址的记录,在另一台机器上选择具有本地地址的记录。
我希望他们在两台机器上都使用本地,此外,如果有机制可以详细配置这一点,那就太好了。
但首先,“首选本地”解决方案就足够了。
答案1
RFC 6724,互联网协议版本 6 (IPv6) 的默认地址选择关于地址选择,预计:
默认情况下,全局 IPv6 目的地优先于 ULA 目的地,因为任意的 ULA 不一定可以到达
假设 2001::/16 中的某个前缀是您的,那么它是本地的。数据包从本地路由器反弹并通过 LAN 返回,不会接触互联网。如果在链接上,则直接到达目的地,甚至不会到达路由器。与 IPv4 相比,这似乎很奇怪,因为 IPv4 的地址非常稀缺,很少有人能负担得起使用公共地址来寻址 LAN。
虽然可以调整选择策略,但不要担心。您拥有完全可用的地址,并且恰好是全局可路由的。如果您的 ISP 没有为您提供(静态)前缀,ULA 会更有吸引力。