Turn your Raspberry Pi into a network wide DNS server for security, privacy and blocking Internet Ads on your private network!
|Raspberry Pi 3 Model B+|
With Technitium DNS Server version 2.2 release, it is now possible to run it on Raspberry Pi (Raspbian Stretch) using .NET Core and we have a single line automatic installer ready to make it easy to get it running.
Install DNS Server
Just connect to your Raspberry Pi using SSH and run the command below to install the DNS server:
curl -sSL https://download.technitium.com/dns/install.sh | sudo bash
You can install the software manually too if you do not wish to directly run the install script. You will need to first manually install .NET Core on your Raspberry Pi and then use these steps to install the DNS Server.
Once the installation is complete, open the DNS Server web console to view the dashboard and customize the settings.
|Technitium DNS Server web console on Raspberry Pi 3 Model B+|
Configure Your Router
To use it as a network wide DNS server, you need to configure your network router's DHCP settings and add your Raspberry Pi's IP address as a custom DNS server. You may also need to configure the WAN settings to override the default ISP provided DNS servers with your Raspberry Pi one. Check your router's manual for the configuration details.
Do make sure that your Raspberry Pi has a static IP address so that it does not change later causing issues with failed domain resolutions on the entire network. Also make sure to install heat sinks for your Raspberry Pi to prevent overheating issues since you will be running it round the clock.
If you have any queries or feedback, do comment below to let me know. You can also email your queries to email@example.com.
Pihole does this and blocks ads network wide.ReplyDelete
Well, this is pi-hole's competitor that you should give a try!Delete
pi-hole doesn't work on windows natively, this does. I prefer this.Delete
Thanks a lot...ReplyDelete
dotnet core is brilliant for this.ReplyDelete
Got everything running fine now and prefer it way over Pi-Hole so far. Would it be possible to create an option that would automatically add a reverse dns record (if the reverse zone exists)?ReplyDelete
Automatic reverse zone option is only possible if there is DHCP server included, which is a planned feature that would get added in coming months. Right now, you can add a reverse zone manually. You can find a default reverse zone already there '188.8.131.52.in-addr.arpa' and try to create a zone for your local network manually. If you enter an IP address and try to add zone then the server automatically created a reverse zone for that particular IP address.Delete
Thank you for this... I've just found you so I look forward to trying this out.ReplyDelete
Hi, thanks for this. Any news on further updates? I really like this product.ReplyDelete
You can track updates and issues on GitHub. More features are being built for next release.Delete
Would have loved to have this as a Docker Image; the few I found did not have a Raspberry Pi version :(ReplyDelete
I just found this app, great, and there are serious DNS spoofing/contamination in China. With this app, it is easier to get real/accurate dns results.ReplyDelete
I used Acrylic DNS Proxy before, which is also very good, but I feel occasionally unstable.
Thanks for your Great Work!
Thanks for the compliments. Do let me know if you have any feedback or feature requests.Delete
I've just started using this for ad blocking and it's working great - amazing software!ReplyDelete
However, SABNZBD which used to listen on 127.0.0.1:8080 for its web interface no longer works - do I need to reconfigure sabnzbd or can I add some kind of exception within Technitium DNS server for it?
Since your existing software is running on port 8080 and the DNS Server runs on port 5380, there is no conflict and both should run along. I would suggest that you run netstat -nlpt | grep ":8080" command and check if any other software is using port 8080. If you are still unable to debug then send me an email at firstname.lastname@example.org with more details and output of the netstat -nlptu command.Delete
I had other strange things happening so I removed/reinstalled your software and it now seems to be a lot happier and everything is working as planned - thanks for your quick reply.Delete
Again, thank you for your excellent work - this piece of software is pretty damn amazing!
How do you remove this off a RaspberryPi? I've decided it's not required but cant work out the package that needs removing.ReplyDelete
Just run the following commands to remove it from raspberry pi:Delete
# stop and disable the dns daemon
sudo systemctl disable dns.service
sudo systemctl stop dns.service
# delete dns server files
sudo rm -rf /etc/dns/
# remove dotnet
sudo rm /usr/bin/dotnet
sudo rm -rf /opt/dotnet/
On RPi 1 Model B, i've got this error:ReplyDelete
● dns.service - Technitium DNS Service
Loaded: loaded (/etc/systemd/system/dns.service; enabled; vendor preset: enab
Active: activating (auto-restart) (Result: signal) since Wed 2020-06-17 17:50
Process: 1287 ExecStart=/usr/bin/dotnet /etc/dns/DnsServerApp.dll (code=killed
Main PID: 1287 (code=killed, signal=SEGV)
Thanks for the feedback. It could be due to less RAM available on the device. Good news is that next version is about to be released by this weekend which uses way less RAM than the current version. So, do try the new release on the device and see how it works.Delete
Unable to install on Raspberry Pi.ReplyDelete
Error screenshot is posted here: https://ibb.co/pxFMf0p
Thanks for the comment. The installer script URL has been changed recently. I have updated this post with the latest URL. Do try and let me know if there is any issue.Delete