Nouvelle question, puisque tout le reste sur cette question semble être dépassé et/ou en conflit. Tenez vos votes serrés, s'il vous plaît :)
Sur les installations en stock d'Ubuntu 12 et 14 Server, il semble que le moyen le plus approprié consiste à modifier le DNS pour modifier le fichier d'interface et y ajouter les options dns. Le seul problème est que, sur les serveurs, où la disponibilité est un problème, il apparaît que le seul moyen de forcer l'application de ces modifications est de faire rebondir l'interface réseau affectée avec ifdown/ifup
.
J'ai un grand nombre de serveurs sur lequel effectuer un ensemble de modifications DNS et je dois mettre à jour leurs configurations de résolveur en masse, sans basculer les interfaces réseau de cette manière. Je dois également veiller à ce que les modifications restent après un redémarrage.
Le problème est que tous ces serveurs ont été construits avec les options dns du fichier interfaces
, ce qui signifie que si je change de fichier resolvconf
, head
ou tail
, je se retrouver avec un tas de lignes en double au redémarrage.
Le processus doit être quelque chose comme:
Donc, un récapitulatif:
interfaces
(nécessite une panne pour recycler l'interface)head
ou tail
(ne prendra pas effet, des lignes dupliquées apparaîtront au redémarrage)Existe-t-il un moyen d'effectuer un changement comme celui-ci, sans interrompre le service? Idéalement, je pourrais forcer resolvconf à suivre son processus de mise à jour sans basculer l'interface.
Si vous ne pouvez absolument pas avoir resolv.conf
dans un état incohérent, voici ce que j'ai fait:
L '"état" du résolveur généré à partir des lignes dns-
de votre /etc/network/interfaces
est stocké dans /var/run/resolvconf/interface/(interfacename).inet
- ce fichier a été tronqué.
Les mêmes données (search
, nameserver
, etc., les mêmes éléments que dans un resolv.conf
complété) ont été copiées dans /etc/resolvconf/resolv.conf.d/tail
(le fichier tail
a dû être créé). ), avec un commentaire approprié ajouté pour que quiconque se présente plus tard puisse voir ce qui s'est passé.
Les lignes dns
dans /etc/network/interfaces
ont été commentées
Et enfin, exécutez resolvconf -u
pour régénérer le /etc/resolv.conf
à partir du fichier tail.
Cela a pour effet de:
Découpler les paramètres du résolveur de l'interface réseau (ce qui est gênant si vous êtes sur une seule interface)
Placement des paramètres du résolveur dans un fichier texte unique (le fichier tail
)
Faire les changements prendre effet immédiatement
..et les persister après un redémarrage
Et recréer l’ensemble du système /etc/resolv.conf
avec le mécanisme de notification de resolvconf
intact.
... sans temps d'arrêt: D