1 votes

Quel est le moyen le plus rapide de mettre à jour plus de 100 enregistrements de zone dans BIND ?

J'utilise actuellement Cpanel pour gérer mon serveur BIND et il est pénible de mettre à jour plus de 100 enregistrements lorsque le serveur vers lequel ils pointent est en panne.

Existe-t-il un moyen plus rapide de mettre à jour les enregistrements BIND ? La méthode cpanel nécessite de nombreux clics. La méthode en ligne de commande est également lente car il faut entrer dans chaque zone, modifier et enregistrer.

Ce sera bien si je peux avoir une zone pré-enregistrée prête. Lorsque j'ai besoin de changer, il me suffit de remplacer les fichiers de zone.

1voto

jammus Points 1796

Si c'est quelque chose que vous faites souvent pour une raison quelconque, vous pourriez simplement créer deux ensembles de fichiers de configuration et de fichiers de base de données, puis simplement faire votre named.conf est un lien symbolique vers la version du fichier que vous voulez activer. Lorsque vous avez besoin de changer, changez le lien symbolique et redémarrez.

// named.primary.conf for primary link
...
zone "example.org" {
        type master;
        file "/etc/bind/master/example.org.primary.dns";
};

// named.backup.conf for primary link
...
zone "example.org" {
        type master;
        file "/etc/bind/master/example.org.backup.dns";
};

0voto

Khaled Points 35208

Travailler à partir de la ligne de commande peut être très rapide si vous utilisez les bons outils. Par exemple, vous pouvez utiliser une commande comme la suivante pour trouver des fichiers spécifiques et effectuer le remplacement nécessaire.

$ find /path -name "*.zone" | sudo xargs sed -i 's/string/replacement/g'

Vous devez modifier les critères de recherche en fonction de vos besoins et du nom des fichiers. De plus, je pense que ce sera une bonne idée d'exécuter sed sans -i au début pour vous assurer que vous faites bien les choses, ou au moins faire une sauvegarde de vos fichiers.

0voto

cjc Points 24265

Une variante de celle de Khaled sed commandement :

perl -pi.bak -e 's/string/replacement/' *zone

Ainsi, perl créera un fichier .bak pour chaque fichier contre lequel il s'exécute. Vous pouvez, bien sûr, créer des perl plus compliqués dans l'expression, si cela s'avère nécessaire.

Vous pouvez également vous rendre dans votre répertoire de fichiers de zone et y installer un contrôle de version. Quelque chose comme :

git init
git add /path/to/zone/files
git commit -m 'Initial checkin'

mettra en place le repo. Ensuite, vous pouvez utiliser git pour gérer votre gestion des versions.

0voto

cnst Points 12508

Avez-vous plusieurs domaines, qui ont tous essentiellement le même fichier de zone ?

Si c'est le cas, j'ai trouvé que le moyen le plus simple était de supprimer tous les fichiers de zone sauf une copie, et de faire un lien symbolique entre tous les noms des fichiers de zone supprimés et le seul qui reste. Dans ce fichier de zone unique, assurez-vous d'éviter toute référence absolue à l'un de vos domaines, par exemple, utilisez "@ IN AAAA ..." au lieu de "exemple.com. IN AAAA ..." etc. Viola, vous pouvez maintenant éditer un seul fichier de zone, et faire en sorte que les changements soient appliqués à tous les domaines en même temps.

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