232 votes

Comment ajouter un serveur DNS via resolv.conf ?

Est /etc/resolv.conf inutile dans Ubuntu 12.04 LTS (Pangolin précis) ?

Je vois que l'information du serveur DNS est stockée dans NetworkManager maintenant. Le site nmcli L'outil de ligne de commande peut en dresser la liste pour vous.

Si je veux ajouter un autre DNS et l'ajoutera à /etc/resolv.conf en utilisant le resolvconf Aide sur les paquets ?

12voto

Jase Points 711

Vous pouvez utiliser NetworkManager comme indiqué dans la réponse de Frank, mais si vous préférez éditer manuellement /etc/resolv.conf vous pouvez le faire en le supprimant (il s'agit en fait d'un lien symbolique), puis en créant un nouveau fichier simple avec le contenu que vous souhaitez. Le site resolvconf n'écrit jamais que dans le fichier /run/resolvconf/resolv.conf .

9voto

Jeff Hubbard Points 5292

Note : Cette réponse concerne une version assez différente de la question, une version pré-fusion, qui se concentre uniquement sur le pré-dépôt d'un serveur de noms souhaité.

Cela fonctionne avant 12.04 :

Modifier /etc/dhcp3/dhclient.conf et ajouter :
prepend domain-name-servers 127.0.0.1;

(En fait, cette ligne est déjà présente ; il suffit de la dé-commenter).

8voto

Mark Points 81

resolvconf est inutile. Je suis sur un serveur Linux et mon Adresse IP est statique et mon DNS sont statiques. Je n'ai pas besoin de resolvconf o NetworkManager .

La simplicité est ma règle quand je travaille sur un serveur. Moins c'est complexe, plus c'est facile à gérer et à réparer en cas de problème.

Alors j'ai fait aptitude purge resolvconf et s'est assuré manuellement que /etc/resolv.conf n'est pas un lien symbolique et j'ai juste créé un fichier statique. Juste au cas où un programme essaierait de modifier le fichier, j'ai fait chattr +i (immuable) à /etc/resolv.conf par précaution.

7voto

Anne van Rossum Points 461

La plupart de ce qui précède suppose que vous avez un système impeccable, mais la réalité est souvent telle que vous avez installé différents clients dhcp, désactivé le gestionnaire de réseau dans certaines versions précédentes d'Ubuntu, etc. Il pourrait être utile de savoir ce qui suit. J'ai utilisé dnsmasq pendant un certain temps, mais je l'ai désinstallé. Actuellement, mon système avait le contenu suivant /etc/resolv.conf (qui est un lien symbolique vers /run/resolvconf/resolv.conf sur mon système) :

cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1

Peu importe la fréquence à laquelle je cours sudo resolvconf -u o sudo dpkg-reconfigure resolvconf Il n'a pas mis à jour les serveurs de noms avec ceux que j'ai définis dans le NetworkManager. Les informations que resolvconf utilise à partir du NetworkManager étaient présentes :

cat /run/resolvconf/interface/NetworkManager  
nameserver 8.8.4.4
nameserver 8.8.8.8

Cependant, il s'avère que s'il y a plusieurs fichiers dans ce répertoire, ce fichier peut ne pas être utilisé du tout. Le coupable est un fichier qui n'a pas été supprimé lors de la désinstallation de dnsmasq :

cat /run/resolvconf/interface/lo.dnsmasq                        
nameserver 127.0.0.1

Il suffit de supprimer ce fichier (et d'exécuter sudo resolvconf -u après) a résolu mes problèmes de dns :

cat /etc/resolv.conf                        
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.4.4
nameserver 8.8.8.8 

J'espère que cela aidera d'autres personnes à déboguer (les interactions complexes entre tous ces différents outils réseau). Si vous utilisez resolvconf assurez-vous d'exécuter ls /run/resolvconf/interfaces pour voir ce qu'il y a là.

4voto

Thần Đèn Points 1

Je viens de supprimer un lien dans /etc/resolv.conf et créé un fichier réglementaire avec les adresses des serveurs de noms. Cela fonctionne, et je ne vois aucune raison d'utiliser cette construction plutôt étrange que les développeurs d'Ubuntu ont créée.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X