Concurrent reddit thread.
DNS requests are the mode by which PiHole does its blocking, but they are also the weakest link in the chain of internet privacy. As such many people are working to patch up this link, this jeopardises both the fundamentals of how PiHole works and the comparative privacy of its users.
DNS Encryption is here, it has hit the mainstream. Pixel phones now use it by default, as does the Firefox browser. The uptake of DNS encryption is expanding rapidly, it is already on its way to Chrome.
I think this poses two issues for PiHole.
The first issue is almost existential to PiHole - that individual clients using encrypted DNS bypass PiHole, we have already seen this with the aforementioned Firefox and And-roid. This, along with the hardcoding of DNS in Chromecast devices we can surmise that it will not be long before Google and other device manufacturers hardcode Encrypted DNS Clients into their devices. As this practice becomes more and more widespread PiHole’s ability to block ads, malware and privacy issues in the household will become more and more patchy. There are methods to limit this behaviour, but they will require work and there is limited appetite to implement them.
But let’s say that we find a way to prevent the above and make sure that all DNS traffic goes through our wonderful devices. That leads me onto the second issue. Which is that as the rest of the world gets DNS privacy we PiHolers may be left behind. It is difficult to configure DNS encryption on the PiHole, but there are some guides. This means for the vast majority of PiHole users their DNS requests are going out to the internet in plain text. What is more, if PiHole did want to implement an encrypted protocol, there are three (or more) to choose from: DNS-over-HTTPS, DNS-over-TLS and DNScrypt, each favoured and supported by a different one of the big 3 open DNS resolvers (see links for each one). This means that if PiHole were to choose one to support, it could be accused of favouritism. And that would be if this were even possible in PiHole. Since FTLDNS is built off of dnsmasq it is hard to implement one of these new encryption standards.
I do not have the answer to these problems sadly. However, as a keen PiHole user for mostly its privacy benefits, I feel this is bitter-sweet. It is important to me that my DNS requests aren’t being logged, whilst I also love the ad-blocking features of PiHole. I just hope I can continue to have my cake and eat it.
Edit 2: Moar links!!!
Edit 3: Slightly more dramatic language