This guide provides solutions to common issues encountered when using Pi-hole v6, including DNS resolution problems, blocking issues, network conflicts, and performance optimizations.
β Solution:
-
Ensure that your device is using Pi-hole as the primary DNS:
nslookup pi.hole
If it fails, your router may be overriding DNS settings. Manually configure your deviceβs DNS.
-
Restart Pi-hole:
pihole restartdns
-
Check if the blocklists are up-to-date:
pihole -g
β Solution:
-
Check query time:
dig google.com @127.0.0.1 -p 5335
-
Ensure that Unbound or the upstream DNS is responsive.
-
Optimize the cache size in unbound.conf:
cache-max-ttl: 86400 cache-min-ttl: 3600
β Solution:
-
Add local DNS records:
sudo nano /etc/pihole/custom.list
Example entry:
192.168.1.100 myserver.local
-
Restart DNS:
pihole restartdns
β Solution:
-
Check if the domain is still blocked:
pihole -q example.com
-
Force Pi-hole to update lists:
pihole restartdns
-
Manually whitelist:
pihole -w example.com
β Solution:
-
Manually update:
pihole -g
-
Check for errors:
cat /var/log/pihole_updateGravity.log
β Solution:
-
Ensure Pi-hole is handling IPv6:
dig AAAA example.com @127.0.0.1 -p 5335
-
If required, force all clients to use IPv4:
pihole -a setdns 192.168.1.2
β Solution:
-
Ensure that your router only assigns Pi-holeβs IP as DNS.
-
Block external DNS on the router firewall:
sudo iptables -A OUTPUT -p udp --dport 53 -j REJECT
-
If the device uses DoH/DoT (DNS over HTTPS/TLS), block common DoH servers.
β Solution:
-
Reduce the number of blocklists:
pihole -a -b remove_list_url
-
Reduce FTL cache size in /etc/pihole/pihole-FTL.conf:
MAXDBDAYS=7 DBINTERVAL=60.0
β Solution:
-
Optimize the Unbound configuration:
num-threads: 1 msg-cache-size: 4m rrset-cache-size: 8m
pihole -t
cat /var/log/pihole.log | grep example.com
pihole checkout ftl debug
If the issue persists, generate a debug log and submit it:
pihole -d