Fedora 12
Sponsored Link

ブリッジの設定
2010/06/10
[1] ゲストOSがブリッジ接続できるよう設定をしておきます。
[root@dlp ~]#
vi /etc/qemu-ifup


#!/bin/sh

ME=$(basename $0)

ifext=${ME#qemu-ifup-}

case $ifext in
qemu-ifup)
ifname=eth0;;
*)
ifname=$ifext;;
esac

echo "Executing /etc/$ME"
echo "Bringing up $1 for bridged mode..."
/sbin/ifconfig $1 0.0.0.0 promisc up
echo "Adding $1 to ..."
/usr/sbin/brctl addif $ifname $1
sleep 2


[root@dlp ~]#
vi /etc/qemu-ifdown


#!/bin/sh

set_ifname () {
[ -e /sys/class/net/$1 ] || return

ifname=$(cat /sys/class/net/$1/brport/bridge/uevent \
|grep ^INTERFACE |cut -d '=' -f 2)
}

ME=$(basename $0)

set_ifname $1

echo "Executing /etc/$ME"
if [ -z "$ifname" ]; then
echo "Can not detect target bridge name"
exit 1
fi
echo "Removing $1 from ${ifname}..."
/usr/sbin/brctl delif $ifname $1
echo "Shutting down $1 ..."
/sbin/ifconfig $1 down
sleep 2


[root@dlp ~]#
chmod 755 /etc/qemu-*

[root@dlp ~]#
ln -s /etc/qemu-ifup /var/kvm/qemu-ifup-br0

[root@dlp ~]#
ln -s /etc/qemu-ifdown /var/kvm/qemu-ifdown-br0
[2] X起動後、ターミナルを立ち上げ、以下のようにコマンドを入力し、 ブリッジ接続でゲストOSを立ち上げます。コマンドが長いのでスクリプト化しておいた方がよいでしょう。

複数のゲストOSを同時に起動するときは、以下のコマンド中の「ifname=tap0」の箇所を「ifname=tap1」と数字を増やしてやればOKです。 また同時に「-net nic,macaddr=MACアドレス」の箇所も変更してやる必要があります。
MACアドレスを指定するときは以下のコマンドでランダムなMACアドレスを生成できるので、それを使うとよいでしょう。

# echo $(echo -n DE:AD:BE:EF ; for i in `seq 1 2` ;do echo -n `echo ":$RANDOM" | cut -n -c -3` ;done)
[root@dlp ~]# cd /var/kvm
[root@dlp kvm]# qemu-kvm \
-smp 2 -m 512 -hda www.img \
-net nic,macaddr=52:54:00:12:34:56 \
-net tap,ifname=tap0,script=qemu-ifup-br0,downscript=qemu-ifdown-br0 \
-daemonize

# -smp 仮想CPU数の指定
# -m メモリ容量の指定
# -net nic,macaddr=(MACアドレス指定)
# -hda ディスクイメージの指定
# -daemonize デーモン化
# -nographic インストール後はSSHでつなぐためグラフィックは
必要ないといった場合はこのオプションを付加

[3] ここでの例では以下のように、ホストOSに 10.0.0.30 を、ゲストOSには 10.0.0.31 を 固定で割り当ててあります。ネットワークの設定については 初期設定の項を参照ください。
 
[4] ゲストOSからゲートウェイにPingを打ってみると、以下のように正常に応答が返ってきており、 ブリッジ接続できていることが分かります。
 
関連コンテンツ
 
Tweet