Product SiteDocumentation Site

17.8. Generieren einer neuen, eindeutigen MAC-Adresse

In manchen Fällen müssen Sie eine neue, eindeutige MAC address für Ihren Gast generieren. Es gibt derzeit kein Befehlszeilen-Tool, um neue MAC-Adressen zum Zeitpunkt des Schreibens zu generieren. Das unten bereitgestellte Skript kann neue MAC-Adressen für Ihre Gäste generieren. Speichern Sie das Skript auf Ihren Gast als macgen.py. Nun können Sie von diesem Verzeichnis aus das Skript mittels ./macgen.py starten und es wird eine neue MAC-Adresse generieren. Die Ausgabe sollte etwa wie dieses Beispiel aussehen:
$ ./macgen.py 
00:16:3e:20:b0:11
	
#!/usr/bin/python
# macgen.py script to generate a MAC address for virtualized guests on Xen
#
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()

Eine andere Methode zum Generieren einer neuen MAC-Adresse für Ihren Gast
Sie können auch die integrierten Module von python-virtinst verwenden, um eine neue MAC-Adresse und UUID zur Verwendung in einer Gastkonfigurationsdatei zu generieren:
# echo  'import virtinst.util ; print\
 virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo  'import virtinst.util ; print virtinst.util.randomMAC()' | python

Das obige Skript kann ebenfalls als eine Skriptdatei implementiert werden, wie unten gezeigt.
#!/usr/bin/env python
#  -*- mode: python; -*-
print ""
print "New UUID:"
import virtinst.util ; print virtinst.util.uuidToString(virtinst.util.randomUUID())
print "New MAC:"
import virtinst.util ; print virtinst.util.randomMAC()
print ""