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