Debian ネットワーク ブリッジ設定 - /etc/network/interfaces

Debian ネットワーク ブリッジ設定 - /etc/network/interfaces

私は、ルーティングされた IP 設定で複数の仮想マシンをホストする Lenny Xen dom0 を実行しています。追加のプライベート サブネットを取得するために、次のコマンドを使用して dom0 にブリッジ xenbr0 を作成しました。

brctl addbr xenbr0
ifconfig xenbr0 10.0.0.1 netmask 255.255.255.0
ifconfig xenbr0 up

これは期待どおりに動作し、VM の起動時に Xen によって domU インターフェイスがブリッジに追加されます。私の唯一の問題は、この構成を /etc/network/interfaces で永続的に指定し、再起動後もブリッジが利用できるようにするにはどうすればよいかということです。多くのチュートリアルで見られる次の構成を試しました。

auto xenbr0
iface xenbr0 inet static
  address 10.0.0.1
  netmask 255.255.255.0
  network 10.0.0.0
  broadcast 10.0.0.255
  bridge_stp no

ブリッジがすでに存在するかどうかによって、2 つの異なるエラーが発生します。存在しない場合:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
SIOCSIFADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
SIOCSIFNETMASK: No such device
SIOCSIFBRDADDR: No such device
xenbr0: ERROR while getting interface flags: No such device
xenbr0: ERROR while getting interface flags: No such device
Failed to bring up xenbr0.
done.

そして、それが存在する場合:

root@dom0:~# brctl show
bridge name     bridge id               STP enabled     interfaces
xenbr0          8000.000000000000       no
root@dom0:~# /etc/init.d/networking restart
Reconfiguring network interfaces...if-up.d/mountnfs[eth0]: waiting for interface xenbr0 before doing NFS mounts (warning).
RTNETLINK answers: File exists
Failed to bring up xenbr0.
done.

どなたか正しい方向を教えていただけませんか? ブリッジは手動で作成すると正常に動作します。必要なのは正しい構成ファイルのエントリだけです。私が見つけたほとんどのチュートリアルでは、構成でブリッジにデバイスを追加していますが、それが動作しない原因でしょうか? ブリッジの作成時にインターフェイスを追加したいものはありません。後で VM の起動時に追加されるからです...

ありがとう、マティアス

答え1

最も重要な行を見逃しているようです:

auto xenbr0
iface xenbr0 inet static
  bridge_ports eth0 eth4 eth7    # bridge traffic between these interfaces
  bridge_stp no
  address 10.0.0.1
  netmask 255.255.255.0
  network 10.0.0.0
  broadcast 10.0.0.255

manインターフェースをより柔軟に指定する必要がある場合は、次の構文を使用できます (Xen dom0 で最も便利です)。

     bridge_ports regex (eth|vif).*

これは、(egrep(1) のように)「regex」の後に続く式を評価することを意味します。

答え2

起動後に実行され、必要なコマンドを実行するスクリプトはどうでしょうか?

答え3

パッケージを削除する必要があるかもしれませんnetwork-manager。手動のインターフェース設定に干渉することがよくあります。

関連情報