Technitium DNS Server
Technitium DNS Server est un serveur DNS open source avec une console d’administration web. Il peut fonctionner comme serveur DNS autoritaire, résolveur récursif, résolveur avec transfert et plateforme de gestion DNS depuis une instance ZCP.
Logiciels inclus
Section intitulée « Logiciels inclus »| Composant | Version |
|---|---|
| Technitium DNS Server | 15.4.0 |
| Ubuntu | 24.04 LTS |
Prérequis
Section intitulée « Prérequis »| Ressource | Minimum | Recommandé |
|---|---|---|
| vCPU | 1 | 2 |
| RAM | 1 Go | 2 Go |
| Stockage | 10 Go | 20 Go |
Variables d’environnement
Section intitulée « Variables d’environnement »Si des champs de variables de déploiement sont disponibles dans votre parcours de lancement,
utilisez-les à cet endroit. Sinon, fournissez les mêmes valeurs via un user data qui écrit
/etc/zmi/deploy.env, ou configurez-les après le premier démarrage. Laissez le mot de passe admin
vide pour générer un mot de passe aléatoire sécurisé.
| Variable | Description |
|---|---|
DNS_SERVER_ADMIN_PASSWORD | Mot de passe admin pour l’utilisateur web admin |
DNS_SERVER_DOMAIN | Domaine principal utilisé par le serveur DNS |
DNS_SERVER_WEB_SERVICE_LOCAL_ADDRESSES | Adresses d’écoute de l’interface admin. Par défaut: 0.0.0.0,[::] |
DNS_SERVER_RECURSION | Politique de récursion. Par défaut: AllowOnlyForPrivateNetworks |
DNS_SERVER_RECURSION_NETWORK_ACL | ACL utilisée si la récursion vaut UseSpecifiedNetworkACL |
DNS_SERVER_FORWARDERS | Résolveurs amont séparés par des virgules, par exemple 1.1.1.1,9.9.9.9 |
DNS_SERVER_FORWARDER_PROTOCOL | Protocole de transfert: Udp, Tcp, Tls, Https ou HttpsJson |
Démarrage
Section intitulée « Démarrage »1. Se connecter à la VM
Section intitulée « 1. Se connecter à la VM »ssh ubuntu@<your-vm-ip>2. Attendre la configuration au premier démarrage
Section intitulée « 2. Attendre la configuration au premier démarrage »Au premier démarrage, le service de configuration prépare Technitium, démarre dns.service et écrit
les identifiants dans un fichier lisible uniquement par root. Suivez la progression:
sudo journalctl -u technitium-first-boot.service -f3. Récupérer les identifiants
Section intitulée « 3. Récupérer les identifiants »sudo cat /etc/dns/credentials.txtLe fichier contient l’URL de l’interface admin, le nom d’utilisateur, le mot de passe, le domaine du serveur DNS, le mode de récursion et les paramètres de transfert.
4. Accéder à l’interface admin via un tunnel SSH
Section intitulée « 4. Accéder à l’interface admin via un tunnel SSH »Exécutez ceci depuis votre poste:
ssh -L 5380:127.0.0.1:5380 ubuntu@<your-vm-ip>Ouvrez ensuite:
http://127.0.0.1:5380/Connectez-vous avec l’utilisateur admin et le mot de passe dans /etc/dns/credentials.txt. Ne
soumettez pas d’identifiants administrateur via HTTP public.
5. Tester DNS
Section intitulée « 5. Tester DNS »Depuis la VM:
dig @127.0.0.1 example.comDepuis un autre hôte de confiance:
dig @<your-vm-ip> example.comGérer Technitium
Section intitulée « Gérer Technitium »# Check service statussystemctl status dns.service
# Restartsudo systemctl restart dns.service
# View logssudo journalctl -u dns.service -fChemins courants:
| Chemin | Rôle |
|---|---|
/opt/technitium/dns/ | Fichiers applicatifs Technitium |
/etc/dns/ | Configuration et identifiants ZMI |
/etc/default/technitium-dns | Environnement généré au premier démarrage |
/etc/systemd/system/dns.service.d/zmi-environment.conf | Drop-in systemd d’environnement |
Ouverts par défaut:
| Port | Protocole | Rôle |
|---|---|---|
| 22 | TCP | SSH |
| 53 | TCP/UDP | DNS |
| 5380 | TCP | Console web admin (via tunnel SSH) |
Ports optionnels:
| Port | Protocole | Rôle |
|---|---|---|
| 53443 | TCP | Console admin web HTTPS |
| 853 | TCP | DNS-over-TLS |
| 853 | UDP | DNS-over-QUIC |
| 443 | TCP/UDP | DNS-over-HTTPS et HTTP/3 |
| 80 | TCP | DNS-over-HTTP, proxy inverse ou ACME |
| 67 | UDP | Service DHCP |
N’ouvrez les ports optionnels que lorsque la fonctionnalité correspondante est activée.
Sécurité
Section intitulée « Sécurité »Évitez d’exécuter un résolveur récursif public ouvert. Gardez la politique de récursion par défaut
AllowOnlyForPrivateNetworks ou configurez une ACL de récursion de confiance. Limitez le port
5380 aux accès approuvés et utilisez un tunnel SSH pour la console admin.
