Comment ajouter un serveur DNS via resolv.conf?

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

Je vois que les informations du serveur DNS sont stockées dans Gestionnaire de réseau maintenant. Le nmcli l'outil de ligne de commande peut lister cela pour vous.

Si je veux en ajouter un de plus DNS serveur, l'ajoutera à /etc/resolv.conf en utilisant le resolvconf besoin d'aide?

Si /etc/resolv.conf contenir nameserver 127.0.0.1 puis en ajoutant des entrées à /etc/resolvconf/resolv.conf.d/tail ne fera vraiment rien d'utile.

Si vous utilisez NetworkManager, vous devez plutôt ajouter statiquement des adresses de serveur de noms via indicateur de réseau: Modifier les connexions... | Modifier... / Paramètres IPv4 / Serveurs DNS supplémentaires.

Si vous vraiment vous souhaitez ajouter plus d'entrées à /etc/resolv.conf, créer un /etc/resolvconf/resolv.conf.d/tail et ajoutez-les là.

Comme pour chaque version d'Ubuntu, il est recommandé de lire les Notes de version d'Ubuntu, disponibles ici:

Les sections Bureau et Infrastructure commune contiennent un lien vers

J'ai trouvé une autre approche ici cela implique d'ajouter une ligne comme celle ci-dessous à /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

De même, j'ai trouvé une troisième approche ici cela implique d'ajouter des lignes à /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

Mise à jour: Voici le documentation officielle pour la troisième approche.

On dirait que vous parlez du paquet resolvconf.

Installez le resolvconf paquet.

Exécuter

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

Le haut du fichier est un avertissement effrayant. Le fichier/etc / resolv.la conf est générée automatiquement à partir du contenu de ce fichier; l'avertissement est là, il sera donc placé dans /etc / resolv.conf quand /etc / resolv.la conf est générée. À la fin du fichier, ajoutez

nameserver <ip_of_nameserver>

Appuyer Ctrl x et répondez oui pour enregistrer le fichier. Pour terminer, régénérez /etc / resolv.conf donc les modifications sont appliquées dès maintenant:

sudo resolvconf -u

Vérifiez ensuite le contenu de /etc / resolv.conf pour voir la ligne que vous avez ajoutée est maintenant là. De plus, il sera toujours là au prochain démarrage de votre machine ou au redémarrage de votre service réseau, selon la première éventualité.

Ci-dessous, je vais vous montrer la meilleure façon que j'ai trouvée depuis que j'exécute Ubuntu Server edition et que j'utilise ifup plutôt que NetworkManager.

En fait, pour moi, ils ont rendu cela plus facile:) en mettant tout cela dans le fichier /etc/network/interfaces. Les mêmes configurations que vous auriez écrites dans resolv.conf peut maintenant se trouver dans le même fichier que les configurations de votre carte réseau, comme dans l'exemple ci-dessous:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

J'espère que cela vous aidera et vous facilitera la tâche, maintenant nous pouvons créer des adresses IP statiques et ajouter des serveurs de noms et un domaine DNS dans un seul fichier :)

Le mien exécute Ubuntu Server 12.04. J'ai apporté les modifications suivantes et redémarré le serveur (généralement, cela peut être fait en abaissant uniquement l'interface réseau, c'est-à-dire, ifdown eth0 ou ifup eth0).

Dans le fichier /etc/resolvconf/resolv.conf.d/base J'ai ajouté les entrées suivantes:

nameserver 8.8.8.8nameserver 8.8.4.4

J'espère que ce qui précède aide!

Vous pouvez utiliser NetworkManager comme indiqué dans la réponse de Frank, mais si vous préférez modifier 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 resolvconf l'utilitaire écrit uniquement dans le fichier /run/resolvconf/resolv.conf.

Note: Cette réponse était pour une version assez différente, pré-fusion de la question, avec un accent uniquement sur la pré-attente d'un serveur de noms souhaité.

Cela fonctionne avant la 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 ; tout ce que vous avez à faire est de la décommenter.)

resolvconf est inutile. Je suis sur un serveur Linux et mon Adresse IP est statique et mon DNS les serveurs sont statiques. Je n'ai pas besoin resolvconf ou Gestionnaire de réseau.

Rester simple est ma politique lorsque je travaille sur un serveur. Moins il y a de complexité, plus il sera facile de gérer/réparer lorsque les choses se briseront.

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

La plupart de ce qui précède suppose que vous avez un système vierge, 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 intéressant de connaître ce qui suit. J'utilise dnsmasq depuis un moment, mais je l'ai désinstallé. Actuellement, mon système avait le contenu suivant de /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 OVERWRITTENnameserver 127.0.0.1

Peu importe combien de fois je cours sudo resolvconf -u ou sudo dpkg-reconfigure resolvconf, il n'a pas mis à jour le serveur de noms vers ceux que j'ai définis dans le Gestionnaire de réseau. Les informations que resolvconf utilise à partir du gestionnaire de réseau étaient présentes:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 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 était un fichier non supprimé avec la désinstallation de dnsmasq:

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

Il suffit de supprimer ce fichier (et de l'exécuter sudo resolvconf -u par la suite) résolu mes problèmes 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 OVERWRITTENnameserver 8.8.4.4nameserver 8.8.8.8 

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

Je viens de supprimer un lien dans /etc/resolv.conf et créé un fichier régulier 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.

Je pense que la commande mentionnée ci-dessus devrait être nm-tool, pas nmcli.