How to make Technitium DNS accessible as a DNS sinkhole and resolver in your network

What type of hardware are you using: Raspberry Pi 3, 4+
What YunoHost version are you running: 12.0.16
What app is this about: Technitium DNS

Describe your issue

:uk:/:us: Hello all,

I have issues using Technitium DNS as my DNS sinkhole and resolver and need help getting the configuration right.

My current setup is as follows:

  • A FRITZ!Box 7490 router
  • A Raspberry Pi 3 with Pi-Hole and Unbound. I’ve been using this as my DNS sinkhole and resolver for the last 5 years. It’s been working great. I therefore can exclude that there is anything wrong with the router configuration
  • A Raspberry Pi 3 with YunoHost, with the following apps: Tiny Tiny RSS, Baikal, Grocy and Technitium DNS
  • I don’t intend to expose anything to the internet, so I only use local addresses: yunohost.local/ttrss, yunohost.local/baikal, grocy.local and technitium.local respectively

The issue:
When I replace the local IP of my Pi-Hole with the local IP of my YunoHost within the router config, I can’t access the internet anymore. Furthermore, Technitium doesn’t show any connections being filtered.

My troubleshooting attempts until now:
Apparently Dnsmasq is interfering with the ability of YunoHost to work as a DNS sinkhole and resolver. Adguard Home is specifically stating on the YunoHost app page: “This AdGuard Home package will disable Dnsmasq on the main network interface to allow AdGuard Home to listen DNS resquest using it. However, Dnsmasq will not be disabled and will continue to function as the localhost DNS server.”
My assumption is, that I need to enact those changes manually for Technitium, as the package does not make appropriate changes during install.

I found this old issue in the forum: Technitium dns - as resolver
The solution being suggested there is to change the port of Technitium and disable resolv.dnsmasq.conf. However, this solution didn’t work for me and the Adguard Home solution seems more graceful anyway, as it keeps the standard port intact and does not disbale Dnsmasq

My questions is: what is the graceful solution to allowing Technitium DNS to be accessible as a DNS sinkhole and resolver in your network?

:fr: Bonjour Ă  tous,

J’ai des problèmes avec l’utilisation de Technitium DNS comme puits de DNS et résolveur et j’ai besoin d’aide pour obtenir une configuration correcte.

Ma configuration actuelle est la suivante :

  • Un routeur FRITZ!Box 7490
  • Un Raspberry Pi 3 avec Pi-Hole et Unbound. Je l’utilise comme puits de DNS et rĂ©solveur depuis 5 ans. Il fonctionne très bien. Je peux donc exclure qu’il y ait un problème avec la configuration du routeur.
  • Un Raspberry Pi 3 avec YunoHost, avec les applications suivantes : Tiny Tiny RSS, Baikal, Grocy et Technitium DNS.
  • Je n’ai pas l’intention d’exposer quoi que ce soit Ă  l’internet, donc je n’utilise que des adresses locales : yunohost.local/ttrss, yunohost.local/baikal, grocy.local et technitium.local respectivement.

Le problème :
Lorsque je remplace l’IP locale de mon Pi-Hole par l’IP locale de mon YunoHost dans la configuration du routeur, je ne peux plus accéder à l’internet. De plus, Technitium ne montre aucune connexion filtrée.

Mes tentatives de dépannage jusqu’à présent :
Apparemment, Dnsmasq interfère avec la capacité de YunoHost à fonctionner comme un puits de DNS et un résolveur. Adguard Home indique spécifiquement sur la page de l’application YunoHost : “Ce paquet AdGuard Home désactivera Dnsmasq sur l’interface réseau principale pour permettre à AdGuard Home d’écouter les requêtes DNS en l’utilisant. Cependant, Dnsmasq ne sera pas désactivé et continuera à fonctionner en tant que serveur DNS local.”
Je suppose que je dois effectuer ces changements manuellement pour Technitium, car le paquetage n’effectue pas les changements appropriés lors de l’installation.

J’ai trouvé ce vieux problème dans le forum : Technitium dns - as resolver
La solution suggérée est de changer le port de Technitium et de désactiver resolv.dnsmasq.conf. Malheureusement, cette solution n’a pas fonctionnée chez moi et la solution d’Adguard Home semble plus correcte de toute facon, car elle conserve le port standard intact et ne désactive pas Dnsmasq.

Ma question est la suivante : quelle est la solution correcte pour permettre à Technitium DNS d’être accessible en tant que puits de DNS et résolveur dans mon réseau ?

Share relevant logs or error messages

AdGuard home maintainer here

You need to make a /etc/dnsmask.d/technitium (or whatever name) with the following content

bind-interfaces
except-interface=ens18

Of course you have to replace ens18 with your actual network interface name

Package code for reference adguardhome_ynh/scripts/_common.sh at ae697fdafe099ad5da3031993d98384bffecfc5e · YunoHost-Apps/adguardhome_ynh · GitHub

Thank you for taking the time to respond.

I created /etc/dnsmask.d/technitium with this content:

bind-interfaces
except-interface=eth0

Sadly, after rebooting YunoHost I still wasn’t able to connect to the DNS resolver trough my network.

as I don’t know how the technitium package works, I’m unable to help more
Maybe you could try AdGuard Home? Why are you preferring technitium? Is AGH missing something ?

As far as I know, Adguard Home is missing a recursive DNS resolver, purely acting as a DNS sinkhole. Technitium is doing both out of the box.
However, I’ll try installing Adguard Home over the weekend to see if I run into similar issues. Thank you for your help.

EDIT:
I had a little time on my hands and was able to try out Adguard Home. Everything works out of the box. My assumption is that Technitium needs a lot more package management than is provided currently to work with YunoHost. I will probably use Adguard for the time being.

3 Likes