Forum officiel de NuTyX

Aide => Astuces => Discussion démarrée par: DocWOPR le dim. août 14 16:10:21 2022

Titre: Résolveur DNS local sur NuTyX (unbound)
Posté par: DocWOPR le dim. août 14 16:10:21 2022
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 :
(https://www-inf.telecom-sudparis.eu/~hennequi/CoursDNS/NOTES-COURS_eng/dnstree.jpg) source de l'image (https://www-inf.telecom-sudparis.eu/~hennequi/CoursDNS/NOTES-COURS_eng/nom.html)

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 (https://www.nlnetlabs.nl/projects/unbound/about/). Je vous laisse lire les détails si ça vous intéresse (ça devrai !). Globalement, unbound va nous permettre de:
C'est parti.

//Installation
$ sudo su
# cards install unbound

//Configuration
# cd /etc/unbound
# mv unbound.conf unbound.conf.bak
# touch unbound.conf

Une configuration simple, basique mais efficace :
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

Une fois la config en place, toujours dans /etc/unbound, on télécharge le fichier des serveurs racine
# curl --output /etc/unbound/root.hints https://www.internic.net/domain/named.cache

Enfin, on change nos paramètres système
# cd /etc
# vi resolv.conf
   >> REMPLACER L'IP PRÉSENTE DANS LE FICHIER PAR 127.0.0.1
# chattr +i resolv.conf

Et voila, c'est terminé ! Il ne reste plus qu'à lancer unbound soit

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. (http://ix.io/47Ax)
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 !
Titre: Re : Résolveur DNS local sur NuTyX (unbound)
Posté par: Thierry le lun. août 15 13:05:10 2022
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
Titre: Re : Résolveur DNS local sur NuTyX (unbound)
Posté par: DocWOPR le mar. août 16 16:22:26 2022
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 :

Je te fais signe ici ou sur Telegram quand le post sera à jour  8)