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

求教, win11 ipv6 地址被强制过期,不能续期。

  •  
  •   MuJian · 309 天前 · 2326 次点击
    这是一个创建于 309 天前的主题,其中的信息可能已经有所发展或是发生改变。
    路由器是华硕 AX3000 ,ipv6 地址配置 Native ,笔记本安装 Win11 ,RedMibook 锐龙版,网卡是 mt7922 wifi6e 。
    通过 netsh interface ipv6 show addres 查询到配置如下

    接口 7: WLAN

    地址类型 DAD 状态 有效寿命 首选寿命 地址
    --------- ----------- ---------- ---------- ------------------------
    公用 首选项 9m56s 9m56s 2408:821b:2222:6db0:ee41:7598:7bb2:3e88
    其他 首选项 infinite infinite fe80::c208:2c28:f85a:73b9%7

    路由器大约 10 秒左右通告一次,ipv6 地址有效寿命和首选寿命看到的都是 10 分钟!我这路由器设定的是凌晨 4 点 05 分钟自动重启,笔记本设置插电只关屏不休眠,研究观察发现,在路由器重启后大约 2 个小时 10 分钟后,也就是 6 点 15 分,笔记本 ipv6 地址过期,也就是路由器重启的 2 小时后--6 点 5 分笔记本的 ipv6 地址就不再自动续期,并且 10 分钟过期后也不请新的 ipv6 地址了!通过 ipconfig /renew6 命令能够给笔记本获取 ipv6 地址 10 分钟,但不能自动续期,10 分钟后 ipv6 地址过期不能用了。重连 wifi 后,能坚持大约两小时,比如我 6 点 15 发现 ipv6 地址没了,重连 wifi 后大约 8 点 05 分 ipv6 地址不能续期,8 点 15 分钟 ipv6 地址消失。(也不绝对,今天为了测试 10 点 15 分手动重启路由器,记录发现笔记本 12 点 25 分 ipv6 地址过期,13:50 我重连笔记本 wifi ,预期 14 点 25 分 ipv6 地址过期消失,但实际并没有到期,而是到 15 点 25 分才被强制过期!)可能 win11 重启后,暂时 ipv6 地址没问题(这个观察样本较少,只昨天晚上 22 点多我重启了一次笔记本,发现到今天早上 4 点多,ipv6 地址续期都是正常的)

    这台笔记本去年 7 月买来就有这个问题,我后来降到 win10 系统,经过一通瞎操作--“禁用 ip help 服务,关掉无线网卡省电”啥的设置用了几个月没问题……但是升级了 win10 22h2 2024 年 1 月份的补丁后就问题复现,无论我怎么折腾都是此问题,又装回 win11 ,写了一个 cmd 脚本抓取记录 ipv6 地址过期时间才深入发现这个规律。一台老的 dell xps 笔记本,网卡是 kill1605 ,在办公室也是同样的 ax3000 ,一样的设置,也升级到了 win10 20241 月补丁,就没有一点问题……

    有没有大佬懂的能指教下,这个到底是啥问题,我本来都不想管了,先是想脚本看快过期后 ipconfig /renew6 一下,没想到只能坚持 10 分钟,然后又想用 netsh wlan connect wifi ,重连 wifi ,没想到只能坚持 2 小时,这个真的要把我整疯了!
    19 条回复    2024-02-26 21:57:58 +08:00
    cnbatch
        1
    cnbatch  
       309 天前
    早在 2018 年就有华硕无线路由器用户遇到过同样的情况
    https://superuser.com/questions/1376664/windows-losing-ipv6-address-after-10-minutes

    建议进入路由器的 IPv6 设置,检查 Enable Router Advertisement 这个选项有没有开启

    当然啦,华硕无线路由器还有一个做法是选择 Passthrough 模式。直通,比 Native 更稳。
    MuJian
        2
    MuJian  
    OP
       309 天前
    @cnbatch 我有怀疑过路由器,但是我试过 ros 和 openwrt ,同样有问题,都是用一段时间后 ipv6 地址消失,所以我觉的不是路由器问题,至少不全是路由器问题,而且,同样的电脑,老的 win10 就可以没问题,更新补丁后就出了问题,我还是倾向于 windows 的问题,但是不知道怎么改设置!!!

    路由器通告是开启的。
    MuJian
        3
    MuJian  
    OP
       309 天前
    @MuJian 因为是路由器拨号,所以没办法用 Native 模式。
    yjzll
        4
    yjzll  
       309 天前
    六( 1 )、IPV6 隔一定时间自动掉线
    0 * * * * /sbin/ifup wan6 ##每小时激活网络接口 wan6 ,使用此版本
    我也有这个问题,电信光猫拨号+openwrt+AP ,只能在 openwrt 上加一行了
    yjzll
        5
    yjzll  
       309 天前
    或者在电脑上 ping6 路由器 wan 侧 ipv6 地址 ,定时 ping
    MuJian
        6
    MuJian  
    OP
       308 天前
    @yjzll 你这样,所有终端都会掉 ipv6 吧?我一会试试 ping 好使不。
    jim9606
        7
    jim9606  
       308 天前 via Android
    如果 windows 有启用虚拟化的话试下删掉 host vswitch 直接使用物理网卡接入网络。前段时间我发现在有 vswitch 的时候由于网络栈不能正确获取接口上下线事件,windows 似乎不会根据被动接收的 RA 进行地址续期,但使用 dhcpv6(还无视了 managed 标志)就能正确续期。

    使用 openwrt 23.05+win11 23h2+wireshark 分析的初步结论。
    MuJian
        8
    MuJian  
    OP
       308 天前
    @jim9606 你是在虚拟机里安装的 win11 吗?我这个不是在虚拟机里应该和这个无关。

    昨天偶然在路由器日志里看到大量 hostapd: eth6: STA xx:xx:xx:xx:xx:xx WPA: pairwise key handshake completed (RSN)日志,而且很有规律,网络搜索发现是 wpa 加密方式定期更换?于是尝试设置华硕路由器里的 “WPA 群组无线密码转动间隔”为 0 ,(默认值是 3600 ),目前使用 4 小时没问题,还待观察。 感觉好像是无线网卡驱动问题?他们在 wpa 加密转换的时候出了问题?导致 ipv6 ra 续期包被丢弃?还待大佬测试,我对 wireshark 真的看不太懂。
    MuJian
        9
    MuJian  
    OP
       308 天前
    PS:华硕路由器如果开启了双频合一,那么设置华硕路由器里的 “WPA 群组无线密码转动间隔”为 0 ,仅仅是改了 2.4g 的设置。需要取消双频合一,单独设置 2.4g 和 5g 网络里这 2 个数值,都设置为 0 后可以再次开启双频合一。我这走了点弯路。
    yjzll
        10
    yjzll  
       307 天前
    IPv6 中继方案如果长时间没有 ipv6 流量可能会自动掉线。电信设置无解,win 电脑只能定时和登录时 ping6 到路由器 wan 侧 ipv6 地址。这两天捣鼓了下,多数讨论“路由器通告 prefix deprecated”和“没有自动清除之前的 IPv6 路由表”,哎,不搞了
    MuJian
        11
    MuJian  
    OP
       307 天前
    @yjzll op 的 ipv6 设置好像很麻烦,还有 ipv6 黑洞问题,至于清理之前的 ipv6 路由表最新版本应该行了吧?
    yjzll
        12
    yjzll  
       305 天前
    https://openwrt.org/zh-cn/doc/uci/radvd
    我想我找到了,上面这个中文解释,路由器通告,但实在改不来,想想还是算了,现在 win 配置计划任务,登录和每 15 分钟 ping6 openwrt 的 wan 侧 ipv6 地址,已经基本完美了
    yjzll
        13
    yjzll  
       305 天前
    记录一下 radvd 路由不生效的原因和解决方案
    https://hu60.cn/q.php/bbs.topic.105218.html
    发现可能是 ipv6 forwarding 未开启的原因。
    执行
    sysctl net.ipv6.conf.all.forwarding=1
    开启 ipv6 forwarding
    然后就正常工作了。

    openwrt 终端中,我执行了下 sysctl net.ipv6.conf.all.forwarding=1 ,过几天看看效果
    yjzll
        14
    yjzll  
       305 天前
    终端执行 tcpdump -nn -i eth0 icmp6 命令,看 ping6 执行后的 icmp 包,会发现很多不到达的地址都是电信或者阿里的地址,ping 一级路由器的网口地址后,仅有一个地址通,其他还是不通,可能是路由的服务器有多个,只开启了其中几个或 1 个,直接 ping ,使用的默认那个,就是关闭的,ping 一下 openwrt 的 wan 侧 ip ,就使得上级路由表在本地 openwrt 更新,选择那个开启的路由服务器,于是就能 ping 通了,ipv6 也就通了
    yjzll
        15
    yjzll  
       305 天前
    终于搞明白了,是 openwrt 的 odhcp6c 包出的问题,还没解决,下面是问题内容,哎
    https://github.com/openwrt/odhcp6c/issues/61
    IPv6 network stops working after a while
    https://github.com/openwrt/openwrt/issues/13454
    [odhcp6c] DHCPv6 client loses connection every 8 hours(after the second expiration of PD valid lifetime)
    yjzll
        16
    yjzll  
       304 天前
    最后。我关了 ipv6
    MuJian
        17
    MuJian  
    OP
       304 天前 via Android
    @yjzll 哈,ipv6 问题确实多,各种设备都有自己的想法
    yjzll
        18
    yjzll  
       303 天前
    链接: https://pan.baidu.com/s/1gwXScLa3vrGOKL6fHQWcmw 提取码: 2dc3 复制这段内容后打开百度网盘手机 App ,操作更方便哦
    我解决了之前的问题
    第八、终端下修改 /etc/sysctl.conf 文件
    首页--终端,输入用户名 root 和密码 password 。
    输入 vim /etc/sysctl.conf ,Insert 切换编辑功能。
    net.ipv6.conf.default.forwarding=2
    net.ipv6.conf.all.forwarding=2
    net.ipv6.conf.default.accept_ra=2
    net.ipv6.conf.all.accept_ra=2
    ESC 退出编辑,输入 :wq 保存退出。
    yjzll
        19
    yjzll  
       295 天前
    是光猫问题和 openwrt ( istore )的综合问题
    光猫问题:竟然在 ipv6 下有两个网关, 隔壁家的光猫就一个网关。
    fe80::933:7cc9:26ef:3cb
    fe80::1 fe80::1
    电脑直接接在光猫后发现的。光猫固件较老,进光猫的 IP 地址 192.168.3.1 都被电信改了,变成 192.168.71.1 ,现在连光猫的管理页面都没了,电信配置下发,直接覆盖了光猫内容,而光猫固件又无法更新,两个神仙打架,结果,出来两个“网关”。
    openwrt 问题:openwrt 的 wan6 口,在概览页面是正确的网关地址(也就是实际使用的 fe80::933:7cc9:26ef:3cb ),但 openwrt 在默认的路由表内却没有将此地址写进去,可能他们也没碰到两个网关的事情

    解决方法是,终端命令
    ip -6 route | grep default 得到:
    default from 240e:38a:9999:3e00::/64 via fe80::933:7cc9:26ef:3cb dev eth0 proto static metric 512 pref medium
    default from 240e:38a:9999:3e00::/64 via fe80::1 dev eth0 proto static metric 640 pref medium

    编辑文件 vim /etc/hotplug.d/iface/90-ipv6
    #!/bin/sh
    [ "$ACTION" = ifup ] || exit 0
    route -A inet6 add default gw fe80::933:7cc9:26ef:3cb dev eth0
    赋予执行权限
    chmod +x /etc/hotplug.d/iface/90-ipv6

    完美解决,两种运行方式都完美
    方式一:wan6 口三个中继,lan 口三个中继
    方式二:wan6 口三个中继,lan 口 RA 、DHCP 是服务器,另一个关掉

    其他方式在该死的光猫下都不行,邻居家就没啥怪毛病
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5326 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:12 · PVG 17:12 · LAX 01:12 · JFK 04:12
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.