参考:CentOS/KVMによるサーバ仮想化 - OSSでLinuxサーバ構築
前提
DNSサーバ兼DHCPサーバがLAN内に存在。IPアドレスは192.168.0.1とします。
ホスト、ゲストとも固定IPを使用。IPアドレスはそれぞれ192.168.0.2、192.168.0.3とします。
ホスト側のネットワーク変更
/etc/sysconfig/network-scripts/ifcfg-br0を作成。
# Bridge
DEVICE=br0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.0.2
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Bridge
DELAY=0
/etc/sysconfig/network-scripts/ifcfg-eth0を編集(HWADDRは編集前の値をそのまま残す)。
DEVICE=eth0
TYPE=Ethernet
HWADDR=00:00:00:00:00:00
ONBOOT=yes
BRIDGE=br0
以下のコマンドを実行してネットワーク再起動。
# /etc/init.d/network restart
ゲストのブリッジ用にホストのiptablesを変更。これを忘れるとゲストで名前解決が出来ないので注意。
/etc/sysctl.confを編集して以下の設定を追加または変更。
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0
以下のコマンドを実行して設定を即座に反映。
# sysctl -p /etc/sysctl.conf
# /etc/init.d/libvirtd reload
以下のコマンドでゲストOSをインストール(一旦DHCPでインストールします)。
# virt-install --connect qemu:///system -n vm1 -r 512 --vcpus=1 \
--disk path=/var/lib/libvirt/images/vm1.img,size=100 \
--os-type linux --accelerate \
--bridge=br0 \
--location='http://ftp.riken.jp/Linux/centos/5.5/os/x86_64' \
--extra-args='console=tty0 console=ttyS0,115200n8'
インストールが終わったら、virsh consoleなどで繋いで、ゲストの/etc/sysconfig/network-scripts/ifcfg-eth0を以下のように書き換え(HWADDRは編集前の値をそのまま残す)。
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:00:00:00:00:00
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.0.3
GATEWAY=192.168.0.1
DNS1=192.168.0.1
TYPE=Ethernet
以下のコマンドでゲストのネットワークを再起動。
# /etc/init.d/network restart