[config/v6] J'ai modifié les realms des machines v6 only.

* Tout ça pour pas me faire chier à faire une correspondance realm v4 <->
 v6 only. :p
This commit is contained in:
Pierre-Elliott Bécue 2013-07-04 02:08:33 +02:00
parent bc55f67f15
commit 1cc8fe4270
3 changed files with 22 additions and 20 deletions

View file

@ -193,11 +193,13 @@ rid_primaires = {
# Rid pour les serveurs v6-only # Rid pour les serveurs v6-only
'serveurs-v6' : [(8192, 10240),], 'serveurs-v6' : [(8192, 10240),],
# Rid pour les filaires v6-only # Rid pour les filaires v6-only
'fil-v6' : [(16384, 24575),], 'adherents-v6' : [(16384, 24575),],
# Rid pour les wifi v6-only # 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 # Rid pour les machines du vlan adm
'adm-v6' : [(50176, 51199),], 'adm-v6' : [(49152, 51199),],
# Rid pour les machines du vlan adm # Rid pour les machines du vlan adm
'adm' : [(51200, 53247),], 'adm' : [(51200, 53247),],
# Mid pour les machines du vlan gratuit # Mid pour les machines du vlan gratuit
@ -240,8 +242,8 @@ prefix = { 'subnet' : [ '2a01:240:fe3d::/48' ],
'adm-v6' : [ '2a01:240:fe3d:c804::/64' ], 'adm-v6' : [ '2a01:240:fe3d:c804::/64' ],
'wifi' : [ '2a01:240:fe3d:c04::/64' ], 'wifi' : [ '2a01:240:fe3d:c04::/64' ],
'serveurs-v6' : [ '2a01:240:fe3d:c04::/64' ], 'serveurs-v6' : [ '2a01:240:fe3d:c04::/64' ],
'fil-v6' : [ '2a01:240:fe3d:4::/64' ], 'adherents-v6' : [ '2a01:240:fe3d:4::/64' ],
'wifi-v6' : [ '2a01:240:fe3d:c04::/64' ], 'wifi-adh-v6' : [ '2a01:240:fe3d:c04::/64' ],
'personnel-ens' : [ '2a01:240:fe3d:4::/64' ], 'personnel-ens' : [ '2a01:240:fe3d:4::/64' ],
'sixxs2' : [ '2a01:240:fe00:68::/64' ], 'sixxs2' : [ '2a01:240:fe00:68::/64' ],
'evenementiel' : [ '2a01:240:fe3d:d2::/64' ], 'evenementiel' : [ '2a01:240:fe3d:d2::/64' ],

View file

@ -61,7 +61,7 @@ def tracker_torrent(ip6tables):
def ports(dev_ip6, dev_list): def ports(dev_ip6, dev_list):
''' Ouvre les ports ''' ''' Ouvre les ports '''
for machine in machines : 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]: for plage in rid[type_machine]:
if int(machine.rid()) in range(plage[0], plage[1]): if int(machine.rid()) in range(plage[0], plage[1]):
for dev in dev_list: for dev in dev_list:
@ -82,7 +82,7 @@ def ports(dev_ip6, dev_list):
for proto in open_ports.keys(): 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])) 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, ip6tables.filter.forward('-i %s -d %s -j %s' % (dev_ip6,
prefix[dprefix[type_machine]][0], 'EXT' + re.sub('-', '', prefix[dprefix[type_machine]][0], 'EXT' + re.sub('-', '',
type_machine.upper()))) type_machine.upper())))
@ -94,7 +94,7 @@ def ports(dev_ip6, dev_list):
# FIXME: proxy transparent -> port 80 # 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) 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), ip6tables.filter.forward('-i %s -s %s -j %s' % (iface6(type_machine),
prefix[dprefix[type_machine]][0], 'CRANS' + re.sub('-', '', prefix[dprefix[type_machine]][0], 'CRANS' + re.sub('-', '',
type_machine.upper()))) type_machine.upper())))
@ -123,7 +123,7 @@ def basic_fw():
ip6tables.filter.ieui64('! -s %s -j RETURN' % net) ip6tables.filter.ieui64('! -s %s -j RETURN' % net)
# Correspondance MAC-IP # 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(): def main_router():
@ -181,7 +181,7 @@ def main_router():
ip6tables.filter.forward('-j INGRESS_FILTERING') ip6tables.filter.forward('-j INGRESS_FILTERING')
# Pour les autres connections # 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' + ip6tables.filter.mac('-s %s -j %s' % (prefix[type_m][0], 'MAC' +
type_m.upper())) type_m.upper()))
ip6tables.filter.forward('-i %s -j MAC' % dev_crans) ip6tables.filter.forward('-i %s -j MAC' % dev_crans)

View file

@ -56,8 +56,8 @@ Filter_policy_template = """
:OUTPUT %(policy_output)s [0:0] :OUTPUT %(policy_output)s [0:0]
""" """
dprefix = { 'adherents': 'adherents', 'fil' : 'fil', 'fil-v6' : 'fil', 'adm' : 'adm', 'wifi' : 'wifi', dprefix = { 'adherents': 'adherents', 'fil' : 'fil', 'adherents-v6' : 'fil', 'adm' : 'adm', 'wifi' : 'wifi',
'wifi-v6' : 'wifi','personnel-ens':'personnel-ens', 'serveurs':'serveurs', 'wifi-adh':'wifi', 'wifi-adh-v6' : 'wifi','personnel-ens':'personnel-ens', 'serveurs':'serveurs', 'wifi-adh':'wifi',
'bornes' : 'wifi', 'adm-v6':'adm', 'serveurs-v6':'serveurs'} 'bornes' : 'wifi', 'adm-v6':'adm', 'serveurs-v6':'serveurs'}
default_chains = [ 'PREROUTING', 'INPUT', 'FORWARD', 'OUTPUT', 'POSTROUTING' ] default_chains = [ 'PREROUTING', 'INPUT', 'FORWARD', 'OUTPUT', 'POSTROUTING' ]
@ -129,9 +129,9 @@ class Ip6tables(object):
def extcrans(self, type_machine, ports, mac, dev): def extcrans(self, type_machine, ports, mac, dev):
'''Ouverture des ports de l'extérieur vers la zone crans''' '''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' : 'extwifi',
'wifi-v6' : 'extwifiv6', 'wifi-adh-v6' : 'extwifiv6',
'serveurs':'extfil' } 'serveurs':'extfil' }
ip = ipv6_addr(mac, type_machine) ip = ipv6_addr(mac, type_machine)
for proto in ['tcp', 'udp']: for proto in ['tcp', 'udp']:
@ -145,9 +145,9 @@ ACCEPT' % (dev, proto, ip, port))
def cransext(self, type_machine, ports, mac, dev): def cransext(self, type_machine, ports, mac, dev):
'''Ouverture des ports de la zone crans vers l'extérieur''' '''Ouverture des ports de la zone crans vers l'extérieur'''
tab = { 'fil' : 'cransfil', 'fil-v6' : tab = { 'fil' : 'cransfil', 'adherents-v6' :
'cransfilv6', 'wifi' : 'cranswifi', 'cransfilv6', 'wifi' : 'cranswifi',
'wifi-v6' : 'cranswifiv6', 'wifi-adh-v6' : 'cranswifiv6',
'serveurs':'cransfil' } 'serveurs':'cransfil' }
ip = ipv6_addr(mac, type_machine) ip = ipv6_addr(mac, type_machine)
for proto in ['tcp', 'udp']: 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''' l'interface devrait être la même que pour la fonction finale'''
check_ip_proto(ip_proto) check_ip_proto(ip_proto)
ipt_p = open_pickle(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) type_mm = re.sub('-', '', type_m)
getattr(ipt_p.filter,'mac%s' % type_mm).items[:] = [] getattr(ipt_p.filter,'mac%s' % type_mm).items[:] = []
machines = db.all_machines(graphic = True) 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) write_rules(ipt_p)
apply_rules(ip_proto) apply_rules(ip_proto)
@ -483,9 +483,9 @@ def mac_addr(ipv6):
def iface(net): def iface(net):
'''Retourne l'interface réseau associée à un certain type de réseau '''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''' Pour l'instant on se base sur l'ipv4 pour identifier l'interface'''
if net == 'fil-v6': if net == 'adherents-v6':
net = 'fil' net = 'fil'
if net == 'wifi-v6': if net == 'wifi-adh-v6':
net = 'wifi' net = 'wifi'
cmd = "ip a show| egrep 'inet[^6]'" cmd = "ip a show| egrep 'inet[^6]'"
code, msg = getstatusoutput(cmd) code, msg = getstatusoutput(cmd)