Est /etc/resolv.conf
inutile dans Ubuntu 12.04 LTS (Precise Pangolin)?
Je vois que les informations du serveur DNS sont maintenant stockées dans NetworkManager . L' nmcli
outil de ligne de commande peut répertorier cela pour vous.
Si je veux ajouter un serveur DNS supplémentaire , l'ajoutera-t-il à l' /etc/resolv.conf
aide de l'aide du resolvconf
package?
resolv.conf
PnotNP
la source
la source
nm-tool
, pasnmcli
.Réponses:
Si
/etc/resolv.conf
contient,nameserver 127.0.0.1
ajouter des entrées/etc/resolvconf/resolv.conf.d/tail
ne fera vraiment rien d'utile.Si vous utilisez NetworkManager, vous devez plutôt ajouter de manière statique les adresses de serveurs de noms via l' indicateur de réseau : Edit Connections ... | Modifier ... | Paramètres IPv4 | Serveurs DNS supplémentaires .
Si vous voulez vraiment ajouter d'autres entrées à
/etc/resolv.conf
, créez-en/etc/resolvconf/resolv.conf.d/tail
et ajoutez-les là.Comme avec chaque version d'Ubuntu, il est recommandé de lire les Notes de publication d'Ubuntu, disponibles ici:
Les sections Desktop et Common Infrastructure contiennent un lien vers
la source
/etc/resolvconf/resolv.conf.d/tail
fichier ou l'utilisation de Network Manager? Merci.dns-nameservers
votre section eth0 dans/etc/network/interfaces
./etc/resolvconf/update.d/libc
sur le serveur Ubuntu 14.04.1:# Set TRUNCATE_NAMESERVER_LIST_AFTER_LOOPBACK_ADDRESS=no
# to allow additional nameserver addresses to be listed in
# resolv.conf after an initial loopback address 127.* or ::1.
(le définir/etc/default/resolvconf
, en tant que lignes 23 et 24 du/etc/resolvconf/update.d/libc
spectacle.J'ai trouvé une autre approche ici qui consiste à ajouter une ligne comme celle ci-dessous pour
/etc/dhcp/dhclient.conf
:De même, j'ai trouvé une troisième approche ici qui consiste à ajouter des lignes à
/etc/network/interfaces
:Mise à jour: Voici la documentation officielle de la troisième approche.
la source
third approach
c'est de loin le moyen le plus simple de le faire./etc/resolvconf/resolv.conf.d/head
(après avoir surmonté le commentaire trompeur "NE PAS MODIFIER" :))On dirait que vous parlez du paquet resolvconf.
Installez le package resolvconf .
Courir
Le haut du fichier est un avertissement effrayant. Le fichier /etc/resolv.conf est généré automatiquement à partir du contenu de ce fichier; l'avertissement est là pour qu'il soit placé dans /etc/resolv.conf lorsque /etc/resolv.conf est généré. A la fin du fichier, ajoutez
Appuyez sur Ctrl xet répondez oui à l'enregistrement du fichier. Pour finir, régénérez /etc/resolv.conf pour que les modifications soient appliquées maintenant:
Vérifiez ensuite le contenu de /etc/resolv.conf pour voir si la ligne que vous avez ajoutée est maintenant là. En outre, il sera toujours présent au prochain démarrage de votre machine ou de votre service réseau, selon la première éventualité.
la source
Ci-dessous, je vais vous montrer le meilleur moyen que j'ai trouvé depuis que je lance Ubuntu Server Edition et 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 celles que vous auriez écrites dans resolv.conf peuvent désormais figurer dans le même fichier que les configurations de votre carte réseau, comme dans l'exemple ci-dessous:
J'espère que cela aide et facilite les choses, comme nous le faisons maintenant. Nous pouvons maintenant créer des adresses IP statiques et ajouter des serveurs de noms et des domaines DNS dans un seul fichier :)
la source
Le mien utilise Ubuntu Server 12.04. J'ai apporté les modifications suivantes et redémarré le serveur (généralement, cela ne peut se faire qu'en supprimant l'interface réseau, c'est-à-dire
ifdown eth0
ouifup eth0
).Dans le fichier,
/etc/resolvconf/resolv.conf.d/base
j'ai ajouté les entrées suivantes:J'espère que ce qui précède aide!
la source
Vous pouvez utiliser NetworkManager comme indiqué dans la réponse de Frank, mais si vous préférez le modifier manuellement
/etc/resolv.conf
, vous pouvez le supprimer (c'est en fait un lien symbolique), puis créer un nouveau fichier brut avec le contenu souhaité. L'resolvconf
utilitaire écrit uniquement dans le fichier/run/resolvconf/resolv.conf
.la source
Remarque: cette réponse s’appliquait à une version de la question antérieure à la fusion, qui était assez différente, l’accent étant mis uniquement sur l’attente 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; tout ce que vous avez à faire est de la commenter.)
la source
man dhclient.conf
accéder à la page de manuel dhclient. (Ce n'est pas une réponse à la question de Azendale.)resolvconf
est inutile. Je suis sur un serveur Linux et mon adresse IP est statique et mes serveurs DNS sont statiques. Je ne ai pas besoinresolvconf
ou NetworkManager .Ma politique est de garder les choses simples lorsque je travaille sur un serveur. Moins il y a de complexité, plus il sera facile de gérer / corriger les problèmes.
Donc, je l'ai fait
aptitude purge resolvconf
et manuellement, en m'assurant que ce/etc/resolv.conf
n'est pas un lien symbolique, et je viens de créer un fichier statique. Juste au cas où un programme essaie de modifier le fichier, je l’ai faitchattr +i
(immuable) par/etc/resolv.conf
mesure de précaution.la source
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 déjà installé différents clients DHCP, désactivé le gestionnaire de réseau dans certaines versions précédentes d'Ubuntu, etc. Il peut être intéressant de connaître les éléments suivants. 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/run/resolvconf/resolv.conf
sur mon système):Peu importe la fréquence d'exécution
sudo resolvconf -u
ou de non exécutionsudo dpkg-reconfigure resolvconf
, le serveur de noms n'a pas été mis à jour avec ceux que j'ai définis dans NetworkManager. Les informations que résolvconf utilise depuis le NetworkManager étaient présentes:Cependant, il se peut que, s'il y a plusieurs fichiers dans ce répertoire, ce fichier ne soit pas utilisé du tout. Le coupable était un fichier non supprimé avec la désinstallation de Dnsmasq:
Le simple fait de supprimer ce fichier (et d’exécuter
sudo resolvconf -u
ultérieurement) a résolu mes problèmes de DNS:J'espère que cela aidera également les autres avec le débogage (les interactions complexes entre tous ces différents outils de réseau). Si vous utilisez
resolvconf
assurez-vous de courirls /run/resolvconf/interfaces
pour voir ce qui est là.la source
/run/resolvconf/interface/
, mais monNetworkManager
fichier avait besoin d'un peu d'amour. Votre réponse m'a aidé à résoudre ce problème.Je viens de supprimer un lien
/etc/resolv.conf
et de créer 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 créée par les développeurs Ubuntu.la source
Vous pouvez éditer la connexion "AUTO ETH0" ou le nom que vous utilisez pour vous connecter en NM. Vous pouvez le faire en cliquant avec le bouton droit sur NM et en sélectionnant "Modifier les connexions ...". Sur l'onglet IPv4, vous pouvez sélectionner "Adresses automatiques (DHCP) uniquement" comme "Méthode" et NM vous permettra de définir manuellement la ou les adresses de serveur de noms, même les adresses étant transmises via DHCP.
la source
Ajoutant mon petit bout à la liste déjà longue, voici une autre manière (testée le 12.04):
Modifier
/run/resolvconf/interface/NetworkManager
pour répondre à vos besoins. Voici un exemple:Ensuite, comme indiqué pour la plupart des autres exemples, effectuez une
sudo resolvconf -u
. Maintenant, vous trouverez votreresolv.conf
apparence comme ceci:Je n'aime toujours pas la manière dont il est mis en œuvre maintenant (il semble qu'Ubuntu a besoin d'un service pour chaque foo qu'il fabrique) et je préférerais une plaine
resolv.conf
à coup sûr. Mais cette approche semble être le meilleur compromis pour moi jusqu'à présent. Le "localhost-NS" ajouté ne devrait pas faire trop mal.la source
J'ai corrigé cela en changeant l'ordre des sources. J'ai déjà déplacé la
dns
sourcemdns
dans/etc/nsswitch.conf
:Vous pouvez conserver vos paramètres tout en utilisant le serveur de mise en cache local de cette manière.
la source
Que diriez-vous:
Avant cela, utilisez Network Manager pour changer l’adresse DNS et changez la méthode pour
Ensuite, exécutez la commande ci-dessus et redémarrez. Cela a fait la solution pour moi.
la source
la source
C'est une question très populaire, avec une collection de réponses standard possibles, qui, IMO, sont plutôt compliquées. Personnellement, j’ai toujours eu du mal à faire en sorte que Ubuntu respecte les paramètres DNS que j’ai configurés dans NetworkManager - notamment le paramétrage des serveurs DNS statiques avec des "adresses automatiques (DHCP) uniquement" - et aujourd’hui j’ai enfin compris ce qui était réellement inexact.
Le problème réside dans l'interaction entre resolvconf et NetworkManager. Ce fichier est appelé resolvconf
/etc/resolvconf/interface-order
. Au moins sur mes systèmes, NetworkManager ne figure pas du tout dans ce fichier (sauf qu'il est couvert par le caractère générique * à la fin). Le rapport le plus récent de dhclient à resolvconf a donc préséance sur tout ce que NetworkManager a à dire.Ainsi, du moins dans mon cas, la réponse réelle a été d'ajouter
au sommet ou près du
/etc/resolvconf/interface-order
.(Oui, je connais beaucoup de gens qui me disent simplement "désinstaller resolvconf", ce qui me semble une mauvaise idée en soi. Mais plus que cela, au moins, rusé et xénial, considérez resolvconf comme une partie vitale du système [c'est-à-dire, ubuntu -minimal en dépend], il serait donc difficile de conserver votre système dans un état cohérent et mis à jour sans resolvconf.)
Sur demande, je peux fournir plus de détails sur la façon dont j'ai compris cela.( EDIT : apparemment, je ne l’ai pas fait quand cela a été demandé, désolé. À ce stade, je ne me souviens pas de beaucoup plus de détails que ce que j’ai dit ensuite :) En un mot, j’ai remplacé l’exécutable resolvconf par un wrapper de shell qui a vidé ses arguments, entrée, sortie et stderr dans des fichiers; et ajouté set -x aux scripts de mise à jour de resolvconf.( EDIT : je peux dire que ce que je veux dire par la première partie est que j’ai utilisé sudo pour déplacer le fichier exécutable resolvconf, qui pourrait être trouvé à l’aide de la commande which ou de la commande type. Créez ensuite un script shell qui exécute simplement le fichier déplacé. resolvconf, mais renvoie également les arguments à un fichier et utilise la redirection de shell pour envoyer stdin, stdout et stderr à divers autres fichiers. Je ne me souviens pas où "les scripts de mise à jour de resolvconf" sont et ne peuvent pas être facilement vérifiés. Je pense beaucoup de geeks de Linux peuvent comprendre ce que je veux dire, peut-être qu'un bon samaritain fournira encore plus de détails dans un commentaire.)
la source
Une autre méthode consiste à définir des serveurs DNS spécifiques à chaque menu:
Si vous n'avez pas un tel fichier, créez-le:
Source: https://robinwinslow.uk/2016/06/23/fix-docker-networking-dns/
Voir aussi: https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file
la source
Pour changer de DNS, suivez les instructions dans: https://developers.google.com/speed/public-dns/docs/using
Aller au réseau
Sélectionnez la connexion pour laquelle vous souhaitez configurer le DNS.
Pour modifier les paramètres d'une connexion sans fil, sélectionnez l'onglet Sans fil, puis sélectionnez le réseau sans fil approprié.
Cliquez sur la flèche (droite), puis dans la fenêtre qui s’ouvre, sélectionnez l’onglet Paramètres IPv4 ou Paramètres IPv6.
Si la méthode sélectionnée est automatique (DHCP), ouvrez le menu déroulant et sélectionnez uniquement les adresses automatiques (DHCP). Si la méthode est définie sur autre chose, ne la changez pas.
Dans le champ Serveurs DNS, entrez les adresses IP DNS, séparées par une virgule.
la source
0.Ajouter un DNS temporaire. Éditez /etc/resolv.conf.
1.Installez ou mettez à jour resolvconf.
2. Ajoutez votre serveur de noms dans /etc/resolvconf/resolv.conf.d/tail
3. Redémarrez votre machine.
la source