Aide > Astuces
Résolveur DNS local sur NuTyX (unbound)
(1/1)
DocWOPR:
Hello,
Petit pas à pas sur l'installation d'un serveur DNS local sur NuTyX. Alors, avant de commencer :
DNS, qu'est ce que c'est ?
Un serveur DNS (domain name system) fonctionne comme un annaire téléphonique. Il fait correspondre un nom de domaine avec une adresse IP. Enfin ça c'est la version simple. Dans la réalité, le fonctionnement des serveurs DNS repose sur une structure d'arbre, comme ceci :
source de l'image
Quel serveur DNS est utilisé sur la machine ?
Si aucune modification n'a été faite, probablement ceux proposés par votre FAI. Et ça pose plusieurs problèmes. Les preformances de ces serveurs sont généralements mauvaises par rapport à ce que d'autres proposent, une vie privée aux fraises (et non le VPN n'est pas une solution car même si aujourd'hui presque tous les VPN utilises leurs propres DNS, la connexion initiale aura besoin d'un DNS lookup), des problèmes de censure (si on contrôle l'annuaire du web, on coupe ce qu'on veut!) et j'en passe...
Des solutions ?
Oui !
Déjà, au niveau logiciel, les navigateurs internet proposent généralement de paramétrer des DNS. Firefox propose par exemple d'utiliser le DoH (DNS over HTTPS) de Cloudfaire ou de NextDNS. Pratique parce que aucune configuration complexe n'est requise, mais limitant car ça ne conserne que le navigateur.
Ensuite, au niveau de sa connexion. NetworkManager propose de changer le DNS utilisé pour une connexion particulière. On peut alors utiliser des services de "forwarders" comme Google (8.8.8.8 // 8.8.4.4), Cloudfare (1.1.1.1 // 1.0.0.1), Quad9 (9.9.9.9 // 149.112.112.112), etc... C'est déjà bien ! Mais pas top... On a déplacé le problème de notre fournisseur d'accès vers l'organisme "de confiance" que l'on a choisi. Surement moins pire, mais pas optimal.
LA solution !
La solution existe, elle est assez facile à mettre en place, et elle est disponible sur NuTyX !
On va installer unbound. Je vous laisse lire les détails si ça vous intéresse (ça devrai !). Globalement, unbound va nous permettre de:
* Se passer du serveur DNS de notre FAI
* Se passer de serveurs DNS tiers
* Conserver une arborescence DNS locale donc instantanée, et directement de l'arborescence délivrée par les serveurs racinesC'est parti.
--- Code: ---//Installation
$ sudo su
# cards install unbound
//Configuration
# cd /etc/unbound
# mv unbound.conf unbound.conf.bak
# touch unbound.conf
--- Fin du code ---
Une configuration simple, basique mais efficace :
--- Code: ---server:
# All interfaces
interface: 0.0.0.0
# ALLOW
access-control: 192.168.0.0/24 allow
access-control: 127.0.0.1 allow
access-control: ::1 allow
# DENY
access-control: 0.0.0.0/0 deny
access-control: ::/0 deny
# Use the root DNS servers
root-hints: root.hints
#forward-zone:
# # For all domaines
# name: "."
#
# # DNS to forward
# # You should not use forwarders ;)
# forward-first: yes
--- Fin du code ---
Une fois la config en place, toujours dans /etc/unbound, on télécharge le fichier des serveurs racine
--- Code: ---# curl --output /etc/unbound/root.hints https://www.internic.net/domain/named.cache
--- Fin du code ---
Enfin, on change nos paramètres système
--- Code: ---# cd /etc
# vi resolv.conf
>> REMPLACER L'IP PRÉSENTE DANS LE FICHIER PAR 127.0.0.1
# chattr +i resolv.conf
--- Fin du code ---
Et voila, c'est terminé ! Il ne reste plus qu'à lancer unbound soit
* Depuis la cli
* Depuis systemd
* Depuis sysV
J'utilise sysV, actuellement il n'y a pas de script service disponible sur NuTyX, donc je vous propose non officiellement le miens qui fonctionne pour lancer le service au boot de la machine.
En lien ici pour ne pas dépasser le nombre de caractères max.
Ce post sera mis à jour quand un script officiel sera disponible via cards.
Quelques notes
Évidement unbound permet beaucoup de choses (DNSSEC, gestion du cache, bloquer les IP pour s'en servir comme bloqueur de pub, etc...). Lisez le fichier de config par défaut qui est très bien documenté !
Le fichier root.hints peut être actualisé avec la même commande tous les 6mois par précaution (certains penses que c'est un peu "overkill", j'en suis, mais en même temps ça ne fait pas de mal).
Sur un PC de boulot qui utilise un serveur DNS privé dans un réseau local, ces manips sont à éviter !
Thierry:
Salut DocWOPR
Bienvenue sur le forum de NuTyX.
Excellent tutoriel, rien à ajouter. Avec ton accord, je le transcris volontier sur le site de NuTX à la page:
http://www.nutyx.org/fr/setup-dns
C'est un vrai bonheur d'avoir des contributeurs actifs.
Belle semaine à toi
Thierry
DocWOPR:
Hello Thierry,
Déjà, pas de problème pour reprendre ce post et le transformer en page sur le site de NuTyX. C'est d'ailleurs valable pour ce post comme pour les suivants, pas de copyright sur ce que j'écris ;)
Simplement, pour ce cas spécifique :
* Si tu veux en faire une page wiki, laisse moi un peu de temps pour rentrer dans les détails de la configuration de unboud. Quitte à en faire une page, autant que ça soit un peu plus exhaustif.
* Comme spécifié sur l'issue GitHub, le script sysV me sort une erreur lors de l'arrêt de ma machine (/etc/rc.d/rc0.d/K40unbound) alors qu'en l'utilisant manuellement (./unbound stop) tout fonctionne fonctionne. C'est bien d'être au courant si ça termine sur une page officielle :)
Je te fais signe ici ou sur Telegram quand le post sera à jour 8)
Navigation
Utiliser la version classique