RT ,就是 fe80 开头的本地 ipv6 地址,关掉随机 MAC 后,还是一段时间变一次,个人理解本地地址不应该是固定的么?有没有办法固定?
1
gentrydeng 203 天前 via Android
> 链路本地地址(英语:Link-local address ),又称連結本地位址、本地鏈路位址,是计算机网络中一类特殊的地址,它仅供于在网段,或广播域中的主机相互通信使用。这类主机通常不需要外部互联网服务,仅有主机间相互通讯的需求。
> > IPv4 链路本地地址定义在 169.254.0.0/16 地址块。IPv6 定义在 fe80::/10 地址块。 |
2
gentrydeng 203 天前 via Android 1
#1 来自维基百科“链路本地地址”页面
|
3
renmu 203 天前 via Android
据我所知 ipv6 地址和 mac 地址可以说毫无关系
|
4
dingli900201 OP @renmu 那本地链路地址能固定么?
|
5
waklealone 203 天前
需要在路由器设置 ip mac 绑定吧 , 不然不管 ipv4 还是 ipv6 都是会变的
|
6
bobryjosin 203 天前
你猜他为什么叫 slaac 无状态地址分配,slaac 只负责分配地址,确认下发地址是否重复,固不固定地址由客户端说了算,只要前缀不变就可以一直用,很多客户端会默认申请一个临时地址上网,这个地址和 ipv4 一样会过期,过期就会换,和 3 楼说的一样,这和 mac 没什么关系,linux 和 windows 可以关掉临时地址优先,强制使用 eui-64 生成本地链路地址,linux 也可以用 dhcpv6 ,android 和 ios 并不支持。
|
7
pagxir 203 天前 via Android
这个跟 addr_gen_mode 有关,可以看看 rfc7217
|
8
dodakt 203 天前
@bobryjosin 如果没记错 iOS 支持 dhcpv6 原生安卓确实是不支持
|
9
dingli900201 OP @dodakt 查了 APPLE 官方的介绍,只支持无状态的 dhcpv6 ,无解。
IPv6 安全性 所有 Apple 操作系统都支持 IPv6 ,为保护用户的隐私和网络堆栈的稳定性实施了多种机制。使用无状态地址自动配置 (SLAAC) 时,所有接口的 IPv6 地址的生成方式既可以帮助防止跨网络跟踪设备,同时可在网络未发生改变时确保地址的稳定性,从而提供良好的用户体验。自 RFC 3972 起,地址生成算法基于加密生成地址,并通过特定于接口的修饰符进行增强,以保证同一网络上甚至不同的接口最终都具有不同的地址。此外,创建的临时地址的首选生命周期为 24 小时,默认用于任何新连接。为了与 iOS 14 、iPadOS 14 和 watchOS 7 中引入的“私有无线局域网地址”功能保持一致,将为设备加入的每个无线局域网生成唯一的本地链接地址。网络的 SSID 将合并为地址生成的附加元素,类似于自 RFC 7217 之后的 Network_ID 参数。iOS 14 、iPadOS 14 和 watchOS 7 使用此方法。 为了防止基于 IPv6 扩展标头和分段的攻击,Apple 设备实施了 RFC 6980 、RFC 7112 和 RFC 8021 中指定的保护措施。与其他措施相比,这些措施可以阻止仅可在第二个分段中发现上层标头(如下所示)时发生的攻击,而这种攻击可能导致无状态数据包过滤等安全性控制执行混乱。 |
10
dingli900201 OP @pagxir 大佬点破,无解了。
|
12
jim9606 202 天前
因为几乎所有桌面/手机操作系统都会执行 RFC4941 隐私拓展,在 SLAAC 模式下随机生成一个主机 id 用于出站通信并定期更换。这个机制的目的是防止广域网通过相对稳定的主机 id (例如 eui64 生成的主机 id )跨网络跟踪用户。
android 和 ios 一直拒绝支持 slaac 以外的分配方式就是为了保证隐私拓展能被落实,哪怕是需要严格追踪的企业网络也不例外。 不是对外提供服务的主机不需要稳定主机 id ,也不建议折腾这个。 MAC 随机化是防止网络接入提供商(例如热点建设者)跟踪用户,广域网拿不到 mac 不能用这个方法跟踪。 |