Resolving domain names into IP addresses is the core functionality of Pi-hole. If you set your devices to use Pi-hole as their DNS server and you cannot reach the Internet, here are the troubleshooting steps that should help.
Verify the DNS server is running
First and foremost, the DNS server needs to be
active for Pi-hole to work. You can check the status of the server with these commands:
systemctl is-active dnsmasq
or to see a little bit more information, run:
systemctl status dnsmasq
If it's not running, you can try to start it like this:
systemctl start dnsmasq
but if it's not working, it probably won't start up as something else is probably wrong with your install.
dnsmasq's config files
dnsmasq uses a config file when starting up. On a vanilla Pi-hole installation, this is
/etc/dnsmasq.d/01-pihole.conf. There may also be several other files in this directory depending on your installation.
/etc/dnsmasq.d/01-pihole.conf does not exist, that would be the main cause for the server to not work properly.
The black hole list
Pi-hole is configured to use a list of domains that exist in a separate file (
/etc/pihole/gravity.list). If this file is malformed or not in HOSTS format, then you will not be able to block ad domains.
Configure devices to use the Pi-hole
If the services are running and ads are still not blocked, you should first verify that your device(s) are using Pi-hole as their DNS server.