ホストのソースMACの1つと一致するソースMACを持つフレームがホストに到達するというネットワークの問題があります-明らかな重複するMAC、ループ、またはその他のL2問題。
LinuxブリッジのMACテーブル(CAMテーブル)がローカルMAC(ホストされている仮想マシンの場合)をアップストリームポートにあるものとして登録し、カーネルログにエラーが表示されるため、これは状況であると私は信じています。
bridgename: received packet on bond0.2222 with own address as source address
これらの「不正な」パケット/フレームの詳細を入手したいのですが、それらをゼロにする方法がわかりません。 tcpdumpを使用すると、特定のソースMAC(「ether src MAC」)でフィルタリングできますが、これはフレームが「送信」されたか「受信」されたかではなく、フレームのバイトに基づいています。通常、送信元MACを持つフレームは送信することを意味しますが、重複するフレームを受信した場合、コンテンツはフィルターとまったく同じに見えます。
パケットキャプチャでフレームが受信されたか送信されたかをどのように確認できますか?
使用する --direction
tcpdumpのオプション:
-Q direction
--direction=direction
Choose send/receive direction direction for which packets should be
captured. Possible values are `in', `out' and `inout'. Not available on
all platforms.
Iptablesでは、着信パケットと発信パケットに異なる「チェーン」があります。 iptables(8)のmanページから:
... the chains INPUT and OUTPUT are only traversed for packets coming into
the local Host and originating from the local Host respectively. Hence
every packet only passes through one of the three chains (except
loopback traffic, which involves both INPUT and OUTPUT chains) ...
iptablesはいくつかのロギング(-l)を実行できます。これにより、必要なものが表示される場合があります。また、パケットのコピーを他のツールでロギングするためにインターフェースに転送することもできると思われますが、それを行う理由はありませんでした。