Pi-Hole is a lightweight DNS server/sinkhole software that is usually installed on single board computers such as Raspberry Pi, OrangePi and BananaPi like ARM64 architecture machines. Pi-Hole allows users to block unwanted tracking, telemetry on a network level and can also be used as parental control app for blocking certain websites for children.
Pi-Hole can easily be installed on any 64-bit computer, whether it’s an ARM Single Board Computer (SBC) or x64 desktop computer or VM server, but we’re not getting into that details. This tutorial is intended for fixing a Pi-Hole installation that is not blocking any websites/ads despite having a functioning blocklist.
Pi-Hole Not Blocking Anything – Blocklist Not Working [Fixes]
In this tutorial we are assuming that you have successfully installed PiHole and you’re able to access the Web-interface [Admin panel http://Your.Pi.Hole.IP/admin/] as well as the Command-Line-interface CLI through SSH shell (PuTTy) on port 22.
Note: Make sure you have set the appropriate Pi-Hole IP in your Windows, Android and iOS DNS settings.
Fix 1 – Update Gravity (List of Blocked Domains)Â
The default installation comes with StevenBlack adslist from GitHub, if you have manually added more list then you need to update gravity which is basically the list of blocked domains. This can be done through either of following methods
– From Web-interface:
Copy and paste the following URL on your web-browser, replace the IP address in red with your own pi static IP
http://192.168.1.99/admin/gravity.php
Click Update, in few seconds it will fetch and update the blocklist as well as check the configuration of your Pi-Hole installation
– From SSH (PuTTy Command):
Access the Pi-Hole installation from terminal using SSH/PuTTy, enter the following command with sudo access. It will ask for root password, enter it correctly to proceed.
pi@pihole:~# sudo pihole -g
The moment you enter this command, PiHole will download the adslist (blocklist .txt files) from their sources, Flush the DNS cache and verify functioning of DNS/FTL service.
Fix 2 – Perform a Debug
Pi-Hole debug command performs step by step functionality test of all services. This includes file permissions, configurations, DNS service, ports open/closed and saves the log file locally on your machine.
pi@pihole:~# sudo pihole -d
* Location of generated logfile: Â /var/log/pihole/pihole_debug.log
Fix 3 – Check DNS Settings on Google Chrome, Mozilla Firefox, Microsoft Edge or any other Web-browser [Most Important]
This is the crucial step to fix the PiHole not blocking any ads problem. Most modern web-browsers such as Google Chrome come with built-in Secure/Private DNS (also known as DNS over HTTPS) feature which completely bypasses the Operating system set DNS.
How to Disable Secure DNSÂ
– On Windows 11/10 Operating System
In order to make Pi-Hole blocking work, we must disable the Secure DNS inside Google Chrome and Microsoft Edge, or DNS over HTTPs in Mozilla Firefox.
– On Android Phones
On smartphones, it has to be disabled from Android Network & Internet Settings as well as Google Chrome settings as mentioned in steps above.
Here’s are the Secure DNS settings screenshots for Xiaomi Redmi 11 phone
– Google Chrome on Android
– On iPhone 15 and iOS
iOS currently does not support DNS over HTTPs by default, if you are using any third party VPN apps such as CloudFlare Warp or NordVPN, you need to turn off (disconnect) the VPN profile. Also, disable the iOS 15 Private Relay (vpn) feature if you’re utilizing it.
I hope you have fixed the problem by now. If you are still facing any problem, feel free to drop a comment below, I’ll try my best to help you out.