
Je ne vais pas vous expliquer ce qu'est un serveur DNS ni comment il fonctionne, beaucoup d'articles l'expliquent très bien ainsi que des vidéos. Pour faire simple, c'est l'annuaire d'internet qui permet de dire à notre ordinateur que le site web lemonde.fr a pour adresse IP 151.101.194.217 ou que duckduckgo.com a pour adresse IP 40.114.177.156.
Si comme moi vous avez des soucis sur Debian avec les serveurs DNS, voici la solution à vos problèmes. Probablement que ce problème est spécifique aux conteneurs sous Debian, il n'y a que dans ce cas que j'ai des soucis.
Simple à diagnostiquer, si par exemple lorsque vous souhaitez faire un update, cela ne fonctionne pas, tapez les commandes suivantes :
Si la première commande fonctionne (vous avez une succession de lignes du type "64 bytes from 8.8.8.8: icmp_seq=5 ttl=115 time=4.15 ms") mais que la seconde renvoi un message d'erreur :
ping: google.fr: Temporary failure in name resolution
c'est qu'on est face à un problème de serveur dns.
Afin de vous assurer que le problème se situe bien à ce niveau, modifiez le fichier /etc/resolv.conf et ajoutez la ligne suivante :
8.8.8.8 est le serveur DNS de google, cette ligne permet de spécifier au système d'utiliser ce serveur
Retentez la commande
Si cette fois cela fonctionne, on a bien diagnostiqué le problème.
Vous allez me dire "c'est résolu, si je lance un apt update, cela fonctionne !"
Oui mais non, car lorsque vous allez redémarrer votre système, le fichier resolv.conf aura repris sa version d'avant...
Pour cela, on installe resolvconf :
Puis on vérifie que le service est bien démarré :
Si ce n'est pas le cas, on le démarre :
Puis on modifie le fichier /etc/resolvconf/resolv.conf.d/head et on y ajoute la ligne précédente :
Vous pouvez adapter au serveur DNS que vous souhaitez. Certains sont réputés plus rapides ou plus sécurisés
Une dernière commande :
Rebootez pour tester, cela fonctionne
Je me suis également retrouvé avec un problème sur Linux Mint. Dans la configuration de ma carte réseau, le serveur DNS était bien celui spécifié par mon routeur (à savoir un serveur DNS local pour gérer mes serveurs locaux sans avoir à connaitre leurs adresses IP). Cependant, Mint n'utilisait pas ce serveur DNS.
Comment le vérifier ?
me renvoit la ligne
Pour régler cela, deux commandes à taper :