diff --git a/gestion/gen_confs/bind.py b/gestion/gen_confs/bind.py index 884c86e5..6550ae5a 100644 --- a/gestion/gen_confs/bind.py +++ b/gestion/gen_confs/bind.py @@ -111,12 +111,17 @@ zone "%(NOM_zone)s" { for net in self.zones_reverse : n = map(int,net.split('/')[0].split('.')[:3]) while 1 : - if not AddrInNet("%d.%d.%d.1" % tuple(n),net): + try: + innet = AddrInNet("%d.%d.%d.1" % tuple(n),net) + except ValueError: break - else : - n.reverse() - zones.append("%d.%d.%d.in-addr.arpa" % tuple(n)) - n.reverse() + else: + if not innet: + break + else : + n.reverse() + zones.append("%d.%d.%d.in-addr.arpa" % tuple(n)) + n.reverse() n[2] += 1 # Ecriture diff --git a/gestion/gen_confs/dhcpd_new.py b/gestion/gen_confs/dhcpd_new.py index 3e0d7d84..5638cb49 100755 --- a/gestion/gen_confs/dhcpd_new.py +++ b/gestion/gen_confs/dhcpd_new.py @@ -31,7 +31,7 @@ class dhcp(gen_config) : reseaux = { '10.2.9.0/24' : '/etc/dhcp3/generated/appartements.liste' } elif hostname == 'dyson': restart_cmd = '/etc/init.d/dhcp3-server restart' - reseaux = { NETs['adh-g'][0] : '/etc/dhcp3/generate/adh-g.liste' } + reseaux = { NETs['adh-g'][0] : '/etc/dhcp3/generated/adh-g.liste' } elif hostname == 'gordon': restart_cmd = '/etc/init.d/dhcp3-server restart' reseaux = { '138.231.144.0/21' : '/etc/dhcp3/generated/wifi.liste' } @@ -77,6 +77,8 @@ class dhcp(gen_config) : for machine in self.machines : self.anim.cycle() for net in self.reseaux.keys() : + ip = machine.ip() + if '.151.' in ip: print ip if AddrInNet(machine.ip(), net) : host_template = self.host_template # variable pour remplir le template diff --git a/gestion/gen_confs/generate.py b/gestion/gen_confs/generate.py index 2cff5260..8a553336 100644 --- a/gestion/gen_confs/generate.py +++ b/gestion/gen_confs/generate.py @@ -222,7 +222,7 @@ class komaz(base_reconfigure): class dyson(base_reconfigure): def dhcp(self): - from gen_confs.dhcp_new import dhcp + from gen_confs.dhcpd_new import dhcp self._do(dhcp(), self._machines()) class sable(base_reconfigure): diff --git a/gestion/gen_confs/switchs.py b/gestion/gen_confs/switchs.py index f64cf43e..2ca401ca 100644 --- a/gestion/gen_confs/switchs.py +++ b/gestion/gen_confs/switchs.py @@ -259,6 +259,10 @@ exit # Batiment et numéro du switch bat = switch[3].lower() sw_num = int(switch[5]) + dhcp_server = self.dhcp_server + # Au bâtiment G, on utilise un autre serveur DHCP + if bat == 'g': + dhcp_server = '138.231.151.1' # Conf radius sys.path.append('/usr/scripts/gestion/secrets') from secrets import radius_key @@ -271,7 +275,7 @@ exit params = { 'switch' : switch, 'bat' : bat.upper() , 'radius_key' : radius_key , 'radius-serveurs' : rad[:-1] % tuple(self.rad_servs), - 'dhcp': self.dhcp_server} + 'dhcp': dhcp_server} self.aff.cycle() diff --git a/gestion/ldap_crans.py b/gestion/ldap_crans.py index 19ad8fda..83289609 100644 --- a/gestion/ldap_crans.py +++ b/gestion/ldap_crans.py @@ -1728,6 +1728,7 @@ class BaseProprietaire(BaseClasseCrans): self.services_to_restart('ragnarok-dhcp') else: self.services_to_restart('sable-dhcp') + self.services_to_restart('dyson-dhcp') # TODO : le rendre plus propre self.services_to_restart('titanic-dhcp')