193 votes

Comment inclure des lignes dans resolv.conf qui ne seront pas perdues au redémarrage ?

J'ai enfin migré vers 12.04 à partir de 7.10. Il me reste une dernière partie à compléter mais je suis bloqué. J'utilise Puppet sur chaque serveur, et dans le passé j'ai inclus une adresse de serveur de noms et un nom de domaine de recherche pour le puppetmaster dans resolv.conf.

search puppetmaster.com
nameserver 192.168.1.XXX

Dans 12.04, resolv.conf est écrasé au redémarrage. Je ne peux pas utiliser une IP statique pour ceux-ci, donc utiliser le fichier /etc/network/interfaces pour m'aider est inutile.

# Fichier resolv.conf(5) dynamique pour le résolveur glibc(3) généré par resolvconf(8)
#     NE MODIFIEZ PAS CE FICHIER MANUELLEMENT - VOS MODIFICATIONS SERONT ECRASEES
nameserver 127.0.0.1

Y a-t-il un moyen de faire en sorte que resolvconf gère ceci soit dans l'en-tête, la queue ou à la base? Si oui, y a-t-il des exemples que je peux utiliser pour ajuster sur mon serveur.

Toute aide est grandement appréciée.

143voto

Binarytales Points 171

Il est probablement préférable que votre serveur DNS puisse résoudre 'puppet' à la bonne adresse, et soit en mesure de distribuer l'adresse et la liste de recherche du serveur de noms DNS via le serveur DHCP ou bien (si vous avez des adresses IP statiques) d'avoir quelque chose comme ce qui suit dans le fichier /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, insérez vos informations comme vous le feriez dans resolv.conf.

nameserver 192.168.1.XXX

Ensuite, indiquez à resolvconf de régénérer resolv.conf.

sudo resolvconf -u

39voto

Jamin Points 491

Je pense que la réponse est de vérifier votre /etc/dhcp/dhclient.conf, c'est-à-dire ne pas demander les dns-nameservers à votre client dhcp.

Ensuite, 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 au dns-search puis exécutez un /etc/init.d/networking restart (même si ce script est obsolète, il fonctionne toujours).

23voto

astrajingga Points 403

Cela est probablement dû à la configuration DHCP lors de l'installation initiale d'Ubuntu. Essayez ce processus en 3 étapes pour résoudre ce problème de configuration automatique.

Première étape

Modifiez votre configuration d'interface, qui se trouve dans : /etc/network/interfaces

Ajoutez cette ligne en dessous de iface lo inet loopback :

dns-nameservers votredns votreautredns

Par exemple, pour les serveurs DNS de Google, vous pouvez utiliser ceci :

dns-nameservers 8.8.8.8 8.8.4.4

Deuxième étape

Modifiez votre fichier de configuration DHCP, situé ici :

/etc/dhcp/dhclient.conf

Commentez la syntaxe en utilisant le symbole # sur chaque ligne ou supprimez simplement chaque demande de serveur de noms. Sous 16.04, il se peut que vous n'ayez pas besoin de faire de modifications ici.

Troisième étape

Redémarrez votre réseau en utilisant cette commande :

/etc/init.d/networking restart

Sous 16.04 :

sudo ifdown -a
sudo ifup -a

15voto

Comme de nombreuses autres réponses l'indiquent, cela a à voir avec resolvconf étant installé sur votre système.

La meilleure façon de garder 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/

Allez dans le fichier head. Tout ce que vous mettez là sera écrit en haut de /etc/resolv.conf

Ainsi, tout ira quelque chose comme ceci :

# echo nameserver 8.8.8.8 >> /etc/resolvconf/resolv.conf.d/head
# resolvconf --enable-updates
# resolvconf -u

8voto

roadmr Points 32606

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
          Fichier contenant des informations de base sur le résolveur. Les lignes de ce
          fichier sont incluses dans le fichier de configuration du résolveur même lorsque
          aucune interface n'est configurée.

Il existe d'autres fichiers spéciaux (head et tail), ceux-ci peuvent vous aider à obtenir ce que vous souhaitez.

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