SuperAPI AI 工具集

pihole-dns-troubleshoot-ipv6

部署与运维

查看项目

更新于 10-15 20:34

技能介绍

用途:排查并修复因 IPv6 DNS 导致的客户端绕过本地网络、改走 Cloudflare Tunnel 并弹出 OAuth 登录的问题。适用于家庭 WiFi 下服务要求 Cloudflare Access OAuth、连接缓慢、Chrome 报错重试后连接等场景。

主要能力:解释根因(Cloudflare 同时提供 A 与 AAAA 记录,现代客户端优先 IPv6);验证 Pi-hole 是否配置 filter-AAAA;测试 Pi-hole 是否屏蔽 IPv6 DNS 响应;测试客户端是否只收到 IPv4;清理客户端 DNS 缓存;检查并关闭浏览器 DNS-over-HTTPS;最终验证本地访问无需 OAuth。

必要用法:检查配置 docker exec pihole env | grep FTLCONF_misc_dnsmasq_lines,期望输出 FTLCONF_misc_dnsmasq_lines=filter-AAAA;在 docker-compose.yml 的 pihole 服务 environment 下添加 FTLCONF_misc_dnsmasq_lines: "filter-AAAA",然后 docker compose -f /home/dawiddutoit/projects/network/docker-compose.yml up -d pihole。测试:docker exec pihole nslookup -query=AAAA ha.temet.ai 127.0.0.1,以及客户端 getent ahosts ha.temet.ai(应只显示 IPv4)。清缓存:macOS 用 sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder;Linux 用 sudo systemd-resolve --flush-caches;Windows 用 ipconfig /flushdns;移动端重启 WiFi。浏览器需关闭安全 DNS/DoH。

限制:需要 Pi-hole v6+(FTL),filter-AAAA 仅屏蔽 IPv6 DNS 响应而非 IPv6 连通性;不要在网络层禁用 IPv6,也不要删除 Cloudflare 的 IPv6 记录;客户端缓存可能持续 5-60 分钟;DoH 会绕过所有本地 DNS 设置;IPv6 过滤为全网生效。