[AlternC-dev] Interface Web pour la gestion des DNS

Retour à l'archive de la liste
Le site d'AlternC
Google Custom Search

Jean-Luc T leejay at adslinux.org
Lun 10 Mai 11:26:22 CEST 2004


Bonjour,

J'ai remarqué dans alternc que pour gerer les DNS un script via crontab
se lancé sous les X mins. Quand je vois le script, je trouve qu'il est
est trop complexe pour mettre depuis MySQL les configurations et zones
dans BIND.

Samedi après midi, j'ai écris en PHP et en utilisant une base de données
MySQL à peu près la même chose que Alternc pour la gestion des DNS.

Pour la démo c'est pas ici : http://dns.adslinux.org 

Cette interface permet de gérer les DNS depuis MySQL, puis ensuite, un
script va mettre les données dans BIND et le relancer. Le script pour
mettre de MySQL vers BIND fait moins de 30 lignes. En fait j'utilise pas
un script SH qui va utiliser l'utilitaire "mysql" pour mettre en suite
dans les fichiers de configuration, mais j'utilise "php", maintenant php
s'utilise aussi bien en page web que en utilitaire console. En voici un
exemple.
 
leejay at tux:~/dns.adslinux.org$ php conf_gener.php
// Zone adslinux.org
zone "adslinux.org" IN {
        type master;
        file "adslinux.org.zone";
        allow-query { any; };
        allow-transfer { 192.178.2.1; };
        also-notify { 192.178.2.1; };
        allow-update { none; };
        notify yes;
};
// Zone coderz.org
zone "coderz.org" IN {
        type master;
        file "coderz.org.zone";
        allow-query { any; };
        allow-transfer { 192.178.2.1; };
        also-notify { 192.178.2.1; };
        allow-update { none; };
        notify yes;
};

[..] Va une dixaine de domaines

En faite en utilisant php et une page PHP non HTML. Depuis cette page
codé en PHP elle va rechercher les informations dans la base de données
pour ensuite sortir en texte brute la configuration généré par une
boucle while.

Il suffit alors de mettre un cron toutes les X min avec
/la/ou/est/le/script/conf_gener.php > /etc/named.conf.mysql

Avec bien sûr un include "/etc/named.conf.mysql" dans named.conf.
Ensuite il faut écrire les zones. Même principe qu'avec le script
ci-dessus. Avec un boucle qui va chercher les info pour les zones.

Ensuite un petit rndc reconfig && rndc reload et voila ...

Qu'en pensez-vous ? Est t-il possible d'intégrer ceci dans une future
version d'alternc ?

L'avantage de cette méthode c'est qu'elle machine sur tout les
distributions avec named installé bien sûr. il suffit depuis le fichier
de configuration de mettre ou se trouve le /etc/named.conf.mysql et le
répertoire ou se trouve les zones.

A plus 
-- 
Jean-Luc T. <leejay at adslinux.org>
Communauté LibreAsso : http://www.adslinux.org
Membre du CLX Nord Pas de Calais : http://clx.anet.fr


Plus d'informations sur la liste de diffusion Dev