Le routeur n'est plus komaz mais odlyd

This commit is contained in:
Pierre-Elliott Bécue 2014-10-26 17:05:46 +01:00
parent b99600575d
commit 34876f3b55
3 changed files with 21 additions and 23 deletions

View file

@ -16,9 +16,7 @@ else:
if has("vlan-wifi"): if has("vlan-wifi"):
print wifiip(), wifihostname, hostname+".wifi" print wifiip(), wifihostname, hostname+".wifi"
@10.231.136.7 zbee.adm.crans.org zbee.adm zbee nfs.adm.crans.org nfs.adm nfs @10.231.136.7 zbee.adm.crans.org zbee.adm zbee nfs.adm.crans.org nfs.adm nfs
if(has("komaz")): if(has("odlyd")):
print "138.231.135.5 irts-ext.ens-cachan.fr irts"
print "138.231.135.6 komaz-ext"
print "138.231.136.9 sable.crans.org sable" print "138.231.136.9 sable.crans.org sable"
print "138.231.136.98 charybde.crans.org charybde" print "138.231.136.98 charybde.crans.org charybde"

View file

@ -213,14 +213,14 @@ service("openvpn-ovh",
pidf="openvpn.ovh", pidf="openvpn.ovh",
init="openvpn") init="openvpn")
service("openvpn-komaz", service("openvpn-odlyd",
pidf="openvpn.komaz", pidf="openvpn.odlyd",
init="openvpn") init="openvpn")
service("openvpn-freebox", service("openvpn-freebox",
pidf="openvpn.freebox", pidf="openvpn.freebox",
init="openvpn", init="openvpn",
extra=["depends on openvpn-komaz"]) extra=["depends on openvpn-odlyd"])
pg_version = '9.1' pg_version = '9.1'
service("pgsql-server", service("pgsql-server",

View file

@ -28,9 +28,9 @@ def ips_of_metadata(clients, vlan='adm'):
"""Renvoie la liste des IPs des machines de la liste ``clients`` """Renvoie la liste des IPs des machines de la liste ``clients``
#TODO: sur le vlan ``vlan`` #TODO: sur le vlan ``vlan``
sur le vlan adm sur le vlan adm
Renvoie les Ipv4 et Ipv6. Renvoie les Ipv4 et Ipv6.
``clients`` est une liste de ClientMetadata, qui peut être obtenue via ``clients`` est une liste de ClientMetadata, qui peut être obtenue via
metadata.query.by_groups (ou similaire) metadata.query.by_groups (ou similaire)
""" """
@ -77,7 +77,7 @@ ip_vlan = {
'vlan-isolement':'10.52.0.10' 'vlan-isolement':'10.52.0.10'
}, },
'titanic' : {'vlan-ens' : '10.2.9.1' }, 'titanic' : {'vlan-ens' : '10.2.9.1' },
'komaz' : {'vlan-ens' : '10.2.9.4' }, 'odlyd' : {'vlan-ens' : '10.2.9.4' },
} }
def radinip(): def radinip():
@ -103,32 +103,32 @@ def isolementip():
return ip_vlan[hostname]["vlan-isolement"] return ip_vlan[hostname]["vlan-isolement"]
else: else:
raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN isolement" raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN isolement"
def cidr_to_regex(cidr): def cidr_to_regex(cidr):
"""Get a ipv4 cidr string and return a regexp for it. """Get a ipv4 cidr string and return a regexp for it.
https://chris-lamb.co.uk/posts/matching-ips-regexes-concidrd-harmful https://chris-lamb.co.uk/posts/matching-ips-regexes-concidrd-harmful
""" """
ip, prefix = cidr.split('/') ip, prefix = cidr.split('/')
base = 0 base = 0
for val in map(int, ip.split('.')): for val in map(int, ip.split('.')):
base = (base << 8) | val base = (base << 8) | val
shift = 32 - int(prefix) shift = 32 - int(prefix)
start = base >> shift << shift start = base >> shift << shift
end = start | (1 << shift) - 1 end = start | (1 << shift) - 1
def regex(lower, upper): def regex(lower, upper):
if lower == upper: if lower == upper:
return str(lower) return str(lower)
from math import log10 from math import log10
exp = int(log10(upper - lower)) exp = int(log10(upper - lower))
delta = 10 ** exp delta = 10 ** exp
if lower == 0 and upper == 255: if lower == 0 and upper == 255:
return "\d+" return "\d+"
if delta == 1: if delta == 1:
val = "" val = ""
for a, b in zip(str(lower), str(upper)): for a, b in zip(str(lower), str(upper)):
@ -141,22 +141,22 @@ def cidr_to_regex(cidr):
else: else:
val += '[%s-%s]' % (a, b) val += '[%s-%s]' % (a, b)
return val return val
def gen_classes(): def gen_classes():
floor_ = lambda x: int(round(x / delta, 0) * delta) floor_ = lambda x: int(round(x / delta, 0) * delta)
xs = range(floor_(upper) - delta, floor_(lower), -delta) xs = range(floor_(upper) - delta, floor_(lower), -delta)
for x in map(str, xs): for x in map(str, xs):
yield '%s%s' % (x[:-exp], r'\d' * exp) yield '%s%s' % (x[:-exp], r'\d' * exp)
yield regex(lower, floor_(lower) + (delta - 1)) yield regex(lower, floor_(lower) + (delta - 1))
yield regex(floor_(upper), upper) yield regex(floor_(upper), upper)
return '|'.join(gen_classes()) return '|'.join(gen_classes())
def get_parts(): def get_parts():
for x in range(24, -1, -8): for x in range(24, -1, -8):
yield regex(start >> x & 255, end >> x & 255) yield regex(start >> x & 255, end >> x & 255)
return '^%s$' % r'\.'.join(get_parts()) return '^%s$' % r'\.'.join(get_parts())