Gentoo Linux + Xen 4.1に乗り換える(4): ブリッジネットワークの設定


 前回までで、Xen 用の dom-0 環境が完成した。Xen のインストールで一番はまるところは、初めての dom-U、特にネットワーク設定回りだと思う。

 検証用環境ならともかく、本環境を載せるのならネットワークは複数欲しい。最低限、我が家の環境の場合は、

  • LAN接続用
  • WAN接続用
  • DB接続用

の3つのブリッジインターフェイスを取れるようにしてある。WANとLANの分離についてはそれぞれでポリシーなどが違うだろうが、うちの場合はファイアウォールでポート単位のフィルタリングを行った上で直接IP reachableになるようにしている。

 このように、複数のブリッジインターフェイスを使う場合は、Xen デフォルトの /etc/xen/scripts/network-bridge では不可能になってくる。色々とググってみると、/etc/xen/scripts/network-bridge をコピーしてそれを元に複数のブリッジインターフェイスを起動できるようにして、/etc/xen/xend-config.sxp

(network-script network-bridge-multi)

などとして起動すると書いてあることが多い。

 だが、実際にやってみるとこれでは起動しないこともある。私も若干試行錯誤したが、色々考えるよりも Gentoo 的にブリッジインターフェイスを作ってしまった方が明らかに早いと思う。ということで、以下のようにやってみた。

dns_domain_br0="intra.dameningen.jp"
config_br0=( "192.168.1.10 netmask 255.255.255.0 brd 192.168.1.255" )
routes_br0=( "default via 192.168.1.1" )
bridge_br0="eth0"
dns_servers_br0="192.168.1.1"
config_br1=( "null" )
bridge_br1="eth1"
config_br2=( "null" )
bridge_br2="eth2"

 /etc/conf.d/net を上記のように書いた上で、/etc/init.d/net.lo のシンボリックリンクとして net.br0, net.br1, net.br2 を作成する。/etc/rc.conf

rc_hotplug="!net.*"

として、ネットワークインターフェイスの自動起動を抑止した上で、 net.lo, net.br0, net.br1, net.br2 が起動するように

rc-update add net.lo default
rc-update add net.br0 default
rc-update add net.br1 default
rc-update add net.br2 default

する。これで、物理インターフェイスに紐付いたブリッジインターフェイスが3つ作成される。dom-U でのインターフェイスの指定は、これまでと同じように

vif = [ '', 'bridge=br0' ]

と書けばよい。

 実際にやってみて思ったことを一つ。最初は Xen の枠組みでブリッジインターフェイスを作るべきだと固執していたが、実際にはそんなことはなくて、むしろディストリビューション固有のやり方の方が何かと楽だと思う。