分析原因

IPv6在目前虽然已经普及得很广,但有些网站的服务器和个别地区支持得并不好。再加上使用OpenWrt的用户一般会用出国插件,为了避免不适配导致的各种连接性问题,OpenWrt和个别插件在默认情况下是关闭了IPv6网站DNS解析的。

如果有些网站只支持IPv6进行连接的话,会碰到连网站域名的IP地址都获取不到的问题,在这种情况下就不得不开启IPv6的DNS解析。OpenWrt在默认的配置下,用路由器拨号是可以获取并分配Pv6地址的,只需要更进一步的检查和配置就可以正常访问使用IPv6的网站:

  • 路由器或设备没有分配IPv6地址

  • OpenWrt系统设置问题

  • OpenClash插件设置问题

路由器或设备没有分配IPv6地址

路由没获取IPv6地址

打开路由器后台,依次点击网络 -> 接口,查看wan口和lan口有没有IPv6地址:

1726543304394_OpenWrt检查拨号和局域网地址分配.png

如果使用了路由器进行拨号,在如图显示有240*开头的IP地址就是获取到了公网IP地址。按照系统默认配置这里应该就是没问题的,没有获取到可以先参考IPv6 配置 | 易有云产品中心进行配置。如果配置无误并重新拨号后还是没有获取到,可能是当地运营商还没有分配IPv6地址,可以电话咨询客服问一下。

各运营商IPv6的网段分配前缀:

中国电信 -> 240e

中国移动 -> 2409

中国联通 -> 2408

电脑没启用IPv6协议

以Windows为例,打开电脑的设置页面,点击网络和Internet -> 高级网络设置,找到插网线的接口,点击展开 -> 编辑

1726543304394_Windows系统编辑适配器设置.png

找到框选的Internet协议版本6(TCP/IPv6),保证勾选上,点击确定保存

1726543304394_Windows系统启用IPv6协议.png

OpenWrt系统设置问题

最开始有提到,OpenWrt和个别插件在默认情况下关闭了IPv6网站DNS解析,OpenWrt系统设置的位置在网络 -> DHCP/DNS -> 过滤器 -> 过滤IPv6 AAAA记录,需要取消勾选,点击页面上的保存并应用

1726543304394_OpenWrt默认过滤IPv6地址解析.png

OpenClash插件设置问题

OpenClash在开启状态下会替代系统的Dnsmasq解析DNS,需要在插件内的插件设置 -> IPv6设置 -> 允许 IPv6 类型 DNS 解析,需要勾选上,点击页面上的应用配置

1726543304394_OpenClash默认禁止IPv6的地址解析.png

测试IPv6获取情况

如果全部配置完毕,可以在IPv6 测试网站进行测试,如果如图所示就说明配置没问题:

1726543304394_测试IPv6获取情况.png

如果配置完成了还能不能使用IPv6访问网站,可以再检查一下OpenWrt有没有安装别的与DNS有关的插件,如SmartDNS、Adguard Home等,默认是允许IPv6网站DNS解析的,如果有必要可以再自行排查。