Pi-hole DNS sinkhole
Last updated
Last updated
Install and configure Pi-hole docker on my Unraid server.
Configure upstream DNS setting and Adlists/Blocklists
Configure clients DNS manually and router DNS.
Unraid supports community applications plugin, and I navigate there and install pihole docker by Spants's Repository.
Follow official docker-compose.yml, I set the repository "pihole/pihole:latest" to download pihole image, add parameters "--cap-add=NET_ADMIN" to be able to run Pi-hole as DHCP server.
Create static IP address "192.168.1.9"
Set TCP/UDP port number to 53.
After saved my configuration, Unraid will download docker image and start my docker automatically.
Once I accessed Pi-hole web GUI, I navigated to Settings > DNS.
I selected Cloudflare as my upstream DNS for faster queries speed.
I enabled "Permit all origins" because I also use this DNS server for my VPN.
For advanced DNS setting, I selected "Enable DNSSEC", this can help avoid DNS poisoning attack.
I started adding a few blocklists, which are provided by The firebog.
I did not add many blocklists to my pi-hole to prevent false positives, which could cause more inconvenience.
Navigated to Services > DHCPv4 > LAN interface, and entered the Pi-hole IP address in DNS option.
This would route any DNS queries of endpoint devices on LAN interface to Pi-hole.
For devices were using static IP address, I configured their prefer DNS point to Pi-hole
Once I configured everything, I went check to see if pi-hole was getting any queries.
For more information, I navigated to query log.
In summary, Pi-hole is an excellent open-source DNS server that effectively filters out bogus, malware, and adult domains according to my preferences. It plays a crucial role in protecting my family's privacy by blocking trackers across many websites.
However, at its core, Pi-hole is primarily a DNS forwarder, though it can also serve as a home recursive DNS. To further enhance my family's privacy, especially from large ISPs, I'm exploring better DNS servers that support DNS-over-TLS or DNS-over-HTTPS.