[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:
parent
bc55f67f15
commit
1cc8fe4270
3 changed files with 22 additions and 20 deletions
|
@ -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' ],
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue