用途:系统化诊断并修复 Pi-hole DNS 基础设施中的域名解析问题,适用于本地域名无法解析、服务只能通过 IP 访问、浏览器报 DNS_PROBE_FINISHED_NXDOMAIN、远程可访问但本地不可访问等场景。
主要能力:检查 Pi-hole 容器是否运行;核对 docker-compose.yml 中的 FTLCONF_dns_hosts 记录;从 Pi-hole 内部测试解析;确认路由器是否将 DNS 指向 Pi-hole;从客户端验证解析并定位根因,最后给出修复命令。
必要用法:先运行 dig @192.168.68.136 pihole.temet.ai、docker ps | grep pihole、docker exec pihole nslookup pihole.temet.ai 127.0.0.1 做快速诊断。检查配置用 docker exec pihole env | grep FTLCONF_dns_hosts 与 grep -A20 "FTLCONF_dns_hosts" /home/dawiddutoit/projects/network/docker-compose.yml。修复可执行 docker exec pihole pihole reloaddns,或 docker compose -f /home/dawiddutoit/projects/network/docker-compose.yml restart pihole;容器未运行时用 cd /home/dawiddutoit/projects/network && docker compose up -d pihole && docker logs pihole --tail 50。客户端侧可刷新缓存,如 macOS 的 sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder,Linux 的 sudo systemd-resolve --flush-caches。
适用场景:Pi-hole v6+ 配合 Docker 与 FTL DNS 的本地网络环境,需要统一通过路由器 DHCP 下发 DNS 的场景。
限制与注意:不要使用 dnsmasq 配置文件,Pi-hole v6 使用 FTL 与 FTLCONF 变量;不要通过 Web UI 添加 DNS 记录,因其不持久;修改 FTLCONF_dns_hosts 后必须重启或重载 Pi-hole;不要在客户端手动配置 DNS,应通过路由器 DHCP;DNS 变更后需刷新客户端缓存;查询时不要使用 -uall 标志。资料未提供具体收费、平台支持范围与效果保证。