最近在一次 Windows 11 更新后,我的 IPv6 网络莫名其妙地失效。开机一段时间后,IPv6 连接就会断开。ipconfig 显示地址正常、路由也在,但外部 IPv6 无法访问。抓包后发现——问题出在 系统不再回应 Neighbor Solicitation (NS)。
一、问题现象
开机后直接打开 Wireshark,不做任何操作。大约 15 分钟后,使用
ping -6 taobao.com检查 IPv6 连接,发现无法 Ping 通。但使用 ipconfig, route 等命令查看地址和路由状态完全正常。
此时停止抓包,在 Wireshark 中过滤 icmpv6.type == 135 or icmpv6.type == 136,可以看到主机收到来自网关的 NS 请求,但没有回应 NA:
36347 803.911077 fe80::2e33:11ff:fe97:ff40 → 2001:da8:201:2561:3023:948a:5462:a47e ICMPv6 Neighbor Solicitation
36349 804.394370 2001:da8:201:2561:3023:948a:5462:a47e → 2606:4700:4700::1111 ICMPv6 Echo Request
36350 804.429834 2606:4700:4700::1111 → 2001:da8:201:2561:3023:948a:5462:a47e ICMPv6 Echo Reply
...
36445 813.995187 fe80::2e33:11ff:fe97:ff40 → 2001:da8:201:2561:3023:948a:5462:a47e ICMPv6 Neighbor Solicitation二、排查过程
IPv6 地址与路由检查
所有前缀、默认路由均存在。Get-NetIPConfiguration -Detailed route print -6没发现异常。
- 关闭 Offload / 重装驱动
检查并禁用所有 IPv6 Offload 功能,无效。 检查防火墙状态
netsh advfirewall show privateprofile显示:
LocalFirewallRules N/A (仅 GPO 存储)以为是 GPO 问题,但另一台正常的 PC 也是如此,因此排除。
怀疑 Core Networking 规则缺失
使用:netsh advfirewall firewall show rule name=all | findstr /i icmpv6结果几乎为空。
这说明系统内置的 Core Networking(核心网络)规则 被删或损坏了,其中就包括处理 ICMPv6 邻居发现 (NS/NA) 的那几条规则。
三、解决办法
最终的修复步骤如下:
# 1. 重置防火墙
netsh advfirewall reset
# 2. 修复系统镜像
DISM /Online /Cleanup-Image /RestoreHealth然后重启系统。IPv6 网络立即恢复正常。
四、结论
- IPv6 栈、驱动、防火墙策略都不是根因。
- 核心网络 (Core Networking) 防火墙规则丢失才是关键问题。
- 原因不明,推测与 Windows Update 的策略或防火墙配置更新有关。
如果你遇到 IPv6 在 Windows 11 更新后“过一段时间就失效”,且抓包看到系统收 NS 不回 NA,那么大概率就是这个问题:
重置防火墙 + DISM 修复 + 重启。
附注:
可以先导出并比对两台电脑的防火墙规则:
netsh advfirewall export C:\fw.rules.wfw若 Core Networking 组缺失,重置是最简单直接的修复办法。