KVMでプライベートネットワークを構築する際の設定

単一ホスト上のゲストOS間だけで閉じた仮想ネットワークを構築する設定です。
物理NICに接続されないブリッジインタフェース(以降、"空ブリッジ")を作り、ゲストOSのNICを空ブリッジに接続させる設定になります。
VirtualBoxでの"ホストオンリーアダプタ"なイメージです。

空ブリッジの作成

ホストOSの"/etc/network/interfaces"に、以下の設定を追加します。
今回は、"172.16.xxx.xxx"なプライベートアドレスを使いました。

auto br1
iface br1 inet static
	address 172.16.0.101
	netmask 255.255.0.0
bridge_ports none

ネットワークを再起動して、"br1"が起動したことを確認します。

$ sudo /etc/init.d/networking restart
$ sudo ifconfig br1

ゲストOS側のインタフェース設定

virt-managerでゲストOSを作成する際に、空ブリッジ*1を選択することができません。
なので、一旦物理NICが接続されているブリッジを指定して、ゲストOS(ネットワークインタフェース)を作成します。
その後、ゲスト定義ファイル(/etc/libvirt/qemu/.xml)の設定の

<source bridge='br0'/>

な記述を

<source bridge='br1'/>

に編集し、ゲストOSの構成変更を反映します。

$ sudo virsh define /etc/libvirt/qemu/<Guest-Host-Name>.xml

あとは、ゲストOSを起動し、以下のように通常のインタフェースな感じで設定します。

### /etc/network/interfaces ###
auto eth1
allow-hotplug eth1
iface eth1 inet static
	address 172.16.0.102
	netmask 255.255.0.0

おまけ

空ブリッジ作成時に、"bridge-utils"のman見ようとして、"man bridge-utils"したけど見れなかった。
"man bridge-utils-interfaces"で見れるんですが、ちょっと探しちゃいました。

*1:物理NICが接続されていないブリッジや接続先がVLANインタフェースなブリッジ