仮想ホストのネットワークインターフェイスに設定するために、MACアドレスを生成するmacgen.py
というPhythonスクリプトがあります。
これをRubyで実装したmacgen.rb
を書いてみました。
macgen.py
: http://www.linux-kvm.com/sites/default/files/macgen.py
#!/usr/bin/python # macgen.py script to generate a MAC address for Red Hat Virtualization guests # 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()
macgen.rb
: https://gist.github.com/krhitoshi/9837105#file-macgen-rb
#!/usr/bin/env ruby # Xen #mac = [0x00, 0x16, 0x3e, Random.rand(0x7f), Random.rand(0xff), Random.rand(0xff)] # QEMU or KVM mac = [0x52, 0x42, 0x00, Random.rand(0x7f), Random.rand(0xff), Random.rand(0xff)] puts (["%02x"] * 6).join(":") % mac
実行してみると次のようになります。
$ chmod 755 ./macgen.rb $ ./macgen.rb 52:42:00:47:61:b0 $ ./macgen.rb 52:42:00:5f:78:2a $ ./macgen.rb 52:42:00:0c:6a:5b
ちなみに、最初の3つのペアが00:16:3e
なのはXen用で、QEMU/KVMでは52:42:00
で始まるMACアドレスをランダムに生成することになります。コメントアウトで切り替えることができます。
余談ですが、以前にvirt-installのマニュアルに間違いがあったことで、QEMU/KVM用のMACアドレスが54:52:00
と勘違いされることもあるようです。
Bug 620838 – mistype in virt-install manpage – 54:52 should be 52:54
関連記事
- None Found