Linux ブリッジはパケットを送信できません。 TXパケットカウンタは0です。

Linux ブリッジはパケットを送信できません。 TXパケットカウンタは0です。

私は以下に基づいてブリッジを設定しました。https://help.ubuntu.com/community/NetworkConnectionBridge

マイ/etc/ネットワーク/インターフェース

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth3
allow-hotplug eth3
iface eth3 inet dhcp

auto br0
iface br0 inet manual
  bridge_ports eth1 eth0
  post-up ifconfig eth0 promisc mtu 9000 && ifconfig eth1 promisc mtu 9000

しかし、統計によると、ブリッジは何も送信しません。

br0       Link encap:Ethernet  HWaddr 36:00:83:f4:bc:3b  
UP BROADCAST RUNNING MULTICAST  MTU:9000  Metric:1
RX packets:4616 errors:0 dropped:4 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:628357 (628.3 KB)  TX bytes:0 (0.0 B)

インターフェイスの状態を確認しました。どちらも転送状態にあります。どちらも無差別モードに設定し、MTUを拡張しました(デフォルトのMTUよりも高いパケットに興味があります)。

ベストアンサー1

このbr0インターフェイスは、ブリッジポートに追加された「内部」インターフェイスです。このIFなしでパケットを送信すると、何も表示されませんが、ブリッジはまだポート間でパケットを転送しています。

ポート(eth1 eth0)自体の統計は何ですか?

(なぜ無差別モードにするのですか?)

編集する

ブリッジはOSIレベル2のネットワークスイッチのように動作します。概念的には、ブリッジのネットワークインターフェイスである内部ポートを含む、あるポートで受信されたすべてのパケットを他のすべてのポートに転送します。ただし、LANセグメントに接続されている物理イーサネットインターフェイスと同様に、ネットワークインターフェイスカウンタは、内部インターフェイスとしてアドレス指定された(または内部インターフェイスから送信された)パケットに対してのみアクティブになります。

最適化のために、ポートに表示されたMACアドレスのリストを保持し、そのポートを認識する場合にのみ宛先MACアドレスに転送します。

パケットのどれも変更せず、eftables興味深い操作を実行するために使用しない限り、MACアドレスや他のものは変更しません。tcpdump -e -i eth0ポートで背中を使用して直接確認できます。

以前のHOWTOでは、ポートインターフェイスを無差別モードに設定する必要があるというメモを見つけることができましたが、長い間それを必要としませんでした。 (試してみてください)。

おすすめ記事