kvmのNICのMACアドレスの変更について

KVMのNICのMACアドレスの変更について

kvm(qemu)はデフォルトの設定で、同一LAN内で複数起動するとネットワークが不調になります。これはデフォルトだとすべてMACアドレスが52:54:00:12:34:56となっているせいで、同一LAN内に同一MACアドレスが複数存在することになるわけです。


解決方法

MACアドレスを変更してあげます。
kvmはqemuをベース(?)としているので、起動時に与えるオプションはqemuとほとんどおなじです。MACアドレスを変更するには以下のようなオプションを起動時に与えます。
-net nic,macaddr=52:54:00:12:34:ff,model=ne2k_pci
重要なのは
macaddr=...
の部分です。

解決?

起動してみます。NICはどのように認識されているか確認します。
%sudo ifconfig
lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
あれ?普段は認識されているmacアドレス52:54:00:12:34:56のeth0が消えました。
おかしいな、ということで
%sudo ifconfig -a
eth1      Link encap:Ethernet  HWaddr 52:54:00:12:34:FF
          BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:11 Base address:0xc100

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
ありました。MACアドレスを変更したことで、OSからはeth1として認識されています。インストール時に認識されるNICはeth0だったので、そのときに書かれる/etc/network/interfacesにはeth1に対しての記述がありません。
なので書き加えます。例えばdhcpでアドレスを取ってきたい場合は以下の2行を/etc/network/interfacesに追加します。
auto eth1
iface eth1 inet dhcp
適宜コメントなどを加えるといいと思います。
書き加えたらnetworkを再起動します
%sudo /etc/init.d/network restart
どうでしょうか…
eth1      Link encap:Ethernet  HWaddr 52:54:00:12:34:FF
          inet addr:192.168.83.204  Bcast:192.168.83.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:47 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3628 (3.5 KiB)  TX bytes:342 (342.0 b)
          Interrupt:11 Base address:0xc100

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
できました。これでMACアドレスの衝突はなくなりました。
最終更新:2008年08月29日 17:41
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。