I am migrating from pfsense to a Unifi Fiber gateway. The first thing I needed to do was to figure out how I was going to get away from the feature rich pfBlockerNG. That thing was a beast, combined with unbound, very customizable. But i’ve been using it for 6+ years, it’s had its quirks and I am ready to try something new. The internet seems to be saying AdGuard Home is the new champion in DNS for selfhosters. It is no longer pi-hole (thick and heavy php stack requirements), nor is it technitium (to new, not open source) and I would never use nextdns due to its cloud/internet requirement. AdGuard Home is written in go, has a sleak reporting function and it has DOH and DOT built in, unlike Pi-Hole. For whatever reason, the developers of Pi-Hole do not think DNS needs to be encrypted, so they’re off the list.
Setup of AdGuard Home was super simple. I threw it on a pi running latest raspian. Went through the quick wizard and off I went. First step was to setup my upstream DNS servers. I chose these:
https://dns10.quad9.net/dns-query
https://dns.cloudflare.com/dns-query
https://dns.mullvad.net/dns-query
https://dns.google/dns-query
To get DOH to work, you need to do a 53 DNS lookup. I did not like that idea. So in the bootstrap section, you can actually use an 853 TLS/DOT look up. So I put these in:
tls://1.1.1.1
tls://8.8.8.8
I watched the traffic with tcpdump on my current router, and boom, all 853 to 443 traffic for lookups. I blocked all 53 traffic on WAN and it’s functioning perfectly.
I then dumped in my custom DNS black lists I have accumulated over the years. As well as a few DNS rewrites and then my preferred DNSBL. If you need help with a good set of lists, I would start with the green section for firebog:
That was it, now i’ll let AdGuard Home slowly cover all my internal DNS needs and watch it work. So far I enjoy the metrics over pfBlockerNG. I will miss pfBlockerNG, but it’s nice having something built quite simply.