win10 ipv6 获取有 bug

2021-03-29 20:47:01 +08:00
 fkdog

路由上已经设置使用 SLAAC+RDNSS,wireshark 抓包也能看到路由下发的 RA 报文里,管理地址和其他信息分配的 flag 是 0 。

然而 win10 在即使 RA 报文里标注了使用 SLAAC 的情况下,依然会发送 dhcpv6 solicit 报文。甚至是在收到 RA 报文之前就在发送 dhcpv6 solicit 报文了。如果路由上 dhcpv6 服务没有关闭时,便会给 win10 电脑分配 ipv6 地址。

因此会出现一个情况就是:在 slaac 分配地址的情况下,win10 依然会通过 dhcpv6 方式请求 ipv6 地址。在 win10 电脑上就会出现 3 个地址,一个是 dhcpv6 分配的地址,一个是 slaac 地址、一个是 slaac 临时地址。

1009 次点击
所在节点    问与答
4 条回复
lcdtyph
2021-03-29 22:10:23 +08:00
是的,无论如何配置 win 都会发送 dhcpv6 solicit,而且这问题似乎从 vista 时代就有了

可以在防火墙里把这个 type 的报文禁用掉
mansurx
2021-03-30 08:28:06 +08:00
windows 不讲武德,只有 windows 是不等 ra 消息就发 solicit 拿地址,应该是特意设置的。
其他 mac 、iOS 、linux 都会等 ra 消息
fkdog
2021-03-30 18:10:14 +08:00
@lcdtyph @mansurx
经过我多次的研究对比,发现 windows 虽然会发送 solicit 报文,但是这个 solicit 报文里并没有出现请求地址的选项。dhcpv6 服务器也不会响应这个报文信息。

当 ra 设置了 dhcpv6 获取 ip,windows 会再发一个带有请求地址选项的 solicit 报文,这个报文是会被 dhcpv6 服务器响应并发回地址的。

设置了 slaac 但是依然返回了 dhcpv6 地址的原因貌似是光猫太垃圾,修改了 slaac 选项后重启相关服务要等几十秒以后才生效。中间的这几十秒 ra 依然返回 dhcpv6 获取地址的报文。
mansurx
2021-03-31 15:46:05 +08:00
@fkdog #3 感谢,我再重新测下,之前只看了报文类型,没看内容

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/766281

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX