J'ai finalement migré de 12h10 à 12.04. J'ai une dernière partie à compléter mais je suis perplexe. J'utilise Puppet sur chaque serveur et, dans le passé, j'avais inclus une adresse de serveur de noms et un nom de domaine de recherche pour le maître de marionnettes dans le fichier resolv.conf.
search puppetmaster.com
nameserver 192.168.1.XXX
Dans 12.04, resolv.conf est écrasé lors du redémarrage. Je ne peux pas utiliser d'adresse IP statique pour ceux-ci, utiliser le/etc/network/interfaces pour m'aider est donc un point vide.
# 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
Existe-t-il un moyen de résoudre le problème resolvconf dans la tête, la queue ou la base? Si c'est le cas, y a-t-il des exemples que je peux utiliser pour modifier sur mon serveur.
Toute aide est très appréciée.
Il est probablement préférable que votre serveur DNS puisse résoudre le problème "marionnette" à la bonne adresse, et que votre serveur DHCP distribue l'adresse du serveur de noms DNS et la liste de recherche ou, si vous avez des adresses IP statiques, quelque chose comme: les éléments suivants dans/etc/network/interfaces.
iface eth0 inet static
address 192.168.3.3
netmask 255.255.255.0
gateway 192.168.3.1
dns-search example.com
dns-nameservers 192.168.3.45 192.168.8.10
Mais si vous voulez le faire via les fichiers de configuration de resolvconf, vous voudrez éditer /etc/resolvconf/resolv.conf.d/base
. Dans ce fichier, entrez vos informations comme vous le feriez dans resolv.conf
.
nameserver 192.168.1.XXX
Puis dites à resolvconf de régénérer resolv.conf
.
Sudo resolvconf -u
Je pense que la réponse est de vérifier votre /etc/dhcp/dhclient.conf
, c’est-à-dire de ne pas demander dns-nameservers
à votre client dhcp.
Puis mettez à jour votre /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
dns-search google.com
dns-nameservers dnsserverip
Ensuite, votre resolv.conf
sera automatiquement configuré comme vous le souhaitez.
Ajoutez-le au dns-search
, puis exécutez un /etc/init.d/networking restart
(même si ce script est déconseillé, il fonctionne toujours).
Ceci est probablement dû à la configuration DHCP lors de la première installation d’Ubuntu. Essayez ce processus en 3 étapes pour gérer ce problème de configuration automatique.
Modifiez la configuration de votre interface, qui se trouve dans: /etc/network/interfaces
Ajoutez cette ligne ci-dessous iface lo inet loopback
:
dns-nameservers yourdns youraltdns
Comme exemple pour Google DNS, vous pouvez utiliser ceci:
dns-nameservers 8.8.8.8 8.8.4.4
Editez votre fichier de configuration DHCP, situé à l’adresse:
/etc/dhcp/dhclient.conf
Marquez la syntaxe en tant que commentaire en utilisant #
sur chaque ligne ou supprimez simplement chaque serveur de nom de requête. En 16.04, vous ne serez peut-être pas obligé de faire des changements ici.
Redémarrez votre réseau en utilisant cette commande:
/etc/init.d/networking restart
En 16.04:
Sudo ifdown -a
Sudo ifup -a
Veuillez consulter la page de manuel de resolvconf
. Vous pouvez forcer l'inclusion de certains paramètres DNS en créant par exemple /etc/resolvconf/resolv.conf.d/base
:
/etc/resolvconf/resolv.conf.d/base
File containing basic resolver information. The lines in this
file are included in the resolver configuration file even when
no interfaces are configured.
Il existe d'autres fichiers spéciaux (tête et queue), ils peuvent vous aider à atteindre vos objectifs.
Comme de nombreuses autres réponses le signalent, il s'agit de resolvconf
en cours d'installation sur votre système.
Ainsi, le meilleur moyen de conserver quelque chose dans resolv.conf
qui ne sera pas perdu au redémarrage est de l'inclure dans les fichiers de configuration de resolvconf qui se trouvent dans:
/etc/resolvconf/resolv.conf.d/
Dans celui-ci, recherchez le fichier head
name__. Tout ce que vous mettez ici sera écrit en haut de /etc/resolv.conf
Donc, tout ira à quelque chose comme ça:
# echo nameserver 8.8.8.8 >> /etc/resolvconf/resolv.conf.d/head
# resolvconf --enable-updates
# resolvconf -u
Pour moi, les réponses ci-dessus étaient inadéquates pour les raisons suivantes:
resolvconf
, juste /etc/resolv.conf
.chattr +i
pour verrouiller resolv.conf
semble trop compliqué. J'ai besoin que Puppet soit libre de faire les changements nécessaires./etc/network/interfaces
n'empêche pas resolv.conf
d'être écrasé; il spécifie simplement les serveurs de noms qui doivent être écrits. Pour moi, spécifier les serveurs de noms n'était pas la question. J'essaie de définir options timeout:1
et options attempts:1
dans mon fichier resolv.conf
.Le meilleure solution que j'ai trouvé remplace le comportement par défaut de dhclient
en utilisant ses points d'ancrage documentés.
Créez un nouveau fichier à /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
avec le contenu suivant:
#!/bin/sh
make_resolv_conf() {
:
}
Ensuite, rendez le fichier exécutable:
chmod +x /etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
Désormais, lorsque dhclient est exécuté (au redémarrage ou lorsque vous exécutez manuellement Sudo ifdown -a ; Sudo ifup -a
), il charge ce script nodnsupdate
. Ce script remplace une fonction interne appelée make_resolv_conf()
qui écraserait normalement resolv.conf
et ne fera rien à la place.
Cela a fonctionné pour moi sur Ubuntu 12.04.
Cela peut bien être une bizarrerie bizarre dans ma machine, mais quelqu'un d'autre pourrait avoir le même cas de figure.
J'ai essayé de nombreuses manières d'inclure mes serveurs de noms ISP dans /etc/resolv.conf sans succès:
Je les ai inclus dans /etc/network/interfaces
et ai redémarré la mise en réseau. Ils ne sont pas apparus dans /etc/resolv.conf
.
Je les ai mis explicitement dans /etc/resolv.conf
, mais bien sûr, ils ont été écrasés. Ils sont apparus dans /run/resolvconf/interface/eth0.inet
, mais ne l'ont jamais fait à /etc/resolv.conf
.
J'ai essayé de configurer resolvconf pour les mises à jour dynamiques. Pas de changement.
Enfin, j'ai lu quelque part que si la machine locale (127.0.0.1) apparaît dans /etc/resolv.conf
, aucun autre serveur de noms n'est inclus.
En désespoir de cause, j'ai modifié /run/resolvconf/interface/lo.named
, supprimé la seule ligne qu'il contient (nameserver 127.0.0.1
) et redémarré: ifdown eth0 && ifup eth0
.
/etc/resolv.conf a ensuite inclus mes serveurs de noms ISP pour la première fois! J'ai exécuté service network-manager restart
pour voir s'il était stable et /etc/resolv.conf
inclut toujours mes serveurs de noms ISP. Redémarré juste pour être sûr et c'est toujours là mais/run/resolvconf/interface/lo.named
a été réinitialisé à: nameserver 127.0.0.1
.
Curieusement, le redémarrage du réseau fonctionne toujours: /etc/resolv.conf
contient toujours mes serveurs de noms ISP. Je ne peux pas expliquer cela (quelqu'un peut-il?), Mais cela pourrait aider une personne coincée au même endroit.
ajoutez votre serveur de noms dans le fichier /etc/resolvconf/resolv.conf.d/head. Le fichier contient un message que vous avez reçu:
ce fichier devrait ressembler à ceci après avoir ajouté 8.8.8.8
root@hvnatvcc: ~ # cat /etc/resolvconf/resolv.conf.d/head
# 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.8.8
Ajouter des entrées dans /etc/resolvconf/resolv.conf.d/head
echo 'search puppetmaster.com' | Sudo tee -a /etc/resolvconf/resolv.conf.d/head
echo 'nameserver 192.168.1.XXX' | Sudo tee -a /etc/resolvconf/resolv.conf.d/head
et lancez la commande suivante
Sudo resolvconf -u
ajouter sur la dernière ligne, par exemple:
nameserver 8.8.8.8
Ouvrez un terminal et tapez
Sudo chattr +i /etc/resolv.conf
le + i veille à ce que le fichier ne soit pas réinitialisé au démarrage.
Pour annuler ce qui précède
Sudo chattr -i /etc/resolv.conf
Pour plus
man chattr
Pour Ubuntu Server 18, Netplan est le nouvel utilitaire de configuration de la mise en réseau.
# cd /etc/netplan
Puis modifiez la saisie des adresses de serveurs de noms dans le fichier yaml (utilisez le retrait correct). Par exemple, si vous utilisez les serveurs DNS de Google:
nameservers:
addresses: [8.8.8.8,8.8.4.4]
Pour redémarrer le service
# netplan apply
Voir https://netplan.io/
https://www.techrepublic.com/article/how-to-set-dns-nameservers-in-ubuntu-server-18-04/
Les autres solutions ne fonctionnaient pas pour moi sur mon système Fedora 20. Mon problème particulier était que la ligne "search" dans /etc/resolv.conf était en train d'être écrasée. Voici ce qui l'a corrigé. (Cela suppose que NetworkManager génère la ligne search rn.yourcompany.com
et que vous souhaitiez qu'elle soit search rn.yourcompany.com yourcompany.com intnet.yourcompany.com
:
1.Utilisez la commande "ifconfig" pour trouver quelle interface est intéressante:
$ ifconfig
:
:
em2: <this was the one which was connected>
2.Devenez root et accédez au répertoire des périphériques réseau de configuration système:
$ Sudo su -[Sudo]
password for youruser:
# cd /etc/sysconfig/networking/devices`
Domain
avec les domaines supplémentaires à rechercher:DOMAIN="yourcompany.com intnet.yourcompany.com"
Enregistrez, déconnectez-vous et reconnectez-vous. NetworkManager devrait maintenant avoir la ligne \etc\resolve.conf
:
search rn.yourcompany.com yourcompany.com intnet.yourcompany.com
J'ai trouvé cela le correctif le plus simple. Si vous avez des fichiers resolv.conf et resolvconf, ils se chevaucheront. Vous devez supprimer le fichier resolv.conf qui subit un écrasement à chaque redémarrage. Placez le serveur de noms 8.8.8.8 8.8.4.4 au bas du fichier resolvconf, puis exécutez la commande Sudo rm /etc/resolv.conf
pour supprimer le fichier. Ensuite, redémarrez et tout fonctionnera.
Si vous utilisez DHCP, éditez /etc/dhcp/dhclient.conf
pour ajouter des serveurs DNS supplémentaires:
prepend domain-name-servers 12.34.56.78, 12.34.56.79;
Le client DHCP écrase le dns-nameservers
dans etc/network/interfaces
et je pense aussi dans /etc/resolvconf/resolv.conf.d/base
.
Cela a fonctionné pour moi sur le serveur Ubuntu 14.04.3.
Voir le Wiki Debian NetworkConfiguration pour plus de détails.
traduction anglaise:
Mon résolu. "seulement 12,4"
J'ai remarqué que si vous ajoutez le serveur de noms DNS dans des interfaces ne prenant pas le nom du serveur de résolution, merci à l'aide trouvée ici pour résoudre le problème.
http://manpages.ubuntu.com/manpages/lucid/man8/resolvconf.8.html
Pour que resolv.conf ne change pas lorsque nous modifions manuellement, faisons ceci dans le terminal:
Sudo resolvconf –disable-updates
après:
Sudo resolvconf -a eth0 # or your network Interfas
puis éditez manuellement /run/resolvconf/resolv.conf
ajouter un maximum de deux serveurs DNS. merci P.S. n'oubliez pas de redémarrer:
Sudo /etc/init.d/networking restart
Texte d'origine:
solo ubuntu 12.4
Mi solucion.
Il voit si les serveurs de noms de serveurs et leurs interfaces ne sont pas pris en compte par les serveurs
Gracias à l'ayuda encontrada en esta pagina il resuelto el problema.
http://manpages.ubuntu.com/manpages/lucid/man8/resolvconf.8.html
Par ha haque que resolv.conf pas cambie avec la commande manuelle doit être effectuée dans le terminal:
Sudo resolvconf –disable-updates
despues:
Sudo resolvconf -a eth0 # o tu interfas de red
luego editamos manualmente /run/resolvconf/resolv.conf
agregando un maximo de 2 serveurs DNS. saludos P.D. aucun olvidar reiniciar:
Sudo /etc/init.d/networking restart