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.