试图找出我的 ipv6 地址,但有多个选项

试图找出我的 ipv6 地址,但有多个选项

ip -6 addr

打印大量实际地址:

    inet6 <addr>/128 scope global dynamic noprefixroute 
       valid_lft 999612sec preferred_lft 394812sec
    inet6 <addr>/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 1002639sec preferred_lft 397839sec
    inet6 <addr>/64 scope link 
       valid_lft forever preferred_lft forever

到目前为止,我现在这global意味着它已得到全球认可。但我有两个全局 - 哪个是我实际有效的 ipv6 地址?

在另一台主机上,我有三个:

/128 scope global dynamic noprefixroute
/64 scope global temporary dynamic
/64 scope global dynamic mngtmpaddr noprefixroute
  1. 各是什么意思?仅在全球范围内这些差异是什么?

我正在尝试为我的 RPi 设置固定 IP,编辑/etc/dhcpcd.conf.

  1. scope link在这种情况下实际上是正确的吗?
  2. 如果我把全局的放在一起会发生什么?

答案1

scope global存在或不存在的地址mngtmpaddr将是您想要的地址。

IPv6 标准要求的链路本地地址 ( scope link) 开头。fe80::然而,将它们用于任何用途都要求您还指定它们连接到哪个接口,它们根本无法路由,这通常意味着将它们记录在任何配置文件中可能是一个错误。(我想不出任何不存在的上下文)

我相信该mngtmpaddr地址是为了生成临时 IPv6 地址以保护隐私。看man ip-address这里).:

mngtmpaddr

(仅限 IPv6)使内核管理从此地址作为代表隐私扩展 (RFC3041) 的模板创建的临时地址。要使其处于活动状态,必须将 use_tempaddr sysctl 设置设置为大于零的值。给定地址的前缀长度需要为 64。此标志允许在手动配置的网络中使用隐私扩展,就像无状态自动配置处于活动状态一样。

因此 DCHP6 分配的地址将是另一地址。

相关内容