第12章 ネットワークの設定

このページは、libvirt ベースのアプリケーションで使用される一般的なネットワーキング 設定への導入を提供しています。この情報は Xen、KVM、その他の全ての hypervisor に 適用されます。追加の情報には、libvirt ネットワークアーキテクチャドキュメントをご覧 下さい。
2つの一般的なセットアップとして「仮想ネットワーク」と「共有物理デバイス」が あります。前者は全てのディストリビューションに渡って同一であり配付状態のままで 利用できます。後者はディストリビューション特有の手動設定が必要です。

12.1. libvirt を持つ NAT(Network address translation)

ネットワーク接続共有の為の最も一般的な方法の1つは、NAT (Network address translation) の 転送(別名、仮想ネットワーク)です。
ホストの設定

全ての標準の 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 は、ゲストとのトラフィックを許可する iptables ルールを追加します。このゲストは INPUTFORWARDOUTPUT、及び POSTROUTING のチェーン内の virbr0 デバイスに付帯しています。libvirt はそれから、 ip_forward パラメータの有効化を試みます。他の一部のアプリケーションが ip_forward を無効にする可能性があるため、最善の選択肢は/etc/sysctl.conf に以下を追加することです。
net.ipv4.ip_forward = 1
ゲストの設定

ホストの設定が完了すると、ゲストはその名前を基にした仮想ネットワークに 接続可能になります。ゲストをデフォルトの仮想ネットワークに接続するには、 ゲスト内で以下の XML を使用します:

<interface type='network'>
  <source network='default'/>
</interface>

注記

MAC アドレスの定義はオプションです。無視すると、MAC アドレスは自動的に 生成されます。MAC アドレスの手動セッティングは一部の状況で役に立ちます。
<interface type='network'>
  <source network='default'/>
  <mac address='00:16:3e:1a:b3:4a'/>
  </interface>