ブリッジにインターフェイスを追加すると、インターフェイス接続が永久に切断されるのはなぜですか?

ブリッジにインターフェイスを追加すると、インターフェイス接続が永久に切断されるのはなぜですか?

私はvagrant-libvirtを使用しており、仮想マシンをLANに接続してDHCPリースを受けてネットワークからアクセスできるようにしたいと思います。 vagrant-libvirtは明らかにブリッジを生成しないので、ブリッジを生成しました。

brctl addbr br0

enp10s0を追加します。

brctl addif br0 enp10s0

そして学んだLinuxネットワーキングの重要な教訓:

注:ブリッジにインターフェイスを追加すると、インターフェイスの既存のIPアドレスが失われます。ブリッジに追加するインターフェイスを介してリモートで接続すると、接続が切断されます。この問題は、システム起動時に生成されるブリッジをスクリプトすることで解決できます。

カーネルがインターフェイスを再初期化したため、アドレスが失われたことは理解できますが、なぜ回復されなかったのですか?私はenp10s0のネットワークにdhcpサーバーがあるので、素直に戻ってくると予想しました。 (私はHyper-Vの仮想スイッチを使用することに精通しています。)ホストとの接続を切断せずに作成および削除できます。

enp10s0に接続する前にブリッジにIPアドレスを割り当てていないためですか?それともまだ足が立っていないからでしょうか?それとも両方?

ベストアンサー1

なぜ bridge-utils にこれらの既知の制限があり、ユーザーを悩ませるのか分からない。いくつかはおなじみのbrctlツールを好むかもしれませんが、少なくともあなたの場合は、同じ文書に文書化された最新のiproute2ツールを試すことをお勧めします。アーチウィキページあなたがリンクしました。あなたの場合:

ip link add name br0 type bridge
ip link set br0 up
ip link set enp10s0 up
ip link set enp10s0 master br0

私はより深い知識はありませんが、少なくともiproute2ツールのいくつかは、Bridge-utilsのような古いツールよりも最新のカーネルインターフェイスを使用すると信じています。 brctlが失敗した場合、上記の方法がうまくいけば、これが理由だと思います。

おすすめ記事