A few months ago I went on a quest for a DNS server and was dissatisfied with current maintained projects. They were either good at adblocking (Blocky, grimd…) or good at specifying custom DNS (CoreDNS…).
So I forked grimd and embarked on rewriting a good chunk of it for it to address my needs - the result is leng.
- it is fast
- it is small
- it is easy
- you can specify blocklists and it will fetch them for you
- you can specify custom DNS records with proper zone file syntax (SRV records, etc)
- it supports DNS-over-HTTPS so you can stay private
- it is well-documented
- can be deployed on systemd, docker, or Nix
I have been running it as my nameserver in a Nomad cluster since! I plan to keep maintaining and improving it, so feel free to give it a try if it also fulfils your needs
or piHole.
Or Technitium…
Probably speed. I find pihole really slow, and I'm running it as a VM on a Xeon server.
Talking about a Xeon CPU in a context vacuum is like talking about a car.
A car is anything between 100€ rust bowl on wheels and a multi million € vehicle.
So either we need a benchmark score like Passmark (or other platform of choice) score for single and multicore or your cpu model.
Giving a piHole VM 1 or 2 cores from a CPU with a single core performance equal to a Raspberry Pi 3 is quite obvious why it isnt performing as well as say a shiny new Ryzen 7900X.
Context is key.
Mine runs in docker with full hardware access (no cpu/ram limits) on a i5-1135g7. The performance is (to me) pretty good.
BUT I only tried a comparison with unbound which gave me so-so results.