9.8. 固有の MAC アドレスを新たに生成する

ゲスト仮想マシンに固有の MAC アドレスを新たに生成しなければならない場合があります。本ガイドの作成時点では、新しい MAC アドレスを生成するための使用できるコマンドラインツールはありません。このため、ここでは以下に示すスクリプトを使用してゲスト仮想マシンの新しい MAC アドレスを生成することができます。このスクリプトには macgen.py という名前を付けてゲスト仮想マシンに保存します。そのディレクトリーから ./macgen.py コマンドを使ってスクリプトを実行します。これで新しい MAC アドレスが生成されます。出力例を以下に示します。
$ ./macgen.py 
00:16:3e:20:b0:11
#!/usr/bin/python
# macgen.py script to generate a MAC address for guest virtual machines
#
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()

9.8.1. ゲスト仮想マシンの新しい MAC を作成する別の方法

python-virtinst の組み込みモジュールを使って、ゲスト仮想マシンの設定ファイルで使用する新しい MAC アドレスと UUID を生成することもできます。
# echo  'import virtinst.util ; print\
 virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo  'import virtinst.util ; print virtinst.util.randomMAC()' | python
上記のスクリプトは以下のようにスクリプトファイルとして実装することもできます。
#!/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 ""