From b7a333074d235bd458e2179e5fd51f7d516ba299 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pierre-Elliott=20B=C3=A9cue?= Date: Wed, 8 Aug 2012 17:06:16 +0200 Subject: [PATCH] [DHCP tools + random] Pour que tout marche mieux. Ignore-this: 590aacb4887da39fd62052c13508c65b darcs-hash:20120808150616-b6762-4d571c82be02d5cdaa6f275d2518eddd0061a42f.gz --- gestion/iscsi/udev-get-iscsi-name.py | 4 ++-- gestion/iscsi/udev-update-symlinks.sh | 15 +++++++++++++-- gestion/iscsi/update.sh | 2 +- gestion/tools/locate_mac.py | 1 - surveillance/dhcp-detect.py | 5 ++++- 5 files changed, 20 insertions(+), 7 deletions(-) diff --git a/gestion/iscsi/udev-get-iscsi-name.py b/gestion/iscsi/udev-get-iscsi-name.py index bf2ce151..3cb351d6 100644 --- a/gestion/iscsi/udev-get-iscsi-name.py +++ b/gestion/iscsi/udev-get-iscsi-name.py @@ -30,8 +30,8 @@ map_file = ISCSI_MAP_FILE_TEMPLATE % baie # Rechreche le nom complet du périphérique dans /sys dev = os.readlink("/sys/block/%s/device" % sys.argv[1]) -# L'identifiant est de la forme ".../0:0:0:19", le dernier nombre -# étant le lun +# L'identifiant est de la forme "../../../0:0:0:42", où 42 (j'ai perdu) +# est le lun. try: lun = int(dev.rsplit(":", 1)[1]) except: diff --git a/gestion/iscsi/udev-update-symlinks.sh b/gestion/iscsi/udev-update-symlinks.sh index 544ed971..31f17c3e 100644 --- a/gestion/iscsi/udev-update-symlinks.sh +++ b/gestion/iscsi/udev-update-symlinks.sh @@ -2,6 +2,7 @@ # udev-update-symlinks.sh # ----------------------- +# Modifié par : Pierre-Elliott Bécue (8 août 2012) # Copyright : (c) 2012, Olivier Iffrig # Copyright : (c) 2008, Jeremie Dimino # Licence : BSD3 @@ -15,10 +16,19 @@ else BAIE="$1" fi -cd /dev +# On repère les disques montés depuis la baie dans le dossier +# /dev/disk/by-path/ip-* +cd /dev/disk/by-path/ -for dev in sd*; do +for dev in ip-*; do + + # /dev/disk/by-path/ip-blabla est un lien vers /dev/sdkr + # on utilise readlink pour avoir ce lien. + dev=$(readlink $dev | awk -F "/" '{print $3}') symlink=iscsi_$(python /usr/scripts/gestion/iscsi/udev-get-iscsi-name.py $dev $BAIE) + + # On linke dans /dev + cd /dev if [ ! -e $symlink ]; then echo "création du lien /dev/$symlink -> /dev/$dev" ln -s $dev $symlink @@ -27,4 +37,5 @@ for dev in sd*; do rm -f $symlink ln -s $dev $symlink fi + cd /dev/disk/by-path/ done diff --git a/gestion/iscsi/update.sh b/gestion/iscsi/update.sh index 8d81df4d..f82b06a0 100644 --- a/gestion/iscsi/update.sh +++ b/gestion/iscsi/update.sh @@ -2,7 +2,7 @@ # update.sh # --------- -# Qui taper si ça chie : Pierre-Elliott Bécue +# Modifié : Pierre-Elliott Bécue (8 août 2012) # Copyright : (c) 2008, Jeremie Dimino # Licence : BSD3 diff --git a/gestion/tools/locate_mac.py b/gestion/tools/locate_mac.py index b6582ba9..00729aa4 100755 --- a/gestion/tools/locate_mac.py +++ b/gestion/tools/locate_mac.py @@ -83,4 +83,3 @@ if __name__ == '__main__': mac = format_mac(sys.argv[1]) affiche_uplinks = len(sys.argv) > 2 and bool(sys.argv[2]) print trace_machine(mac, affiche_uplinks) - print system('/usr/scripts/gestion/whos.py -a mac=%s' % mac) diff --git a/surveillance/dhcp-detect.py b/surveillance/dhcp-detect.py index e85762e9..073bb6fa 100644 --- a/surveillance/dhcp-detect.py +++ b/surveillance/dhcp-detect.py @@ -22,6 +22,9 @@ from locate_mac import trace_machine, info_machine PIDFILE = "/var/run/dhcp-detect.pid" +# dhcp-server attendu +DHCPSERVER = '138.231.136.9' + # Interface à surveiller INTERFACE = "crans" @@ -113,7 +116,7 @@ def recoit(paquet): # On affiche print "Réception de : ", paquet.summary() # On verifie que c'est bien ce qu'on attend - if paquet.getlayer(Ether).dst.upper() == globals()['mac'] and paquet.haslayer(BOOTP) and paquet.getlayer(BOOTP).op == 2 and paquet.getlayer(IP).src != '138.231.136.39': + if paquet.getlayer(Ether).dst.upper() == globals()['mac'] and paquet.haslayer(BOOTP) and paquet.getlayer(BOOTP).op == 2 and paquet.getlayer(IP).src != DHCPSERVER: # DHCP pirate ? msg = "DHCP pirate ? (%s)" % paquet.getlayer(Ether).src print msg