起動時にブリッジするとシステムがハングする

起動時にブリッジするとシステムがハングする

起動時に br0 が自動的に起動するように設定すると、システムがハングします。通常は、「br0 の準備ができるまで 2 秒待機しています」や「br0 に xxxx がバインドされました - xxxx で更新されます」などの行でハングします (つまり、起動シーケンス中、グラフィカル インターフェイスが初期化される前)。

Debian Sid を KVM と virt-manager とともに使用しています。ブリッジを起動して実行するのに問題はなく、問題なく動作します。問題は、通常のインターフェイスと同じように、自動的に br0 に接続したいことです。これはそれほど馬鹿げたアイデアではないと思いますが、Linux ネットワークの経験はあまりありません。

見つけた /etc/network/interfaces 設定のほとんどすべてを試してみましたが、どれも起動時にハングしたり、br0 が自動的に起動しなかったりします。私が十分に調べていないのは、時々見かける「pre-up」コマンドと「post-down」コマンドだけですが、これらは必ずしも必要ではないという印象を受けます。システムが完全にハングしてそれ以上起動しなくなるため、毎回強制的に再起動し、レスキュー ディストリビューションを起動して、interfaces ファイルの設定を削除するのはかなり面倒です。

/etc/rc.local に「ifup br0」と入力することで、自動起動させることに成功しましたが、共有が接続されない、VNC が起動しないなど、いくつかの問題が発生します。まだその段階ではありませんが、この方法を使用すると、ゲストを自動起動するように設定すると、ゲストが起動できなくなるのではないかと心配しています。

答え1

これは解決策ではないように思えますが、うまく機能するようです。私がやったことは、2つのインターフェースファイル(interfaces_eth0とinterfaces_br0)を作成することです。そして、

cp "/etc/network/interfaces_br0" "/etc/network/interfaces"
service networking restart
cp "/etc/network/interfaces_eth0" "/etc/network/interfaces"

/etc/rc.local へ

自動的に起動するように設定されていても、Debian は起動し、共有が接続され、ゲストはネットワークにアクセスできます。

答え2

今のところうまくいっていると思われる別の解決策は次のとおりです。/etc/init.d/network_fix に次の内容を含むスクリプトを作成しました。

### BEGIN INIT INFO
# Provides:          network_fix
# Required-Start:    $remote_fs $syslog $network
# Required-Stop:     $remote_fs $syslog $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Fix network for KVM
# Description:       Resolve bridging bug causing hang on boot.
### END INIT INFO
#! /bin/sh
# /etc/init.d/blah
#
cp -f /etc/network/interfaces_br0 /etc/network/interfaces
ifdown br0 eth0 eth1
ifup br0
cp -f /etc/network/interfaces_none /etc/network/interfaces
exit 0

そして、init.d を で更新しましたupdate-rc.d/etc/network/interfaces_noneループバックのみが含まれ、/etc/network/interfaces_br0次の内容が含まれています。

auto lo
iface lo inet loopback

auto eth1
allow-hotplug eth1
iface eth1 inet dhcp

auto br0
iface br0 inet dhcp
        bridge_ports eth1
        bridge_stp off

この時点で、追加の NIC を追加したので、eth1.

関連情報