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