Recently, I took a Raspberry Pi I had lying around (who doesn’t?) and decided to install Pi-Hole.
Pi-Hole is essentially a DNS server for your home, running on a Raspberry Pi. It’s job is to filter DNS requests to the internet so that advertising domains are blocked – thus reducing your traffic, and blocking pesky ads. I won’t cover the install, since it’s posted in numerous places, but essentially, I installed Raspbian on an SD card, and inserted the SD card. SSH’d into the Raspberry pi, and ran the command to install Pi-Hole.
After the install was complete, I had about 150k domains on the blocklist out of the box. Additionally, I setup DNS forwarding to OpenDNS as my upstream DNS servers to block additional content types.
Homelab DNS resolution
Pi-Hole was setup as 192.168.1.2, and I edited my DHCP server (my gateway) to hand out that address to all clients. Now, since I run a homelab, I needed a way to have tsmith.local sent to my homelab DCs – so, another SSH session into the Raspberry Pi to enable DNS requests to that domain to be forwarded to the domain DCs, and not on out the internet.
I created a new file “02-tsmith.local.conf” in /etc/dnsmasq.d/
After I saved the file, I went into Pi-Hole administration to restart dnsmasq (under settings / system) and voila! I could now resolve any host on the homelab domain.
There are many blocklists available on the internet to use, and essentially, they are all just giant text files that someone (hopefully) maintains properly.
In the Pi-Hole administration page, I went to Settings / Blocklists and added some more.
First, I went to https://firebog.net and used every list with a checkmark beside it. That indicated those lists are least likely to interfere with web browsing.
Next, I went to the Blocked List Project https://tspprs.com/ and used the Combined List. The combined list has since been retired, and the new URL is at blocklist.site/app
This took my total blocked domains to 1,402,431
Here are the lists I currently use on my pi-hole:
**** See updated lists at blocklist.site/app