KVMの仮想マシンで共有物理装置を使う
お久しぶりです。yokkunsです。
現在、Fedora10のKVM上で仮想マシンを仮想ネットワークで動かしていたんですが、今回ブリッジ接続に挑戦してみました。
ブリッジの作成に関しては、以下の記事を参考にしました。
http://www.coevolver.net/entries/220
KVMの導入と基本的な使い方 (3/3):知って見るみるKVM(2) - @IT
動作環境は、以下です。
Fedora | 10 2.6.27.21-170.2.56.fc10.x86_64 |
kvm | 74-10.fc10.x86_64 |
etherboot-roms-kvm | 5.4.4-4.fc10.x86_64 |
libvirt-python | 0.5.1-2.fc10.x86_64 |
libvirt | 0.5.1-2.fc10.x86_64 |
qemu-img | 0.9.1-12.fc10.x86_64 |
qemu | 0.9.1-12.fc10.x86_64 |
仮想マシンマネージャ | 0.6.0 |
完成予定は、下図です。
まず、ブリッジを作成します。
$ sudo -e /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.3.200 NETMASK=255.255.255.0 NETWORK=192.168.3.0 BROADCAST=192.168.3.255 ONBOOT=yes
次に、ネットワークカードを、ブリッジに追加します。
$ sudo -e /etc/sysconfig/network-scripts/ifcfg-eth0
BRIDGE=br0
そして、ネットワークを再起動
$ sudo /sbin/service network restart
インターフェース br0 を終了中: [ OK ]
インターフェース eth0 を終了中: bridge br0 does not exist!
[ OK ]
ループバックインターフェースを終了中 [ OK ]
IPv4 パケット転送を無効化中: net.ipv4.ip_forward = 0
[ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中: [ OK ]
インターフェース br0 を活性化中:
br0 のIP情報を検出中...
完了。
[ OK ]
以上で、ブリッジインタフェースが完成しました。
次に、このインタフェースに、他のPCからもアクセス出来るように、ファイアウォールの設定を行います。
GNOMEメニューの、[システム]→[管理]→[ファイアーウォール]を開き、信頼出来るインタフェースを選択すると、先ほど追加した「br0」があります。
そのbr0にチェックし、適用を押します。
最後に、ホストサーバで自分以外の宛先のパケットも受け取るために、eth0をpromiscモードに設定します。
$ sudo ifconfig eth0 promisc
ifconfigで、eth0が「PROMISC」になっているのを確認します。
$ ifconfig br0 Link encap:Ethernet HWaddr 00:22:19:1C:3E:43 inet addr:192.168.3.200 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::222:19ff:fe1c:3e43/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:34128 errors:0 dropped:0 overruns:0 frame:0 TX packets:3482 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1563820 (1.4 MiB) TX bytes:2377767 (2.2 MiB) eth0 Link encap:Ethernet HWaddr 00:22:19:1C:3E:43 inet addr:192.168.3.2 Bcast:192.168.3.255 Mask:255.255.255.0 inet6 addr: fe80::222:19ff:fe1c:3e43/64 Scope:Link UP BROADCAST RUNNING PROMISC MULTICAST MTU:1500 Metric:1 RX packets:34965 errors:0 dropped:0 overruns:0 frame:0 TX packets:26659 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2329529 (2.2 MiB) TX bytes:4130731 (3.9 MiB) Interrupt:18 . . .
仮想マシンマネージャを起動して、各仮想マシンのハードウェアの追加から進めると、先ほど作成した、br0を選択することが出来ます。
以上で、KVMでブリッジ接続が出来るようになりました。
ちなみに僕は、信頼できるインタフェースにチェックを入れるというのをやってなくて、3日くらい悩みました。。。