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

发现大部分人都误解了, Windows 上的 ipv6 受到抨击的问题,还是把临时的 ipv6 地址关掉吧。

  •  
  •   yyysuo · 285 天前 · 2914 次点击
    这是一个创建于 285 天前的主题,其中的信息可能已经有所发展或是发生改变。
    关闭命令:
    netsh interface ipv6 set privacy state=disable

    其实关于 Windows 上 ipv6 失效,有 2 种情况
    1:主路由重启或者重拨号,会导致 Windows 获取到多个 ipv6 地址,都是首选,其中包括失效的 ipv6 地址,导致 ipv6 不可用,这种在 v2 上搜索受到抨击,不同的路由系统有不同的修改方式,是需要修改路由器上的设置来解决。
    2:Windows 本来 ipv6 好好的,开机 1 天以上出现 ipv6 不可用的情况,这时候用 ipconfig /all 去看,会发现有 2 个临时 ipv6 地址,其中一个受到抨击,这纯粹是 Windows 的问题,跟路由上的设置没什么关系。

    我用 openwrt 系统,网络设置如下:
    config dhcp 'lan'
    option interface 'lan'
    option start '100'
    option limit '150'
    option force '1'
    option ra 'server'
    option ra_dns '0'
    option ra_lifetime '1200'
    list dhcp_option '6,10.10.10.1'
    option ra_default '1'
    option ra_useleasetime '1'
    option leasetime '20m'
    option ra_flags 'other-config'
    option dhcpv6_na '0'
    option preferred_lifetime '20m'

    经过观察发现如下情况
    使用 netsh interface ipv6 show addresses 命令查看所有 ipv6 地址的 Preferred Lifetime 和 Valid Lifetime ,这 2 个时间跟 ra 广播的时间一致,都是 20 分钟,其中 Preferred Lifetime 时间耗尽后,不会再被更新,只有 Valid Lifetime 每 6 分钟被刷新一次,也就是说,所有 ipv6 地址的 Valid Lifetime 在消耗到剩余 14 分钟时,就会再次被更新为 20 分钟,包括受到抨击的临时 ipv6 地址,因为这时候不管是公用的 ipv6 地址和临时的 ipv6 地址,前缀并没有变化,还是有效的,所以都会被更新。

    但是 Windows 默认不会更换临时 ipv6 地址,因为前缀没变,即使这个临时的 ipv6 地址的 Preferred Lifetime 已经是 0 ,但是它还是有效的,并且有效的时间会一直被刷新。

    这时候有 2 个办法可以切换临时 ipv6 地址,第 1 个是 ping 一下主路由 lan 口的公网 ipv6 地址,另外一个是断开 wifi 重连,Windows 就会释放 Preferred Lifetime 为 0 的受到抨击的临时 ipv6 地址。

    目前找不到解决问题的办法,干脆关闭临时 ipv6 地址了事,命令在最开始。
    22 条回复    2024-04-11 21:01:47 +08:00
    morytyann
        1
    morytyann  
       285 天前   ❤️ 1
    受到抨击这个翻译真抽象啊……
    littlewing
        2
    littlewing  
       285 天前
    谁要 抨击 windows 上的 ipv6 ?
    lslqtz
        3
    lslqtz  
       285 天前
    我用 DHCPv6, Windows Server 2022 下 IPv6 不会自动续期, 手动 /renew6 有效. 网内的 Apple Device 均正常.
    是需要抨击一下.
    lslqtz
        4
    lslqtz  
       285 天前
    附 DHCPv6 问题解决方式, 任务间隔比内网生命周期稍低一些即可.
    https://imgur.com/OzasIrM
    lslqtz
        5
    lslqtz  
       285 天前
    yyysuo
        6
    yyysuo  
    OP
       285 天前 via iPhone
    @morytyann 用 netsh interface ipv6 show addresses 命令查出来的状态,就变成了反对
    morytyann
        7
    morytyann  
       285 天前
    @yyysuo 嗯嗯,总比受到抨击好,我的建议是不翻译 /狗头
    yyysuo
        8
    yyysuo  
    OP
       285 天前
    @lslqtz #3 为什么要用 DHCPv6 ?安卓不支持呀。
    likeflower
        9
    likeflower  
       284 天前
    windows server 默认就是 state=disable
    yyysuo
        10
    yyysuo  
    OP
       284 天前
    @likeflower 微软也知道自己搞的这玩意不稳定么。
    LisaSue
        11
    LisaSue  
       284 天前
    为了伺候家里的 windows 设备 dhcpv6 的有效期已经被我设置成 3 分钟了
    yyysuo
        12
    yyysuo  
    OP
       284 天前
    @LisaSue dhcpv6 一般在 Windows 上没啥问题吧。
    lslqtz
        13
    lslqtz  
       284 天前
    @yyysuo
    1. DHCPv6 可以与 SLAAC 共存;
    2. DHCPv6 可以在服务器上固定后缀;
    3. 我没有 Android 设备, 若有少部分设备我愿意放弃支持;
    username1919810
        14
    username1919810  
       284 天前
    我这里运营商的 DHCPv6 在 OpenWrt 上也有问题,隔一段时间就掉线 只能手动 renew
    https://github.com/openwrt/openwrt/issues/13454
    aMR
        15
    aMR  
       284 天前
    Preferred 要设成小于 Valid
    yyysuo
        16
    yyysuo  
    OP
       284 天前
    @aMR 原来是小于的,也是有同样的问题,应该就是 Windows 自身的问题。
    L0lita
        17
    L0lita  
       281 天前
    苹果的 wifi 里也有好几个 ipv6 地址 是不是也有这个问题 在重连 pppoe 不重连 wifi 的情况下 ipv6 会不通
    aMR
        18
    aMR  
       280 天前
    @yyysuo 我以前研究过类似的问题,抓包分析后猜测 windows 是按照路由的 ra 广播被动去刷新 preferred 的,最后用了这么一组参数,单位都是秒,max-interval<=preferred-lifetime<valid-lifetime ,保证 ra 广播在 preferred 归 0 之前到达
    preferred-lifetime 600
    valid-lifetime 1800
    max-interval 600
    Material3600
        19
    Material3600  
       219 天前
    @lslqtz bat 文件计划任务也太粗暴了(
    话说 ipconfig 命令无效该怎么办?我这边只能在网络-属性-取消勾选 IPV6 后点击确定,再次勾选 IPV6 后点击确定,才能重新获得 IPV6 地址
    lslqtz
        20
    lslqtz  
       219 天前
    @Material3600 可以试试 netsh int ipv6 set disabled 或 Powershell Get-NetAdapterBinding -ComponentID ms_tcpip6 等等.
    lslqtz
        21
    lslqtz  
       219 天前
    这个相比 /renew6 可能有副作用: 也许网卡会瞬间断网.
    Material3600
        22
    Material3600  
       218 天前
    @lslqtz
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2566 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:34 · PVG 09:34 · LAX 17:34 · JFK 20:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.