Le fichier zones_crans est dorenavantgere par cfengine
darcs-hash:20070509125836-9e428-915964fd108acd440a8e2126e15ac0fbe1e5a7ee.gz
This commit is contained in:
parent
727c6a4ba3
commit
59469b06de
1 changed files with 32 additions and 14 deletions
|
@ -33,20 +33,25 @@ la base LDAP
|
|||
# Fichier de définition des zones pour le maître
|
||||
DNS_CONF = DNS_DIR + 'zones_crans'
|
||||
|
||||
# Fichier de définition des zones pour les esclaves géré par cfengine
|
||||
DNS_CONF_CFENGINE = "/etc/cfengine/files/etc/bind/generated/zones_crans.esclave"
|
||||
|
||||
### Sur quelles zones on a autorité ?
|
||||
## En cas de modification de ces zones penser à regéner le fichier de
|
||||
## zone des esclaves (python /usr/scripts/gestion/gen_confs/bind.py)
|
||||
## zone des esclaves (sur le serveur principal de cfengine : python /usr/scripts/gestion/gen_confs/bind.py puis lancer cfrun)
|
||||
# Résolution directe
|
||||
zones_direct = [ 'crans.org' , 'crans.ens-cachan.fr', 'wifi.crans.org' , 'ferme.crans.org' , 'clubs.ens-cachan.fr', 'adm.crans.org' ]
|
||||
# Résolution inverse
|
||||
zones_reverse = [ '138.231.136.0/21', '138.231.144.0/24', '138.231.148.0/22' ]
|
||||
|
||||
### Liste DNS
|
||||
# Le premier est doit être le maitre
|
||||
# Le premier doit être le maitre
|
||||
DNSs = [ 'rouge.crans.org' , 'sila.crans.org' , 'freebox.crans.org' ]
|
||||
DNSs_private = ['vert.adm.crans.org']
|
||||
ip_master_DNS = "138.231.136.3"
|
||||
|
||||
### Liste des délégations de zone
|
||||
# Pour les demandes des ces zones, le DNS dira d'aller voir les serveurs listés ici
|
||||
# Pour les demandes de ces zones, le DNS dira d'aller voir les serveurs listés ici
|
||||
# Pour les noms des serveurs on met l'IP sans point ou le nom avec un point
|
||||
DELEG = { 'tv.crans.org' : ['rouge.crans.org.' , 'sila.crans.org.' , 'freebox.crans.org.', 'mouton.ferme.crans.org.'] }
|
||||
|
||||
|
@ -74,12 +79,12 @@ zone "%(NOM_zone)s" {
|
|||
file "%(FICHIER_zone)s";
|
||||
};
|
||||
"""
|
||||
# Syntaxe utilisée dans le fichier DNS_CONF pour définir une zone sur le maître
|
||||
# Syntaxe utilisée dans le fichier DNS_CONF_CFENFINE pour définir une zone sur un esclave
|
||||
zone_template_slave="""
|
||||
zone "%(NOM_zone)s" {
|
||||
type slave;
|
||||
file "%(FICHIER_zone)s";
|
||||
masters { 138.231.136.3; };
|
||||
masters { %(ip_master_DNS)s; };
|
||||
};
|
||||
"""
|
||||
|
||||
|
@ -112,10 +117,11 @@ zone "%(NOM_zone)s" {
|
|||
n[2] += 1
|
||||
|
||||
# Ecriture
|
||||
fd = self._open_conf(self.DNS_CONF,'//')
|
||||
fd = self._open_conf(self.DNS_CONF_CFENGINE,'//')
|
||||
for zone in zones :
|
||||
fd.write(self.zone_template_slave % { 'NOM_zone' : zone,
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone,
|
||||
'ip_master_DNS': self.ip_master_DNS})
|
||||
|
||||
fd.close()
|
||||
|
||||
|
@ -255,9 +261,21 @@ zone "%(NOM_zone)s" {
|
|||
|
||||
if __name__ == '__main__' :
|
||||
from socket import gethostname
|
||||
if gethostname().split(".")[0] == 'rouge' :
|
||||
print "Ce serveur est maître !, utiliser generate."
|
||||
else :
|
||||
print "Reconfiguration de bind en esclave (penser à le relancer)."
|
||||
from config import cfengine_main
|
||||
def short_name(fullhostname):
|
||||
return fullhostname.split(".")[0]
|
||||
hostname = short_name(gethostname())
|
||||
if hostname == short_name(cfengine_main):
|
||||
print "Reconfiguration du fichier de cfengine pour configurer le bind d'un serveur en esclave (pensez à lancer cfrun)."
|
||||
c = dns()
|
||||
c.gen_slave()
|
||||
if hostname == short_name(dns.DNSs[0]):
|
||||
print "Ce serveur est également serveur maitre, mais la reconfiguration du DNS maitre se fait par generate."
|
||||
elif hostname == short_name(dns.DNSs[0]):
|
||||
print "Ce serveur est maître ! Utilisez generate."
|
||||
elif hostname in map(lambda fullhostname : short_name(fullhostname),dns.DNSs[1:]+dns.DNSs_private):
|
||||
print "Ce serveur est esclave! Lancez le sur %s, puis lancez cfrun" % cfengine_main
|
||||
else:
|
||||
print "Ce serveur ne correspond à rien pour la configuration DNS."
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue