![试图找出我的 ipv6 地址,但有多个选项](https://linux22.com/image/213501/%E8%AF%95%E5%9B%BE%E6%89%BE%E5%87%BA%E6%88%91%E7%9A%84%20ipv6%20%E5%9C%B0%E5%9D%80%EF%BC%8C%E4%BD%86%E6%9C%89%E5%A4%9A%E4%B8%AA%E9%80%89%E9%A1%B9.png)
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
- 各是什么意思?仅在全球范围内这些差异是什么?
我正在尝试为我的 RPi 设置固定 IP,编辑/etc/dhcpcd.conf
.
scope link
在这种情况下实际上是正确的吗?- 如果我把全局的放在一起会发生什么?
答案1
scope global
存在或不存在的地址mngtmpaddr
将是您想要的地址。
IPv6 标准要求的链路本地地址 ( scope link
) 开头。fe80::
然而,将它们用于任何用途都要求您还指定它们连接到哪个接口,它们根本无法路由,这通常意味着将它们记录在任何配置文件中可能是一个错误。(我想不出任何不存在的上下文)。
我相信该mngtmpaddr
地址是为了生成临时 IPv6 地址以保护隐私。看man ip-address
(这里).:
mngtmpaddr
(仅限 IPv6)使内核管理从此地址作为代表隐私扩展 (RFC3041) 的模板创建的临时地址。要使其处于活动状态,必须将 use_tempaddr sysctl 设置设置为大于零的值。给定地址的前缀长度需要为 64。此标志允许在手动配置的网络中使用隐私扩展,就像无状态自动配置处于活动状态一样。
因此 DCHP6 分配的地址将是另一地址。