ブリッジは、1つの論理ネットワーク内の2つ以上のネットワークセグメントを分離するデバイスです。ブリッジはハブの1つ上のステップです(デフォルトでは、Linuxブリッジはスイッチとして機能します)–送信する前にパケットの宛先を確認します。宛先アドレスがブリッジの反対側にない場合、パケットはドロップされます。ハブは最も単純なネットワークデバイスですが、1つのポートからのデータパケットはすべて他のすべてのポートに送信されます。次に、パケットを受け入れるかどうかを決定するのは受信側のコンピュータ次第です。通常、ハブは、ネットワークを通過するデータの量がそれほど多くない小規模なネットワークで使用されます。 Xenハイパーバイザーでの実験では、Linuxブリッジをスイッチではなくハブとして機能させたいと思いました。これが私が同じことを達成した方法です:
ホスト上に作成されたLinuxブリッジのリストを見つける方法
まず、ホスト上に作成されたLinuxブリッジのリストを見つけて、対応するものをハブとして作成する必要があります。次のコマンドを実行して、ホスト上のLinuxブリッジのリストを見つけます。
[root@centos-1 ~]# brctl show bridge name bridge id STP enabled interfaces virbr0 8000.000000000000 yes xenbr0 8000.feffffffffff no vif33.0 vif31.0 vif19.0 vif0.0 peth0
ブリッジをハブとして機能させる方法
以下のコマンドを実行して、ブリッジをハブとして機能させます。ここで、 setageingを設定します。 0へ 、ブリッジを作成して、認識したすべてのMACアドレスを忘れ、ハブのように反応します。
brctl stp <bridge name> off brctl setageing <bridge name> 0 brctl setfd <bridge name> 0
例:上記のブリッジのリストから、 xenbr0を作成します。 ハブとしての橋。
[root@centos-1 ~]# brctl stp xenbr0 off [root@centos-1 ~]# brctl setageing xenbr0 0 [root@centos-1 ~]# brctl setfd xenbr0 0
ブリッジがハブとして機能することを確認する方法
シナリオ:Linuxホストで実行されている3つのVMについて考えてみます。次に、VM1からVM2へのpingを開始します。 VM3で、tcpdumpを実行して、VM1からVM2に流れるICMPパケットを確認します。
上記のハブをLinuxブリッジにリバースする方法
次に、物理ホストで上記の設定を元に戻すには、次のコマンドを実行します。
brctl setageing <bridge name> 300
例:
[root@centos-1 ~]# brctl setageing xenbr0 300
ここでもう一度確認するために、Linuxホストで実行されている同じ3つのVMについて考えてみます。次に、VM1からVM2へのpingを開始します。 VM3でtcpdumpを実行すると、VM1からVM2に流れるICMPパケットを確認できなくなります。