Two piholes at home (redundancy). Those both translate all regular DNS requests to DoH using Cloudflared which rotate through 4 non-isp upstream DoH providers.
The router is set to block all port 53 traffic from leaving the network and handout the 2 pihole IPs to dhcp clients for dns. If a LAN device wants regular dns, it MUST use the lan servers or it'll get no response. (or it can use its own DoH setup and/or vpn out of the network). This enforces the ad/telemetry/malware blocking lists pihole uses without having to configure dns on everything.
Those piholes also keep lists/records in sync using Gravity-Sync. Should I change ad lists or add/remove lan dns records, I don't have to do it on both.
PiHole with unbound (it's its own recursive DNS resolver so you don't depend on Cloudflare, Quad9 and others) set on my local network DHCP, plus AdGuard's DNS Proxy to use PiHole outside my home on my phone through DNS over TLS.
That's something I have to look into. I think I gave it a try but failed. Having everything on a old spare laptop doesn't help either (docker, vpn, dns resolver, pihole,firewall...).
Can't wait to put my n100 as router into my network and give it a second try :)))
I use Control-D, both on Android, through DNS over TLS, and at the router level, so that I'm protected from ads and malware, no matter whether I'm on cellular data or on Wi-Fi.
When using the network-wide VPN configuration of my firewall, I also use OPNSense to enforce that all devices connect to my self-hosted Pi-Hole, including redirecting DNS packets that are sent to DNS servers other than my Pi-Hole IP. There's a pretty cool guide for this: https://forum.opnsense.org/index.php?topic=9245.0
When running a VPN client on a device, I just use the VPN to manage DNS settings.
Both Mullvad and IVPN have very solid DNS settings within their desktop clients. Proton VPN unfortunately lacks behind in this regard. That's why I never use any Proton VPN clients on desktop, and rely on OPNSense, if I want to use Proton.
Pi-Hole using upstream Quad9 and Cloudflare, managed router redirect/blocking everything to Pi-Hole or no mans land, NextDNS out of the house for mobile devices or on WiFi I don't control.
I use a mix: I’ve got hardcoded hosts files, default third party DNS provider, DoH providers (different for each browser), a PiHole, and a VPN-based DNS resolver that I can run on a per-app basis.
This way, I don’t trust a single provider to handle all my DNS traffic.
I use several providers as upstream for Adguard Home where my blocklists, regex blocks and DNS rewrites are.
Via DNS-over-TLS URL for Android phones or DHCP with the IP of the DNS-server they get directed to it.
DNS is handled by my rpi that's running pi-hole and wireguard. It has static entries for quad nine and it's secondaries. Router (generic rax10 Netgear, nothing fancy, and it's not obnoxious like the nighthawks) DNS points to rpi.
So any device, set with dhcp, will use that. One day I'll have a opnsense or similar box to go even further.
@Freuks I use pfsense and force all users to use the DNS that I set on the router, this allows me to use pfblockerNG to block ads, telemetry, etc. Instead, users who use the VPN (MULLVAD) will use the MULLVAD DNS to avoid DNS Leak