diff --git a/gestion/config/config.py b/gestion/config/config.py index ccf9fa72..e4e7a859 100644 --- a/gestion/config/config.py +++ b/gestion/config/config.py @@ -193,11 +193,13 @@ rid_primaires = { # Rid pour les serveurs v6-only 'serveurs-v6' : [(8192, 10240),], # Rid pour les filaires v6-only - 'fil-v6' : [(16384, 24575),], + 'adherents-v6' : [(16384, 24575),], # Rid pour les wifi v6-only - 'wifi-v6' : [(24576, 32767),], + 'wifi-adh-v6' : [(24576, 32767),], + # Bornes-v6 ? + 'bornes-v6' : [(32768, 33791),], # Rid pour les machines du vlan adm - 'adm-v6' : [(50176, 51199),], + 'adm-v6' : [(49152, 51199),], # Rid pour les machines du vlan adm 'adm' : [(51200, 53247),], # Mid pour les machines du vlan gratuit @@ -240,8 +242,8 @@ prefix = { 'subnet' : [ '2a01:240:fe3d::/48' ], 'adm-v6' : [ '2a01:240:fe3d:c804::/64' ], 'wifi' : [ '2a01:240:fe3d:c04::/64' ], 'serveurs-v6' : [ '2a01:240:fe3d:c04::/64' ], - 'fil-v6' : [ '2a01:240:fe3d:4::/64' ], - 'wifi-v6' : [ '2a01:240:fe3d:c04::/64' ], + 'adherents-v6' : [ '2a01:240:fe3d:4::/64' ], + 'wifi-adh-v6' : [ '2a01:240:fe3d:c04::/64' ], 'personnel-ens' : [ '2a01:240:fe3d:4::/64' ], 'sixxs2' : [ '2a01:240:fe00:68::/64' ], 'evenementiel' : [ '2a01:240:fe3d:d2::/64' ], diff --git a/gestion/gen_confs/firewall6.py b/gestion/gen_confs/firewall6.py index 8f5e5e23..d7797888 100755 --- a/gestion/gen_confs/firewall6.py +++ b/gestion/gen_confs/firewall6.py @@ -61,7 +61,7 @@ def tracker_torrent(ip6tables): def ports(dev_ip6, dev_list): ''' Ouvre les ports ''' for machine in machines : - for type_machine in ['fil', 'fil-v6', 'wifi', 'wifi-v6', 'serveurs']: + for type_machine in ['fil', 'adherents-v6', 'wifi', 'wifi-adh-v6', 'serveurs']: for plage in rid[type_machine]: if int(machine.rid()) in range(plage[0], plage[1]): for dev in dev_list: @@ -82,7 +82,7 @@ def ports(dev_ip6, dev_list): for proto in open_ports.keys(): ip6tables.filter.forward('-i %s -p %s -m multiport --dports %s -j ACCEPT' % (dev_ip6, proto, open_ports[proto])) - for type_machine in ['fil', 'fil-v6', 'wifi', 'wifi-v6']: + for type_machine in ['fil', 'adherents-v6', 'wifi', 'wifi-adh-v6']: ip6tables.filter.forward('-i %s -d %s -j %s' % (dev_ip6, prefix[dprefix[type_machine]][0], 'EXT' + re.sub('-', '', type_machine.upper()))) @@ -94,7 +94,7 @@ def ports(dev_ip6, dev_list): # FIXME: proxy transparent -> port 80 ip6tables.filter.forward('-i %s -p tcp -m multiport --dports 0:24,26:79,80,81:134,136,140:444,446:65535 -j ACCEPT' % dev) - for type_machine in ['fil', 'fil-v6', 'wifi', 'wifi-v6']: + for type_machine in ['fil', 'adherents-v6', 'wifi', 'wifi-adh-v6']: ip6tables.filter.forward('-i %s -s %s -j %s' % (iface6(type_machine), prefix[dprefix[type_machine]][0], 'CRANS' + re.sub('-', '', type_machine.upper()))) @@ -123,7 +123,7 @@ def basic_fw(): ip6tables.filter.ieui64('! -s %s -j RETURN' % net) # Correspondance MAC-IP - mac_ip(ip6tables, machines, ['fil', 'fil-v6', 'adm', 'wifi', 'wifi-v6', 'serveurs']) + mac_ip(ip6tables, machines, ['fil', 'adherents-v6', 'adm', 'wifi', 'wifi-adh-v6', 'serveurs']) def main_router(): @@ -181,7 +181,7 @@ def main_router(): ip6tables.filter.forward('-j INGRESS_FILTERING') # Pour les autres connections - for type_m in [i for i in ['fil', 'fil-v6', 'wifi', 'wifi-v6'] if not 'v6' in i]: + for type_m in [i for i in ['fil', 'adherents-v6', 'wifi', 'wifi-adh-v6'] if not 'v6' in i]: ip6tables.filter.mac('-s %s -j %s' % (prefix[type_m][0], 'MAC' + type_m.upper())) ip6tables.filter.forward('-i %s -j MAC' % dev_crans) diff --git a/gestion/ipt.py b/gestion/ipt.py index 709c7569..74d35555 100644 --- a/gestion/ipt.py +++ b/gestion/ipt.py @@ -56,8 +56,8 @@ Filter_policy_template = """ :OUTPUT %(policy_output)s [0:0] """ -dprefix = { 'adherents': 'adherents', 'fil' : 'fil', 'fil-v6' : 'fil', 'adm' : 'adm', 'wifi' : 'wifi', - 'wifi-v6' : 'wifi','personnel-ens':'personnel-ens', 'serveurs':'serveurs', 'wifi-adh':'wifi', +dprefix = { 'adherents': 'adherents', 'fil' : 'fil', 'adherents-v6' : 'fil', 'adm' : 'adm', 'wifi' : 'wifi', + 'wifi-adh-v6' : 'wifi','personnel-ens':'personnel-ens', 'serveurs':'serveurs', 'wifi-adh':'wifi', 'bornes' : 'wifi', 'adm-v6':'adm', 'serveurs-v6':'serveurs'} default_chains = [ 'PREROUTING', 'INPUT', 'FORWARD', 'OUTPUT', 'POSTROUTING' ] @@ -129,9 +129,9 @@ class Ip6tables(object): def extcrans(self, type_machine, ports, mac, dev): '''Ouverture des ports de l'extérieur vers la zone crans''' - tab = { 'fil' : 'extfil', 'fil-v6' : 'extfilv6', + tab = { 'fil' : 'extfil', 'adherents-v6' : 'extfilv6', 'wifi' : 'extwifi', - 'wifi-v6' : 'extwifiv6', + 'wifi-adh-v6' : 'extwifiv6', 'serveurs':'extfil' } ip = ipv6_addr(mac, type_machine) for proto in ['tcp', 'udp']: @@ -145,9 +145,9 @@ ACCEPT' % (dev, proto, ip, port)) def cransext(self, type_machine, ports, mac, dev): '''Ouverture des ports de la zone crans vers l'extérieur''' - tab = { 'fil' : 'cransfil', 'fil-v6' : + tab = { 'fil' : 'cransfil', 'adherents-v6' : 'cransfilv6', 'wifi' : 'cranswifi', - 'wifi-v6' : 'cranswifiv6', + 'wifi-adh-v6' : 'cranswifiv6', 'serveurs':'cransfil' } ip = ipv6_addr(mac, type_machine) for proto in ['tcp', 'udp']: @@ -280,11 +280,11 @@ REJECT --reject-with icmp6-port-unreachable') l'interface devrait être la même que pour la fonction finale''' check_ip_proto(ip_proto) ipt_p = open_pickle(ip_proto) - for type_m in ['fil', 'fil-v6', 'adm', 'serveurs']: + for type_m in ['fil', 'adherents-v6', 'adm', 'serveurs']: type_mm = re.sub('-', '', type_m) getattr(ipt_p.filter,'mac%s' % type_mm).items[:] = [] machines = db.all_machines(graphic = True) - macips(ipt_p, machines, ['fil', 'fil-v6', 'adm', 'serveurs']) + macips(ipt_p, machines, ['fil', 'adherents-v6', 'adm', 'serveurs']) write_rules(ipt_p) apply_rules(ip_proto) @@ -483,9 +483,9 @@ def mac_addr(ipv6): def iface(net): '''Retourne l'interface réseau associée à un certain type de réseau Pour l'instant on se base sur l'ipv4 pour identifier l'interface''' - if net == 'fil-v6': + if net == 'adherents-v6': net = 'fil' - if net == 'wifi-v6': + if net == 'wifi-adh-v6': net = 'wifi' cmd = "ip a show| egrep 'inet[^6]'" code, msg = getstatusoutput(cmd)