Zone adm.crans.org
darcs-hash:20050514110606-41617-4d13b3e28e0736eccdb5b40e7a2a3234830b04fe.gz
This commit is contained in:
parent
e8c6e4eda3
commit
9b82ccfe75
1 changed files with 5 additions and 40 deletions
|
@ -35,7 +35,7 @@ la base LDAP
|
|||
|
||||
### Sur quelles zones on a autorité ?
|
||||
# Résolution directe
|
||||
zones_direct = [ 'crans.org' , 'crans.ens-cachan.fr', 'wifi.crans.org' , 'ferme.crans.org' , 'clubs.ens-cachan.fr' ]
|
||||
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.148.0/22' ]
|
||||
|
||||
|
@ -111,8 +111,8 @@ zone "%(NOM_zone)s" {
|
|||
for zone in zones :
|
||||
fd.write(self.zone_template_slave % { 'NOM_zone' : zone,
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
|
||||
|
||||
fd.close()
|
||||
|
||||
|
||||
def _gen(self) :
|
||||
### Génération du numéro de série
|
||||
|
@ -135,7 +135,6 @@ zone "%(NOM_zone)s" {
|
|||
|
||||
### Tri des machines
|
||||
direct = {} # format : { zone : [ lignes correspondantes] }
|
||||
direct['ariane'] = "" # Pour Ariane
|
||||
reverse = {}
|
||||
warnings = ''
|
||||
|
||||
|
@ -156,9 +155,6 @@ zone "%(NOM_zone)s" {
|
|||
ligne = "%s\tIN\tA\t%s\n" % ( nom, machine.ip() )
|
||||
try : direct[zone] += ligne
|
||||
except : direct[zone] = ligne
|
||||
if zone[-9:] == "crans.org":
|
||||
direct['ariane'] += ("%s\tIN\tA\t%s\n" % ((nom + "." + zone)[:-10],
|
||||
machine.ip() )).encode('iso-8859-15')
|
||||
elif self.verbose :
|
||||
warnings += u'Résolution directe ignorée (mid=%s) : zone non autoritaire (%s)\n' % ( machine.id().encode('iso-8859-1'), zone.encode('iso-8859-1') )
|
||||
|
||||
|
@ -171,10 +167,6 @@ zone "%(NOM_zone)s" {
|
|||
alias = alias.encode('iso-8859-1')
|
||||
try : direct[alias] += ligne
|
||||
except : direct[alias] = ligne
|
||||
if alias == "crans.org":
|
||||
direct['ariane'] += ("@\tIN\tA\t%s\n" % machine.ip()).encode('iso-8859-15')
|
||||
elif alias[-9:] == "crans.org":
|
||||
direct['ariane'] += ("%s\tIN\tA\t%s\n" % (alias[:-10], machine.ip())).encode('iso-8859-15')
|
||||
continue
|
||||
|
||||
# Bon format ?
|
||||
|
@ -196,9 +188,6 @@ zone "%(NOM_zone)s" {
|
|||
ligne = "%s\tIN\tCNAME\t%s.\n" % ( nom, machine.nom() )
|
||||
try : direct[zone] += ligne
|
||||
except : direct[zone] = ligne
|
||||
if zone[-9:] == "crans.org":
|
||||
direct['ariane'] += ("%s\tIN\tCNAME\t%s.\n" % ((nom + "." + zone)[:-10],
|
||||
machine.nom() )).encode('iso-8859-15')
|
||||
|
||||
# Le reverse
|
||||
if AddrInNets(machine.ip(), self.zones_reverse) :
|
||||
|
@ -213,27 +202,17 @@ zone "%(NOM_zone)s" {
|
|||
warnings += u'Résolution inverse ignorée (mid=%s) : ip sur zone non autoritaire (%s)\n' % ( machine.id().encode('iso-8859-1'), machine.ip().encode('iso-8859-1') )
|
||||
|
||||
### Ajouts pour les fichiers de résolution directs
|
||||
for zone in filter(lambda x: x != 'ariane', direct.keys()) :
|
||||
for zone in direct.keys() :
|
||||
# MXs
|
||||
direct[zone] = MX % { 'zone' : zone } + direct[zone]
|
||||
if zone[-9:] == "crans.org":
|
||||
direct['ariane'] = MX % { 'zone' : zone } + direct['ariane']
|
||||
|
||||
### Ecriture des fichiers de zone et préparation du fichier de définition
|
||||
f = ''
|
||||
for zone, lignes in direct.items() + reverse.items() :
|
||||
if zone == 'ariane':
|
||||
continue
|
||||
file = self.DNS_DIR + 'db.' + zone
|
||||
fd = self._open_conf(file,';')
|
||||
if zone != 'ariane':
|
||||
fd.write(self.zone_entete % \
|
||||
{ 'zone' : zone, 'serveur_autoritaire' : self.DNSs[0] ,
|
||||
'serial' : serial } )
|
||||
else:
|
||||
fd.write(self.zone_entete % \
|
||||
{ 'zone' : 'crans.org', 'serveur_autoritaire' : self.DNSs[0] ,
|
||||
'serial' : serial } )
|
||||
fd.write(self.zone_entete % \
|
||||
{ 'zone' : zone, 'serveur_autoritaire' : self.DNSs[0] , 'serial' : serial } )
|
||||
fd.write('\n')
|
||||
fd.write(DNS)
|
||||
fd.write(lignes)
|
||||
|
@ -244,20 +223,6 @@ zone "%(NOM_zone)s" {
|
|||
fd = self._open_conf(self.DNS_CONF,'//')
|
||||
fd.write(f)
|
||||
fd.close()
|
||||
|
||||
# Pour ariane
|
||||
fd = self._open_conf("%s.ariane" % self.DNS_CONF, '//')
|
||||
for zone in filter(lambda x: x!= 'ariane', direct):
|
||||
if zone == "crans.org":
|
||||
fd.write(self.zone_template % { 'NOM_zone' : zone,
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.ariane' })
|
||||
elif zone[-9:] != "crans.org":
|
||||
fd.write(self.zone_template % { 'NOM_zone' : zone,
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
|
||||
for zone in reverse :
|
||||
fd.write(self.zone_template % { 'NOM_zone' : zone,
|
||||
'FICHIER_zone' : self.DNS_DIR + 'db.' + zone })
|
||||
fd.close()
|
||||
|
||||
return warnings
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue