macOS 在通过 DHCPv6 获得 IPv6 之后会拿到多个地址的原因

2018-05-12 18:14:55 +08:00
 Livid

Privacy Extensions for Stateless Address Autoconfiguration in IPv6

https://tools.ietf.org/html/rfc4941

通过 DHCPv6 获得 IPv6 地址之后,如果运行 ifconfig -a,那么会看到三个 inet6 地址,除了 fe80 开头的 link-local 地址之外,还有这两个:

如果这时候访问类似 bgp.he.net 之类的可以看到自己 IPv6 地址的服务,那么会看到的是 autoconf temporary 地址,而且这个地址会经常变化。这是 RFC4941 里定义了的一种隐私保护机制。

6121 次点击
所在节点    IPv6
5 条回复
hu6360567
2018-05-12 18:18:08 +08:00
DHCPv6 一般不会拿到多个 ipv6 地址,使用无状态的自动分配并启用了隐私扩展才会。其中默认的 secured 地址是根据 mac 地址计算出来的,是固定的,一般用于其他主机连接本机。隐私地址一般用于向外发起连接时使用
Livid
2018-05-12 18:20:26 +08:00
@hu6360567 谢谢。刚刚还在编辑中。编辑完之后看到你的这条回复也上来了。
Livid
2018-05-12 18:22:35 +08:00
因此,如果是在 IPv6 上要进行 IP block,那么可能很多时候至少要封一个 /64。
dndx
2018-05-19 04:14:31 +08:00
对的。IPv6 使用 SLAAC 才会启用 Privacy Extensions,而 SLAAC 只有在 /64 或者更大的 block 上才可以使用。如果小于 /64 则只能走 DHCPv6,这种情况下 Privacy Extensions 不会(也没有必要)启用。
fastcache
2018-11-22 10:33:21 +08:00
SLAAC 只在 /64 启用, 其他都不行

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/454332

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX