12.2. libvirt を使用したブリッジネットワーキング
ブリッジネットワーキング(別名、物理デバイス共有)は、物理デバイスを仮想マシンに 専従させるために使用します。ブリッジングは多くの場合、高度なセットアップや複数の ネットワークインターフェイスを持つサーバー上で使用されます。
Xen ネットワークスクリプトを無効にする
システムが Xen ブリッジを使用している場合は、/etc/xen/xend-config.sxp への編集で以下の行を変更することにより、デフォルトの Xen ネットワーキングブリッジを 無効にすることが推奨されます:
(network-script network-bridge)
(network-script network-bridge)
から:
(network-script /bin/true)
(network-script /bin/true)
NetworkManager を無効にする
NetworkManager はブリッジングをサポートしません。NetworkManager を無効にして ネットワークスクリプト(/etc/sysconfig/network-scripts/ ディレクトリ内に 存在)を介したネットワーキングを使用する必要があります。
chkconfig NetworkManager off chkconfig network on service NetworkManager stop service network start
# 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
# cd /etc/sysconfig/network-scripts
ブリッジに追加するデバイス用のネットワークスクリプトを開きます。この例では、
ifcfg-eth0 は、ブリッジの一部としてセットされている 物理ネットワークインターフェイスを定義しています:
注記
デバイスの MTU (Maximum Transfer Unit) を設定するには、
MTU 変数を 設定ファイルの末尾に追記します。
MTU=9000
MTU=9000
ifcfg-br0、又はそれに似た名前のネットワークスクリプトを /etc/sysconfig/network-scripts ディレクトリ内に作成します。 br0 とは、ブリッジの名前です。これはファイル名が DEVICE パラメータと同じであれば、どんな名前でも結構です。
警告
TYPE=Bridge の行は、大文字/小文字の区別があります。これは 大文字の「B」 と 小文字の 「ridge」 で構成れています。
設定が終了したら、ネットワークを再開始するか、マシンをリブートします。
service network restart
# service network restart
iptables を設定して、全てのトラフィックがブリッジを渡って 転送されるようにします。
iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT service iptables save service iptables restart
# 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
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
# sysctl -p /etc/sysctl.conf
libvirt デーモンを再起動
service libvirtd reload
# service libvirtd reload
この時点で、「共有物理デバイス」があるはずです。これはゲストを 付帯できるもので、全面的な LAN アクセスを持ちます。以下のようにして 新規ブリッジを確認します:
brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes br0 8000.000e0cb30550 no eth0
# 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) 接続機能だけのために あります。