V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dingli900201
V2EX  ›  宽带症候群

iOS 的本地 ipv6 地址在关掉了随机 MAC 后为什么还是会变?

  •  
  •   dingli900201 · 203 天前 · 1957 次点击
    这是一个创建于 203 天前的主题,其中的信息可能已经有所发展或是发生改变。

    RT ,就是 fe80 开头的本地 ipv6 地址,关掉随机 MAC 后,还是一段时间变一次,个人理解本地地址不应该是固定的么?有没有办法固定?

    12 条回复    2024-05-04 20:35:50 +08:00
    gentrydeng
        1
    gentrydeng  
       203 天前 via Android
    > 链路本地地址(英语:Link-local address ),又称連結本地位址、本地鏈路位址,是计算机网络中一类特殊的地址,它仅供于在网段,或广播域中的主机相互通信使用。这类主机通常不需要外部互联网服务,仅有主机间相互通讯的需求。
    >
    > IPv4 链路本地地址定义在 169.254.0.0/16 地址块。IPv6 定义在 fe80::/10 地址块。
    gentrydeng
        2
    gentrydeng  
       203 天前 via Android   ❤️ 1
    #1 来自维基百科“链路本地地址”页面
    renmu
        3
    renmu  
       203 天前 via Android
    据我所知 ipv6 地址和 mac 地址可以说毫无关系
    dingli900201
        4
    dingli900201  
    OP
       203 天前
    @renmu 那本地链路地址能固定么?
    waklealone
        5
    waklealone  
       203 天前
    需要在路由器设置 ip mac 绑定吧 , 不然不管 ipv4 还是 ipv6 都是会变的
    bobryjosin
        6
    bobryjosin  
       203 天前
    你猜他为什么叫 slaac 无状态地址分配,slaac 只负责分配地址,确认下发地址是否重复,固不固定地址由客户端说了算,只要前缀不变就可以一直用,很多客户端会默认申请一个临时地址上网,这个地址和 ipv4 一样会过期,过期就会换,和 3 楼说的一样,这和 mac 没什么关系,linux 和 windows 可以关掉临时地址优先,强制使用 eui-64 生成本地链路地址,linux 也可以用 dhcpv6 ,android 和 ios 并不支持。
    pagxir
        7
    pagxir  
       203 天前 via Android
    这个跟 addr_gen_mode 有关,可以看看 rfc7217
    dodakt
        8
    dodakt  
       203 天前
    @bobryjosin 如果没记错 iOS 支持 dhcpv6 原生安卓确实是不支持
    dingli900201
        9
    dingli900201  
    OP
       203 天前
    @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 中指定的保护措施。与其他措施相比,这些措施可以阻止仅可在第二个分段中发现上层标头(如下所示)时发生的攻击,而这种攻击可能导致无状态数据包过滤等安全性控制执行混乱。
    dingli900201
        10
    dingli900201  
    OP
       203 天前
    @pagxir 大佬点破,无解了。
    xqzr
        11
    xqzr  
       203 天前
    考虑配置 ULA
    /t/488116
    jim9606
        12
    jim9606  
       203 天前
    因为几乎所有桌面/手机操作系统都会执行 RFC4941 隐私拓展,在 SLAAC 模式下随机生成一个主机 id 用于出站通信并定期更换。这个机制的目的是防止广域网通过相对稳定的主机 id (例如 eui64 生成的主机 id )跨网络跟踪用户。

    android 和 ios 一直拒绝支持 slaac 以外的分配方式就是为了保证隐私拓展能被落实,哪怕是需要严格追踪的企业网络也不例外。

    不是对外提供服务的主机不需要稳定主机 id ,也不建议折腾这个。

    MAC 随机化是防止网络接入提供商(例如热点建设者)跟踪用户,广域网拿不到 mac 不能用这个方法跟踪。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   996 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 20:09 · PVG 04:09 · LAX 12:09 · JFK 15:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.