28.8. 新規の特有 MAC アドレスを生成
一部のケースでは、新しい特有の MAC アドレス をゲスト用に 生成する必要があります。この資料作成時点では新規 MAC アドレス生成のためのコマンドライン ツールは有りません。以下に用意されているスクリプトはご使用のゲスト用の新規 MAC アドレスを 生成できます。そのゲスト用のスクリプトを
macgen.py
として保存します。保存ディレクトリから、./macgen.py
を 使用してスクリプトを実行し、新規の MAC アドレスを生成します。サンプルの出力は以下のように なるでしょう:
./macgen.py macgen.py script to generate a MAC address for virtualized guests on Xen
$ ./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()
使用ゲストの為の新規 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
# echo 'import virtinst.util ; print\
virtinst.util.uuidToString(virtinst.util.randomUUID())' | python
# echo 'import virtinst.util ; print virtinst.util.randomMAC()' | python
上記のスクリプトは、下記に示してあるようにスクリプトファイルとしても 実装できます。
-*- mode: 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 ""