最近家里 IPv6 突然上不了了,具体描述如下:
环境:
- 路由器即网关(桥接光猫),能正常通过 DHCP-PD 获取前缀
- 路由器系统:OpenWrt 19.07 x86
- 路由器连接三个子网,每个子网都分了不同 VLAN (不是重点,划 VLAN 应该没影响),一个给服务器,一个给家庭局域网,一个给蹭网的邻居
- 家庭网使用无线连接,而服务器网均通过有线连接(可能不能排除无线路由器有问题)
简要概述问题:在同一子网下,部分设备能 IPv6 联网,部分不行,查问题是路由器没有回应不能联网的设备的 NS 包。
问题描述:
- 在几个月以前,全部网络的 IPv6 都是正常的,但是最近不知道是不是升级了路由器的原因,家庭网的 IPv6 突然不能用了
- 目前服务器网可以同时通过 SLAAC 和 DHCPv6 获取地址,且能正常访问互联网,一切正常
- 目前家庭网内设备可以通过两种方式获取地址,但是无法上网,表现现象是网页加载一会儿后提示打不开,测试网站显示连接 IPv6 资源超时。(因为防火墙策略设置均为 reject,没有用到 drop,所以应该可以初步判断不是防火墙的问题)
- 在路由器终端查看 IPv6 邻居,发现家庭网下设备状态均为 FAILED (其实是 PROBE 状态后 3 秒的 DELETE 状态,在 Linux 4.x 里貌似不会删除这个邻居条目,而是标记为 FAILED )
- 重启路由器的网络接口后,再次在路由器查看 IPv6 邻居,发现一开始发现的两个设备正常了,状态显示为 REACHABLE,而且一直到现在也没有掉回 FAILED 状态。但是后面发现的邻居仍然为 FAILED 状态。经测试,REACHABLE 状态的设备能正常通过 IPv6 联网,测试网站测试也是正常的
- 最后在路由器上抓包分析,发现路由器只响应最初的两个设备的 NS 包,并能正常回应 NA 包;而其他设备发送的时候,路由器则不响应了
求教大佬,能帮忙分析一下这是怎么回事么,若能解答,万分感谢!
图 1 目前家庭网 ULA 地址邻居情况:
图 2 目前家庭网全球单播地址邻居情况:
图 3 目前服务器网全球单播地址邻居情况:
图 4 抓包情况:可以看到,局域网内设备连续发送了多次 NS 信息,但路由器都没有回应: