26/11/2024

Utiliser l’outil unbound

L’outil unbound est également un resolver permettant d’interroger le serveur local afin de résoudre les noms et/ou adresses qu’on lui soumet. Il s’installe le plus simplement du monde en intégrant le package unbound. Pour l’utiliser il convient de modifier :

  • Le fichier /etc/resolv.conf et ajouter la ligne "nameserver 127.0.0.1"
  • Le fichier /etc/dhcp/dhclient.conf et ajouter "prepend domain-name-servers 127.0.0.1 ;"
  • Le fichier de configuration réseau afin de préciser que le DNS1 est forcé à 127.0.0.1

Exemple : pour ce dernier fichier, sur CentOS7, on modifiera /etc/sysconfig/network-scripts/ifcfg-eth0 (ou tout autre fichier d’interface) :

DNS1=127.0.0.1
DNS2=X.X.X.X
DNS3=Y.Y.Y.Y

Après cette modification, il faut bien sûr redémarrer le service réseau :

# systemctl restart network.service

Le cas de la modification du fichier dhclient.conf, n’est valable que si l’interface publique est elle-même configurée en DHCP, récupérant automatiquement une adresse IP de la part du serveur DHCP.

On peut également mettre à jour la liste complète des serveurs racine connus et la stocker sur le serveur, en local :

# wget ftp://FTP.INTERNIC.NET/domain/named.cache -O /var/lib/unbound/root.hints

Lorsque le paquet unbound est installé et les différents fichiers nécessaires, modifiés, il faut également modifier le fichier de configuration /etc/unbound/unbound.conf en forçant la résolution par l’interface 127.0.0.1 :

do-not-query-localhost : yes

On peut également vérifier la configuration de l’outil, qui possède ses propres commandes (à l’instar de BIND) :

# unbound-checkconf /etc/unbound/unbound.conf

Puis, il est alors possible de démarrer le service unbound et lancer l’un des clients d’interrogation (au choix: nslookup ou dig) pour effectuer les requêtes souhaitées, en passant alors par notre interface local 127.0.0.1 :

# dig mydmn.org

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> google.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59447
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;mydmn.org.                               IN          A

;; ANSWER SECTION:
mydmn.org.              300        IN          A     192.168.1.172

;; Query time: 6 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: ven. juil. 15 14:27:27 CEST 2016
;; MSG SIZE  rcvd: 54

Ce petit outil est surtout pratique lorsque l’on souhaite résoudre des noms et des adresses IP, sans pour autant souhaiter installer un serveur DNS : une sorte de "DNSLite" si l’on peut dire.

author avatar
Philippe PIERRE
A exercé de nombreuses années en tant qu'administrateur de base de données et comme administrateur Système Unix/Linux. Il a enseigné les réseaux au CNAM (Paris). Aujourd'hui, employé en tant qu'ingénieur infrastructure, au sein d'un laboratoire pharmaceutique et administrant un cluster de calculs HPC, il connaît parfaitement les environnements GNU/Linux dans le cadre d'une entreprise et des systèmes de haute disponibilité. Il aime partager son expérience.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail