Résolution DNS et Yunohost

, par  Genma , popularité : 8%

Tout part d’une remarque lu il y a un bon moment "Yunohost c’est sympa, mais le voir contacter tous les DNS associatifs en permanence c’est ni efficace ni pratique" qui m’a fait creuser un peu. Je documente ici le résultat de cette investigation qui, forcément reste incomplète.

Le but de ce billet n’est pas de faire un tutoriel complet sur Dnsmasq mais d’étudier quelques fichiers de configuration que l’on trouve assez facilement. Il sera incomplet, très perfectible au niveau technique (il se base sur mes connaissances actuelles ou acquises au cours de ma réflexion) et je ne suis pas du tout un spécialiste, juste un curieux.

Le service DNS en local sur Yunohost est Dnsmasq. Le fichier /etc/dnsmasq.conf est assez léger et semble être un fichier par défaut

# cat /etc/dnsmasq.conf

domain-needed
expand-hosts
localise-queries

interface=enp1s0
resolv-file=/etc/resolv.dnsmasq.conf
cache-size=256

On va donc regarder le contenu du fichier resolv.dnsmasq.conf

# cat /etc/resolv.dnsmasq.conf

nameserver 89.234.141.66
nameserver 185.233.100.101
nameserver 91.239.100.100
nameserver 89.233.43.71
nameserver 84.200.70.40
nameserver 185.233.100.100
nameserver 194.150.168.168
nameserver 80.67.169.12
nameserver 195.160.173.53
nameserver 84.200.69.80
nameserver 80.67.169.40
(...)

Via la commande Nslookup (sur chacune de ces IP) qui permet de faire du reverse DNS, on peut avoir la correspondance IP -> Nom de domaine

66.141.234.89.in-addr.arpa	name = recursif.arn-fai.net.
101.100.233.185.in-addr.arpa	name = hades-dns.aquilenet.fr.
100.100.239.91.in-addr.arpa	name = anycast.censurfridns.dk.
71.43.233.89.in-addr.arpa	name = unicast.censurfridns.dk.
100.100.233.185.in-addr.arpa	name = gaia-dns.aquilenet.fr.
168.168.150.194.in-addr.arpa	name = dns.as250.net.
12.169.67.80.in-addr.arpa	name = ns0.fdn.fr.
12.169.67.80.in-addr.arpa	name = ns0.fdn.org.
53.173.160.195.in-addr.arpa	name = dnscache.berlin.ccc.de.
40.169.67.80.in-addr.arpa	name = ns1.fdn.org.
40.169.67.80.in-addr.arpa	name = ns1.fdn.fr.

aquilenet, fdn ce sont des noms bien connus qui me parlent. Et effectivement, cela confirme que pour faire sa résolution de DNS locale, le service Dnsmasq, pour les couples adresses IP /nom de domaines non encore connus/pas encore en cache, interrogerait des serveurs DNS liés à des FAI associatif. D’où la réflexion à l’origine du présent billet.

Si je lance la commande "iftop" sur la machine, je peux voir des lignes indiquant qu’il y a bien des interconnexions réseaux vers ces serveurs DNS.

Autre fichier intéressant, le fichier /etc/resolvconf/resolv.conf.d/original qui contient des choses intéressantes :

nameserver 192.168.0.254
nameserver 80.67.169.40
nameserver 80.67.169.12

Là, la configuration me parle et est spécifique à mon environnement. Ces adresses IP correspondent à celles que j’ai configurés comme adresse IP des serveurs DNS à pousser par la Freebox (qui me sert de routeur) aux machines de mon réseau local qui se voient assignées une adresse IP à l’issue d’une requête DHCP (même si l’IP est fixe dans le bail DHCP). C’est le cas pour ma machine sous Yunohost.

Ces adresses IP correspondent à l’adresse IP locale de la Freebox configurée en mode routeur (192.168.0.254) et aux 2 serveurs de résolution DNS public de FDN (80.67.169.40 && 80.67.169.12) que j’ai donc indiqué dans la configuration de la Freebox. Il serait intéressant de creuser pour savoir si ces serveurs DNS sont utilisés.

A suivre...