Fedora 20におけるQEMU環境でのネットワーク接続タイプには大きく分けて次の3種類あります。
・ユーザーモード(userモード) ※ゲスト側IPアドレスは10.0.2.x(userモード使用のWindows 3.1)
・TAPモード
・Bridgeモード
QEMU仮想マシンをホスト側の物理ネットワークと同じネットワークアドレス体系にするネットワーク接続をここでは「QEMUブリッジ接続」と呼ぶことにします。
このQEMUブリッジ接続はBridgeモードとTAPモードの両方で実現できます。
ここではFedora 20のQEMU-KVM環境でQEMU仮想マシンをホスト(Fedora 20実機)側の物理ネットワークと同じネットワークアドレス体系にする「QEMUブリッジ接続」手順を紹介します。
1.マシン環境
# yum install kvm qemu-kvm virt-install virt-manager libvirt qemu # reboot |
# cp /etc/sysconfig/network-scripts/ifcfg-p4p1 /root/ifcfg-p4p1.back |
TYPE="Bridge" DEVICE="br0" NAME="br0" BOOTPROTO="none" ONBOOT="yes" IPADDR=ホストOSのIPアドレス PREFIX=24 ※サブネットマスクの長さ GATEWAY=ホストOS側のデフォルトゲーウェイアドレス DNS=ホストOS側のDNSサーバアドレス |
TYPE="Ethernet" UUID="30c7bb7c-...." ※/etc/sysconfig/network-scripts/ifcfg-p4p1に自動設定されているUUID値 HWADDR="00:1B....." ※/etc/sysconfig/network-scripts/ifcfg-p4p1に設定されているHWADDR値 NAME="p4p1" ONBOOT="yes" BRIDGE="br0" |
# cp /root/ifcfg-br0 /etc/sysconfig/network-scripts/ifcfg-br0 # cp /root/ifcfg-p4p1.forbr0 /etc/sysconfig/network-scripts/ifcfg-p4p1 ※上書きコピー # reboot |
# systemctl stop NetworkManager.service # systemctl start network.service |
#!/bin/sh /sbin/ifconfig $1 0.0.0.0 promisc up /usr/sbin/brctl addif br0 $1 |
qemu-system-i386 -net nic,model=ne2k_pci -net bridge,br=br0 他のパラメタ ※model値は任意です。 ※bridge指定を行うと/usr/libexec/qemu-bridge-helperが内部実行されます。 |
qemu-system-i386 -net nic,model=ne2k_pci -net tap,ifname=tap0,script=/etc/myqemubr-ifup 他のパラメタ ※model値は任意です。 |
# systemctl disable NetworkManager.service # cp /root/ifcfg-p4p1.back /etc/sysconfig/network-scripts/ifcfg-p4p1 ※上書きコピー # cp /root/ifcfg-br0 /etc/sysconfig/network-scripts/ifcfg-br0 # systemctl enable network.service # reboot |
# systemctl stop network.service # systemctl disable network.service # cp /root/ifcfg-p4p1.back /etc/sysconfig/network-scripts/ifcfg-p4p1 ※上書きコピー # rm -f /etc/sysconfig/network-scripts/ifcfg-br0 ※ifcfg-br0の削除 # systemctl enable NetworkManager.service # systemctl start NetworkManager.service |