Fedora 14における仮想化ネットワークの詳細
Fedoara 14とRHEL 6[kvm]では仮想化のための3種類の構成サポートが提供されており、
1. Network Address Translation [NAT]
2.物理デバイスを直接割り当てる[PCI passthrough or SR-IOV]
3.共有物理デバイス[Bridge]
ここでNATはデフォルトでオンになっており、外部ネットワークにアクセスするには、直接割り当てられた物理デバイスまたはブリッジネットワークを使用することが多い。
NAT:ほとんどの標準libvirtはNATを仮想ネットワークとしてサポートしており、virsh net-list--allは表示できます。
# virsh net-list --all
Name State Autostart
-----------------------------------------
default active yes
対応するxmlプロファイルが失われた場合は、テンプレートから抽出できます。
# virsh net-define /usr/share/libvirt/networks/default.xml
次に、仮想ネットワークを自動起動として識別します。
# virsh net-autostart default
# virsh net-start default
ブリッジの状況を確認し、virbr 0はNATとIP転送を通じてエンティティネットワークに接続され、他のインタフェースは追加されません。
# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
一般的にlibvirtはiptablesにルールを自動的に追加し、ip_を開こうとします。forward機能ですが、他のアプリケーションではip_が禁止される場合があります。forward、だから/etc/sysctl.confに次の項目を追加します。
net.ipv4.ip_forward = 1
Briged:マルチNICマシンでは一般的に使用されますが、NetworkManagerではブリッジはサポートされていません。NetworkManagerサービスをオフにするか、ネットワークデバイスのプロファイルにオプション'NM_を追加する必要があります。CONTROLLED=no'パラメータ
# vim /etc/sysconfig/network-scripts/ifcft-eth0
DEVICE=eth0
HWADDR=00:16:76:D6:C9:45
ONBOOT=yes
BRIDGE=br0
br 0構成の追加
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
DELAY=0
ネットワークサービスの再起動
service network restart
brctl表示
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.f0def1341ae6 no eth0
virbr0 8000.000000000000 yes
iptablesを構成し、ブリッジネットワークのトラフィック転送を許可する〔physdevモジュール使用〕
# iptables -I FORWARD -m physdev --physdev-is-bridged -j ACCEPT
次のカーネルパラメータを設定することもできます。
net.bridge.bridge-nf-call-ip6tables = 0
net.bridge.bridge-nf-call-iptables = 0
net.bridge.bridge-nf-call-arptables = 0