12.2. libvirt を使用したブリッジネットワーキング

ブリッジネットワーキング(別名、物理デバイス共有)は、物理デバイスを仮想マシンに 専従させるために使用します。ブリッジングは多くの場合、高度なセットアップや複数の ネットワークインターフェイスを持つサーバー上で使用されます。
Xen ネットワークスクリプトを無効にする

システムが Xen ブリッジを使用している場合は、/etc/xen/xend-config.sxp への編集で以下の行を変更することにより、デフォルトの Xen ネットワーキングブリッジを 無効にすることが推奨されます:

(network-script network-bridge)
から:
(network-script /bin/true)
NetworkManager を無効にする

NetworkManager はブリッジングをサポートしません。NetworkManager を無効にして ネットワークスクリプト(/etc/sysconfig/network-scripts/ ディレクトリ内に 存在)を介したネットワーキングを使用する必要があります。

# chkconfig NetworkManager off
# chkconfig network on
# service NetworkManager stop
# service network start

注記

NetworkManager をオフにする代わりに、"NM_CONTROLLED=no" を サンプルで使用されている ifcfg-* スクリプトに追加することができます。
network initscript を作成

次の2つのネットワーク設定ファイルを作成するか、 又は編集します。この手順を追加のネットワークブリッジで(別名で)繰り返します。

/etc/sysconfig/network-scripts ディレクトリへ移動します:
# cd /etc/sysconfig/network-scripts
ブリッジに追加するデバイス用のネットワークスクリプトを開きます。この例では、 ifcfg-eth0 は、ブリッジの一部としてセットされている 物理ネットワークインターフェイスを定義しています:
DEVICE=eth0
# change the hardware address to match the hardware address your NIC uses
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0

注記

デバイスの MTU (Maximum Transfer Unit) を設定するには、MTU 変数を 設定ファイルの末尾に追記します。
MTU=9000
ifcfg-br0、又はそれに似た名前のネットワークスクリプトを /etc/sysconfig/network-scripts ディレクトリ内に作成します。 br0 とは、ブリッジの名前です。これはファイル名が DEVICE パラメータと同じであれば、どんな名前でも結構です。
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
DELAY=0

警告

TYPE=Bridge の行は、大文字/小文字の区別があります。これは 大文字の「B」 と 小文字の 「ridge」 で構成れています。
設定が終了したら、ネットワークを再開始するか、マシンをリブートします。
# service network restart
iptables を設定して、全てのトラフィックがブリッジを渡って 転送されるようにします。
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
# service iptables save
# service iptables 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 の使用で設定されたカーネルパラメータを再ロードします。
# sysctl -p /etc/sysctl.conf
libvirt デーモンを再起動
# service libvirtd reload
この時点で、「共有物理デバイス」があるはずです。これはゲストを 付帯できるもので、全面的な LAN アクセスを持ちます。以下のようにして 新規ブリッジを確認します:
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
br0             8000.000e0cb30550       no              eth0
注記。このブリッジは完全に virbr0 ブリッジから独立しています。 物理デバイスを virbr0 に付帯する試行は しないで下さい。 virbr0 ブリッジは NAT (Network Address Translation) 接続機能だけのために あります。