Red Hat Training

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

第6章 ネットワーク設定

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

6.1. libvirt を使用した Network Address Translation (NAT)

ネットワーク接続を共有する最も一般的な方法の 1 つは、Network Address Translation (NAT) 転送 (別名、仮想ネットワーク) の使用です。

ホスト設定

すべての標準の libvirt インストールは、仮想マシンにデフォルトの仮想ネットワークとして NAT ベースの接続を提供します。virsh net-list --all コマンドで利用可能であることを確認します。

# virsh net-list --all
Name                 State      Autostart
-----------------------------------------
default              active     yes
見つからない場合は、ゲストの XML 設定ファイル(例: /etc/libvirtd/qemu/myguest.xml)を使用できます。
# ll /etc/libvirt/qemu/
total 12
drwx------. 3 root root 4096 Nov  7 23:02 networks
-rw-------. 1 root root 2205 Nov 20 01:20 r6.4.xml
-rw-------. 1 root root 2208 Nov  8 03:19 r6.xml
デフォルトのネットワークは /etc/libvirt/qemu/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 は、INPUT、FORWARD、OUTPUT、および 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>

このページには機械翻訳が使用されている場合があります (詳細はこちら)。