Quelle commande Linux permet de vérifier la résolution de noms de domaine DNS ?

DNS - Système des noms de domaine

Le Domain Name System (ou DNS, système de noms de domaine) est un service permettant d'établir une correspondance entre une adresse IP et un nom de domaine.

Les réseaux informatiques sont composés d'ordinateurs qui communiquent entre eux à l'aide d'adresses numériques uniques, appelées adresses IP. Chaque adresse IP identifie un ordinateur (clients et serveurs). L'adresse numérique facilite grandement le traitement pour l'ordinateur. Or, pour un être humain, il est beaucoup plus facile de se souvenir d'une série de lettres et de mots que d'une suite de chiffres.

Le système des noms de domaine a été inventé pour pallier ce problème : il fait correspondre une adresse alphanumérique (ex : www.ubuntu-fr.org) à une adresse IP numérique (ex : 88.191.119.240). Cette correspondance – appelée résolution – s'effectue à l'intérieur d'un serveur spécialisé dédié à résoudre des noms de domaine, dit serveur DNS.

Choix d'un serveur DNS alternatif

Voici une liste de serveurs DNS que vous pouvez librement utiliser :

Décentralisé :

Centralisé avec tous ses inconvénients que l'on connaît avec l'ICANN (censure, faiblesse contre les attaques) :

DNS gratuit pour noms de domaine :

Comparer les performances de deux serveurs DNS

Pour comparer les performances entre votre serveur DNS primaire actuel et un autre serveur DNS (par exemple, un autre serveur que vous seriez tenté d'utiliser), utilisez le logiciel Namebench (Le paquet Namebench est maintenant dans les dépôts Ubuntu).

Configuration d'un DNS alternatif graphiquement

Pour modifier les DNS d'une version desktop d'Ubuntu (Unity, KDE etc.), il est préférable de passer par NetworkManager. Il est à noter que NetworkManager, écrase (en créant une copie tout de même) la configuration du fichier /etc/network/interfaces. Il prend donc le dessus vis-à-vis de ce qui aurait pu être configuré en ligne de commande. NetworkManager gère la manière dont le PC se connecte à la box, par défaut il est paramétré pour envoyer une requête DHCP au modem/box (attribution IP), dans la foulée ce sont les DNS par défaut du routeur/box qui sont utilisés. Les configurations qui auraient pu être faites au préalable en ligne de commande seront donc irrémédiablement écrasées.

Avec NetworkManager pour modifier les DNS, procéder comme suit :

: en affectant l'entrée Adresse automatique uniquement (DHCP) il doit ensuite être possible de modifier les DNS en ligne de commande sans qu'ils soient écrasées par NetworkManager.

Configuration d'un DNS alternatif avec le terminal

À partir d'Ubuntu 12.04 les versions serveurs et les versions desktop d'Ubuntu utilisent resolvconf1). Les méthodes en lignes de commande sont à effectuer sur les versions serveur d'Ubuntu, pour les versions desktop il est préférable de passer par l'utilitaire graphique (voir la section Par interface graphique).

A partir d'Ubuntu 18.04 (ligne de commande)

Cette page ne présente pas netplan qui est la méthode de configuration par défaut à partir de 18.04.

A PARTIR d'Ubuntu 12.04 (ligne de commande)

Il faut modifier les fichiers de configuration des interfaces réseau. La modification se reportera directement par l’intermédiaire de l'utilitaire resolvconf au redémarrage du service réseau.

il faut donc modifier le fichier /etc/network/interfaces

On crée au préalable une copie :

sudo cp /etc/network/interfaces /etc/network/interfaces.copie

Puis :

sudo nano /etc/network/interfaces

Vous devez avoir un contenu du type :

/etc/network/interfaces# This file describes the network interfaces available o$ # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 91.121.0.1 netmask 255.255.255.0 network 91.121.0.0 broadcast 91.121.0.255 gateway 91.121.0.254 dns-nameservers 8.8.8.8 8.8.4.4

La ligne importante dans notre cas est la dernière ligne. Si elle n'existe pas il suffit juste de la rajouter. Ici les adresses IP des serveurs DNS public de Google 8.8.8.8 et 8.8.4.4 sont utilisées.

Ne pas oublier ensuite de relancer le service réseau :

sudo service networking restart

Pour encore plus de confidentialité, pour avoir de meilleurs temps de réponse ou pour proposer des services Internet à des clients, vous pouvez être amené à installer et administrer vous-même un serveur DNS. Voici une liste de logiciels jouant le rôle de serveur DNS installables sur Ubuntu :

Utilisation d'un serveur DNS local

Depuis Ubuntu 12.04, Network-Manager intègre Dnsmasq, ce qui provoque des perturbations dans la résolution DNS pour un réseau local reposant sur Bind9 par exemple. Le symptôme est simple, parfois l'infrastructure DNS fonctionne, parfois non. La solution ici est de désactiver Dnsmasq dans Network-Manager:

Tout le monde n'a pas de soucis avec bind9 et dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

Et de commenter la ligne "dns=dnsmasq" de cette façon:

#dns=dnsmasq

Il faut aussi désactiver le service dnsmasq au démarrage:

sudo update-rc.d -f dnsmasq remove

et redémarrer Network-manager

sudo service network-manager restart

Vider le cache

Même en tant qu'utilisateur, ubuntu mémorise un cache DNS pour accélérer les accès aux sites. Lors d'un changement de serveur d'un site (surtout si vous administrez des sites web), ce cache peut ne pas se mettre à jour aussi vite que vous en avez besoin.
Pour le vider manuellement, lancer cette commande avec les droits d'administration2):

systemd-resolve --flush-caches

A partir de la version 20.04, la commande3) serait:

resolvectl flush-caches

La commande:

systemd-resolve --statistics

ou

resolvectl statistics

avant et après le flush peut-être intéressante pour vérifier que le Current Cache Size est passé à 0

Comment vérifier la résolution DNS ?

Exécutez ipconfig /all à partir d'une invite de commandes et vérifiez l'adresse IP, le masque de sous-réseau et la passerelle par défaut. Vérifiez si le serveur DNS fait autorité pour le nom recherché. Dans ce cas, consultez vérification des problèmes avec les données faisant autorité.

Comment voir le DNS Linux ?

Sur Linux, les serveurs DNS sont déclarés dans le fichier /etc/resolv.

Quelle commande permet de tester un serveur DNS ?

nslookup est un outil en ligne de commande simple mais très pratique qui est principalement utilisé pour trouver l'adresse IP d'un hôte spécifique ou le nom de domaine d'une adresse IP spécifique (recherche DNS inverse). nslookup peut être exécuté dans l'interface en ligne de commande du système d'exploitation utilisé.

Quel est la commande permettant de tester la résolution de nom DNS sous un environnement Windows ?

Si le client DNS peut effectuer un test ping sur l'ordinateur serveur DNS, essayez d'utiliser les commandes suivantes nslookup pour vérifier si le serveur peut répondre aux clients DNS. Étant donné que nslookup n'utilise pas le cache DNS du client, la résolution de noms utilisera le serveur DNS configuré du client.

Comment utiliser la commande nslookup ?

Pour ce faire, il faut premièrement taper « nslookup » dans l'invite de commande et appuyer sur la touche « ENTRER ». Il faut continuer par entrer l'adresse IP de son serveur DNS et puis sur la touche « ENTRER ». Ensuite, il faut taper « set q=MX » ou « set type=ns » sans guillemet et appuyer sur « ENTRER ».

Quel outil permet de tester la résolution DNS depuis un client Windows ?

nslookup est un outil en ligne de commandes pour résolution DNS sur Windows. Vous devez ouvrir l'invite de commandes afin de pouvoir l'utiliser. Lorsque l'on saisie nslookup, on arrive sur interface sur laquelle on peut ensuite effectuer des résolutions DNS.

Articles Similaires

Toplist

Dernier message

Mots clés