LinuxがIPをethインターフェースからブリッジインターフェースに移動する必要がある理由


27

ネットワークインターフェース(eth0など)をLinuxブリッジ(br0など)に追加する場合、ネットワークが正しく機能するためには、eth0からIPアドレスを削除してbr0に追加する必要があります。

Linuxカーネルの実装方法のためにIPアドレスを移動する必要があることを、Open vSwitchのreadmeファイル(今のところ見つかりません)で読んだことを思い出します。IPアドレスをNICからブリッジに移動する必要があるLinuxの実装についてはどうですか?

回答:


10

NICはアップリンクケーブルを表します。ケーブルは、レイヤー3ではなくレイヤー1です。

これで、ブリッジは、サーバー上のネットワークトラフィック(着信)に対してアドレス指定されているデバイスとして機能します-レイヤー2(イーサネット/ MAC)および/またはレイヤー3(IP)のいずれか。

そのため、ARP要求に応答するデバイスはブリッジです。ブリッジ上の他のインターフェイスにトラフィックを分散する必要があるため、これは適切です。

応答デバイスがNICである場合、トラフィックはそれ以上ブリッジに渡されません。

そのため、一部のガイドでは、(アップリンク)NICからMACを削除することも推奨されています。


したがって、実際のLinuxメカニズムについて(グッドプラクティスに関するものではありません)、つまり、インターフェイスをブリッジの下に置くと、カーネルによってL2 / L3アドレス可能インターフェイスとは見なされなくなります。右 ?MAC / IPの割り当てを妨げるものは何もないので、混乱を招きます。
ジョセリンデラランド

1
@Jocelynその逆。それでもL2 / 3としてアドレス可能な場合、他のトラフィックをブロックします。そのため、ブリッジ上にある場合は直接対処しないでください。
ニルス

わかりましたが、デフォルトではポートはL2でアドレス可能のままです(削除しない場合はMACaddrを保持します)。なぜL2トラフィックをブリッジに流すのですか?
ジョセリンデラランド

2
@Jocelyn arp-requestsに応答しない限り、すべてがl2 / 3で良好です。パケットをキャプチャしない場合、パケットをカーネルのネットワーク部分に渡すことができます。
ニルス

OK。ポートにアドレスを割り当てるとき、何らかのトラフィックが落ちたことに気づいた原因を尋ねた; しかし、rp_filterが原因でした。
ジョセリンデラランド

1

ブリッジは、複数のインターフェイスがブリッジ内にある場合、トラフィックを行き先に配信します。多かれ少なかれ、ブリッジの個々のインターフェイスは、レイヤー3ではなく、ブリッジが決定する内容に従ってレイヤー2で動作しています。したがって、ブリッジ内の個々のインターフェイスではなく、ブリッジ全体をアドレス指定する必要があります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.