Auteur Sujet: Résolveur DNS local sur NuTyX (unbound)  (Lu 3265 fois)

DocWOPR

  • Petit Nouveau
  • *
  • Messages: 5
  • Karma: 0
  • Sexe: Homme
Résolveur DNS local sur NuTyX (unbound)
« 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 :
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 racines
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
  • 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 !
« Modifié: dim. août 14 16:15:23 2022 par DocWOPR »
Ne pas subir

Thierry

  • Administrator
  • Super Héros
  • *****
  • Messages: 778
  • Karma: 15
  • Sexe: Homme
    • NuTyX distribution
Re : Résolveur DNS local sur NuTyX (unbound)
« Réponse #1 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

DocWOPR

  • Petit Nouveau
  • *
  • Messages: 5
  • Karma: 0
  • Sexe: Homme
Re : Résolveur DNS local sur NuTyX (unbound)
« Réponse #2 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 :
  • 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)
Ne pas subir