我有一个家庭网络,其中有一个由 ISP 提供的路由器(在法国免费)。该路由器支持 IPv6 并广播RA,其中包括要使用的 DNS。它还提供 DHCP 服务并转发 DNS 查询。
为了简化事情,让我们假设我开始使用这个设置 - 一切正常,我所有的 Wi-Fi 设备连接正确。
然后我决定用Pihole添加一个主机。这个想法是用它代替路由器的 DHCP 和 DNS 功能,并禁用路由器上的 DHCP 服务器)。我安装了该服务并开始通过其 DHCP 分发IPv4 DNS 地址(= Pihole 的地址)。
它在任何地方都有效,除了一个 Pixel 6 手机开始不断断开连接并重新连接到 WiFi,循环(一旦连接,它就会断开连接 - 频率大约是一秒钟)。
我花了无数个小时试图了解手机出现故障的原因(在许多其他工作良好的 Wifi 设备中:电话、收音机、Chromecast、Google mini、我自己的 Arduino IoT、Tuya 设备、ESPHome 设备……→所有这些设备都能正常工作美好的)。
由于不相关的问题,我意识到 ISP 路由器正在发送一个错误的IPv6 DNS 服务器地址作为其 RA 的一部分(它正在发送一个不存在的地址)。我解决了这个问题,Pixel 6 立即开始正常运行(连接到 WiFi 并保持在那里)。
我的问题:错误的 IPv6 DNS 广告(RA 的一部分)如何影响 Pixel 6 的 WiFi 连接(特别是:该 WiFi 中的持续存在,低级连接正常)?
我的问题比较笼统,但我只是亲眼目睹了 Pixel 6 的问题。
从不放弃的手机来看,这种行为似乎是合乎逻辑的。
由于路由器仍然是互联网的来源,Pixel 6 手机正确地尝试从一个不存在的 IP 获取 IPv6 互联网,因此进入了一个循环。
环路可能是由于电话反复广播其对路由器地址的请求,并反复得到错误的答案造成的。
(我说这部手机似乎真的下定决心让一切正常进行。大多数手机都会在某个时候停止尝试。)