一个接口上有两个 ULA 地址

一个接口上有两个 ULA 地址

我有一台树莓派连接到 OpenWrt IPv4/IPv6 路由器。如下所示,在eth1接口我得到两个ULA地址:fd00::1f0/128fd00::27d5:6387:c8e5:3b1a/64

在路由器上,设置了 fd00::/64 ULA 前缀,用于测试目的。我的问题是:

  1. 为什么有两个不同的 ULA 地址?
  2. 它们是如何创建的?前缀是否以某种方式从路由器发布?网络上的主机是否请求它?
  3. 第一个 ULA 地址上的 /128 是什么意思?128 位前缀长度没有多大意义。

在我的树莓派上运行 ip -a

    3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:e0:99:00:06:d3 brd ff:ff:ff:ff:ff:ff
    
    inet 192.168.1.10/24 brd 192.168.1.255 scope global dynamic noprefixroute eth1
       valid_lft 41726sec preferred_lft 36326sec
    inet6 fd00::1f0/128 scope global dynamic noprefixroute
       valid_lft 42612sec preferred_lft 42612sec
    inet6 fd00::27d5:6387:c8e5:3b1a/64 scope global mngtmpaddr noprefixroute
       valid_lft forever preferred_lft forever
    inet6 fe80::6e28:de2e:f0e0:ce5f/64 scope link
       valid_lft forever preferred_lft forever

答案1

第一个 IPv6 地址上的值valid_lft表示它是通过 DHCP 租约获得的。它显示掩码,/128因为它是单个主机 IP(与/32IPv4 中的 IP 相比)。ip -6 route应该显示/64网络

第二个 IPv6 地址上的标志mngtmpaddr表示它是用于无状态地址自动配置 (SLAAC) 的隐私扩展地址池。如果use_tempaddr启用了 sysctl 设置,内核将从该池生成地址作为传出流量的来源

基本上,它将使用自动生成的地址在 LANmngtmpaddr上进行通信/64,并/128使用地址直接与网关进行通信

相关内容