web-dev-qa-db-ja.com

2つのインターフェイスをip / iproute2でブリッジするにはどうすればよいですか?

私はbrctlを使用してブリッジを作成する方法を知っていますが、これをもう使用せず、代わりにiproute2またはipを使用するようアドバイスされています(brctl以降)おそらく非推奨です)。これが良いアドバイスだとしたら、ipを使用してブリッジを作成するにはどうすればよいですか?たとえば、eth0eth1をブリッジしたいとします。

23
Totem

bridgeオブジェクトip _ipコマンド、または_iproute2_パッケージの一部を構成するbridgeコマンドを使用できます。

基本的なリンク操作

_br0_という名前のブリッジを作成するには、メンバーとして_eth0_および_eth1_を使用します。

_ip link add name br0 type bridge
ip link set dev br0 up
ip link set dev eth0 master br0
ip link set dev eth1 master br0
_

ブリッジからインターフェースを削除するには:

_ip link set dev eth0 nomaster
_

そして最後に、インターフェースがメンバーでない後にブリッジを破壊するには:

_ip link del br0
_

転送操作

FDB( Forwarding Database )などのブリッジの他の側面を操作するには、bridge(8)command を確認することをお勧めします。例:

_br0_に転送データベースを表示

_bridge fdb show dev br0
_

ポート(_eth0_)の処理を無効にします BPDUs 。これにより、インターフェイスは着信bpduをフィルタリングします

_bridge link set dev eth0 guard on
_

STP Cost をポートに設定する(例:_eth1_):

_bridge link set dev eth1 cost 4
_

Eth1にルートガードを設定するには:

_bridge link set dev eth1 root_block on
_

コストはいくつかの要因を使用して計算され、リンク速度はそれらの1つです。修正コストを使用し、BPDUの処理を無効にし、root_blockを有効にすることは、スイッチの_guard-root_機能に似ています。

Vepa、veb、および ヘアピン モードなどの他の機能は、_bridge link_サブコマンドリストにあります。

VLANルールの操作

Bridgeコマンドのvlanオブジェクトを使用すると、ブリッジに入力/出力フィルターを作成できます。

VLAN入力/出力フィルターがあるかどうかを表示するには:

_bridge vlan show
_

特定のインターフェースにルールを追加するには:

_bridge vlan add dev eth1 <vid, pvid, untagged, self, master>
_

ルールを削除します。特定のルールを削除するには、コマンドの最後に_vlan add_と同じパラメーターを使用します。

_bridge vlan delete dev eth1
_

関連するもの:

27
user34720

brctl showに相当するものはbridge linkです。 bridge link show dev eth0を使用すると、デバイスごとのブリッジステータスを表示できますが、ブリッジはネットワークインターフェイスを調べて、どのネットワークインターフェイスが特定のブリッジに属しているかではなく、どのブリッジに属しているかを通知します。

brctl show br0に相当するものがないようです。

2
Dominik Heidler