Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

第11章 Network Configuration

本章では、libvirt ベースのゲスト仮想マシンが使用する一般的なネットワーク設定を紹介します。詳細は、libvirt ネットワークアーキテクチャーのドキュメントを参照し http://libvirt.org/intro.html てください。
Red Hat Enterprise Linux 6 は、仮想化用に以下のネットワーク設定をサポートします。
  • ネットワークアドレス変換 (NAT) を使用した仮想ネットワーク
  • PCI デバイスの割り当てを使用して直接割り当てた物理デバイス
  • PCIe SR-IOV を使用して直接割り当てられた仮想機能
  • ブリッジネットワーク
外部ホストがゲスト仮想マシンのネットワークサービスにアクセスできるようにするには、NAT を有効にするか、ネットワークブリッジングを有効にするか、PCI デバイスを直接割り当てる必要があります。

11.1. libvirt を使用した NAT (ネットワークアドレス変換)

ネットワーク接続を共有する最も一般的な方法の 1 つは、ネットワークアドレス変換 (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
デフォルトのネットワークは、/usr/share/libvirt/networks/default.xmlから定義されます。
デフォルトのネットワークを自動的に起動するように設定します。
# virsh net-autostart default
Network default marked as autostarted
デフォルトのネットワークを起動します。
# virsh net-start default
Network default started
libvirt のデフォルトネットワークが実行すると、分離されたブリッジデバイスが表示されます。このデバイスには、物理インターフェイスが追加されていません。新しいデバイスは、NAT および IP 転送を使用して物理ネットワークに接続します。新規インターフェイスを追加しないでください。
# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
libvirt は、INPUTFORWARDOUTPUT、および POSTROUTING チェーンの virbr0 デバイスに接続されているゲスト仮想マシンとの間のトラフィックを許可する iptables ルールを追加します。次に、libvirtip_forward パラメーターの有効化を試みます。他のアプリケーションではip_forward が無効になる場合があるため、最善の選択肢は、以下を /etc/sysctl.conf に追加することです。
 net.ipv4.ip_forward = 1

ゲスト仮想マシンの設定

ホストの設定が完了したら、ゲスト仮想マシンは、その名前を基にして仮想ネットワークに接続できます。ゲストをデフォルトの仮想ネットワークに接続するには、ゲストの XML 設定ファイル( /etc/libvirtd/qemu/myguest.xmlなど)で以下を使用できます。

<interface type='network'>
   <source network='default'/>
</interface>
注記
MAC アドレスの定義はオプションです。定義しない場合は、MAC アドレスが自動的に生成され、ネットワークが使用するブリッジデバイスの MAC アドレスとして使用されます。MAC アドレスを手動で設定すると、環境全体で一貫性や簡単な参照を維持したり、競合の可能性が非常に低い場合に役立つ場合があります。
<interface type='network'>
  <source network='default'/>
  <mac address='00:16:3e:1a:b3:4a'/>
</interface>