Sous Linux avec systemd pour connaßtre votre configuration DNS vous devez utiliser la commande suivante :
systemd-resolve --status --no-pager
Ici le paramĂštre --no-pager
est destinĂ© Ă ne pas mettre en pause lâaffichage Ă chaque fois que la page de la console a Ă©tĂ© remplie.
La commande systemd-resolve
La commande systemd-resolve
sâadresse au service correspondant systemd-resolved.service
. Pour ceux qui connaissent Linux
depuis un petit moment, ce service remplace dnsmasq
â et Ă noter quâils sont incompatibles lâun avec lâautre au sens que si vous avez les deux services sur la mĂȘme machine vous risquez que la rĂ©solution DNS ne fonctionne pas.
systemd-resolve
peut ĂȘtre utilisĂ© pour rĂ©soudre des noms de domaine, des adresses IPv4 et IPv6, des enregistrements de ressources DNS
et des services. Par dĂ©faut, la liste de paramĂštres spĂ©cifiĂ©e sera rĂ©solue en tant que noms dâhĂŽtes, en rĂ©cupĂ©rant leurs adresses IPv4 et IPv6.
Si les paramĂštres spĂ©cifiĂ©s sont formatĂ©s comme des adresses IPv4 ou IPv6, lâopĂ©ration inverse est effectuĂ©e et un nom dâhĂŽte est rĂ©cupĂ©rĂ© pour les valeurs spĂ©cifiĂ©es.
Lâusage le plus basic de la commande est :
systemd-resolve www.example.org
qui produit un résultat du type :
www.example.org: 2606:2800:220:1:248:1893:25c8:1946
93.184.216.34
-- Information acquired via protocol DNS in 994us.
-- Data is authenticated: no
On peut noter que le résultat est proche de ce que donne nslookup :
nslookup www.example.org
Qui retourne quelque chose comme :
Server: 127.0.0.53
Address: 127.0.0.53#53
Non-authoritative answer:
Name: www.example.org
Address: 93.184.216.34
Name: www.example.org
Address: 2606:2800:220:1:248:1893:25c8:1946
Ou encore de host :
host example.com
Qui affiche cela :
example.com has address 93.184.216.34
example.com has IPv6 address 2606:2800:220:1:248:1893:25c8:1946
example.com mail is handled by 0 .
Cependant systemd-resolve ne permet pas de sĂ©lectionner un serveur DNS alternatif pour la requĂȘte en cours.
Avec nslookup câest possible et fort simple, la syntaxe est la suivante :
nslookup HOTE_A_RESOUDRE SERVEUR_DNS_A_UTILISER
Par exemple :
nslookup www.example.org 8.8.8.8
Le rĂ©sultat est le mĂȘme, mais la rĂ©solution DNS est alors traitĂ©e par le serveur donnĂ©Â :
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: www.example.org
Address: 93.184.216.34
Name: www.example.org
Address: 2606:2800:220:1:248:1893:25c8:1946
Vider le cache DNS nécessite les droits administrateurs
Pour vider le cache DNS, il suffit dâutiliser :
sudo systemd-resolve --flush-caches
Les commandes de contrĂŽle du DNS
Pour une rĂ©paration et diagnostique rapide (en mode jâai autre chose Ă faire), je vous propose la sĂ©quence de commande suivante :
sudo systemd-resolve --flush-caches ; systemctl status --no-pager -l systemd-resolved.service
Pour faire un diagnostic un peu plus sérieux, voici comment obtenir quelques informations utiles :
- Identifier les DNS utilisés (par interface) :
systemd-resolve --no-pager --status
- Vous pouvez Ă©galement avoir les statistiques de rĂ©solution Ă lâaide de :
systemd-resolve --statistics
Vous pouvez avoir besoin de réinitialiser ces statistiques, pour cela utilisez :
sudo systemd-resolve --reset-statistics
- VĂ©rifier la configuration
La configuration est accessible via le fichier /etc/resolv.conf
mais pour systemd
, et particuliÚrement en conjonction avec une configuration réseau basée sur un DHCP, vous devez que ce fichier est un lien symbolique vers la configuration de systemd
.
Typiquement, la commande :
ls -la --color /etc/resolv.conf
doit avoir comme résultat du type :
lrwxrwxrwx 1 root root 39 mars 16 2019 /etc/resolv.conf -> ../run/systemd/resolve/stub-resolv.conf
Il est probablement pas une bonne idée de modifier le contenu de etc/systemd/resolved.conf
surtout si votre machine doit supporter le protocole DHCP (ce qui est normalement le cas sur un rĂ©seau domestique). Dâailleurs en entreprise, cela me semble Ă©galement une mauvaise idĂ©e que dâintervenir sur ce fichier. Les problĂ©matiques dâinfrastructure devant ĂȘtre rĂ©glĂ©es au niveau de lâinfrastructure.
- Pensez Ă©galement Ă vĂ©rifier votre configuration rĂ©seau Ă lâaide de comme simple comme
ping
ettraceroute
(outraceroute6
).
A notez quâil est dĂ©conseillĂ© dâutiliser les outils graphiques prenant en charge le rĂ©seau en mĂȘme temps que vous modifier votre configuration manuellement, câest pourquoi ce billet nâira pas plus loin sur ce sujet.
Juste une derniĂšre remarque cependant, dans un environnement graphique, on sâattend gĂ©nĂ©ralement Ă ce que le WIFI soit automatiquement connecter sur les rĂ©seaux connus, et sans intervention de lâutilisateur. Dans ce cas, notez que la configuration est modifiĂ©e par les outils qui prennent en charge cette fonctionnalitĂ©.
኿