75 lines
2 KiB
Python
75 lines
2 KiB
Python
# -*- mode: python; coding: utf-8 -*-
|
|
#
|
|
# Recuperation des addresses ip des serveurs
|
|
|
|
# Parfois, on prend un gaierror parce que hostname ne retourne rien, je sais
|
|
# pas d'où ça vient, mais c'est caca.
|
|
import socket
|
|
|
|
def pubipof(hostname):
|
|
try:
|
|
return socket.gethostbyname(hostname + ".crans.org")
|
|
except:
|
|
# Peut-être un serveur de la ferme ?
|
|
return socket.gethostbyname(hostname + ".ferme.crans.org")
|
|
|
|
def admipof(hostname):
|
|
return socket.gethostbyname(hostname + ".adm.crans.org")
|
|
|
|
def wifiipof(hostname):
|
|
return socket.gethostbyname(hostname + ".wifi.crans.org")
|
|
|
|
def pubip():
|
|
return pubipof(hostname)
|
|
|
|
def admip():
|
|
return admipof(hostname)
|
|
|
|
def wifiip():
|
|
return wifiipof(hostname)
|
|
|
|
ip_vlan = {
|
|
'sable' : {
|
|
'vlan-radin' : '10.42.0.1',
|
|
'vlan-accueil' : '10.51.0.1',
|
|
'vlan-ens' : '10.2.9.2',
|
|
'vlan-isolement':'10.52.0.1'
|
|
},
|
|
'dhcp' : {
|
|
'vlan-radin' : '10.42.0.34',
|
|
'vlan-accueil' : '10.51.0.34',
|
|
'vlan-ens' : '10.2.9.34',
|
|
'vlan-isolement':'10.52.0.34'
|
|
},
|
|
'routeur' : {
|
|
'vlan-accueil' : '10.51.0.10',
|
|
'vlan-ens' : '10.2.9.10',
|
|
'vlan-isolement':'10.52.0.10'
|
|
},
|
|
'titanic' : {'vlan-ens' : '10.2.9.1' },
|
|
'komaz' : {'vlan-ens' : '10.2.9.4' },
|
|
}
|
|
|
|
def radinip():
|
|
if has("vlan-radin"):
|
|
return ip_vlan[hostname]["vlan-radin"]
|
|
else:
|
|
raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN radin"
|
|
|
|
def accueilip():
|
|
if has("vlan-accueil"):
|
|
return ip_vlan[hostname]["vlan-accueil"]
|
|
else:
|
|
raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN d'accueil"
|
|
|
|
def appt_ens_ip():
|
|
if has("vlan-ens"):
|
|
return ip_vlan[hostname]["vlan-ens"]
|
|
else:
|
|
raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN des appartements de l'ENS"
|
|
|
|
def isolementip():
|
|
if has("vlan-isolement"):
|
|
return ip_vlan[hostname]["vlan-isolement"]
|
|
else:
|
|
raise NotImplementedError, "Ce serveur n'a rien a faire sur le VLAN isolement"
|