Creëer een uniek MAC-adres
Gepubliceerd: Dinsdag 7 december 2010
Auteur: Koen Vervloesem
Als je het aanmaken en manipuleren van virtuele machines moet automatiseren in scripts, is een steeds terugkerende taak het creëren van een uniek MAC-adres. Dat kan met een eenvoudig scriptje.
Er zijn verschillende manieren om een willekeurig MAC-adres te genereren voor een virtuele machine. Het volgende Python-script uit de documentatie van Red Hat Enterprise Linux 6 maakt een willekeurig MAC-adres aan dat begint met het prefix 00:16:3e van Xen:
#!/usr/bin/python
import random
def randomMAC():
mac = [ 0x00, 0x16, 0x3e,
random.randint(0x00, 0x7f),
random.randint(0x00, 0xff),
random.randint(0x00, 0xff) ]
return ':'.join(map(lambda x: "%02x" % x, mac))
print randomMAC()Nadien kun je eenvoudig MAC-adressen genereren voor gebruik in je scripts:
$ ./macgen.py
00:16:3e:0a:31:78
Als je het pakket python-virtinst onder Red Hat Enterprise Linux of Fedora geïnstalleerd hebt, kun je hetzelfde ook met één regel Python-code:
$ echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
00:16:36:35:b8:a0Voor het genereren van UUID's heeft python-virtinst overigens ook een handige functie:
$ echo 'import virtinst.util ; print\
virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
4241883f-b4d5-fbf9-c591-2562a0c4c9fcEn als je niet van Python houdt, kun je nog altijd een MAC-adres genereren in Bash met de functie printf en de variabele RANDOM:
$ printf '00:16:3e:%02x:%02x:%02x\n' $((RANDOM%256)) $((RANDOM%256)) $((RANDOM%256))
00:16:3e:0e:d1:fbEen UUID genereren kan bovendien eenvoudig met het programma uuidgen dat onderdeel is van het pakket util-linux-ng.
Bron: Techworld
De rubriek Tips & Tools biedt praktische informatie die IT-professionals in hun dagelijkse werk kunnen toepassen.
