私が今直面している特定の問題についてあなたのアドバイス/コメントを聞きたいです。この問題は同じホストに設定されているポートミラーリングで観察されますが、リモート側のポートミラーリングは正常に動作します。
設定手順:
UDP の OAM パケットは、2 つのスレッドによって送受信されます。 OAM メッセージは、IP スタックを通過する OAM メッセージ処理中にイーサネットを介してリモートエンドに送信されます。出力フックミラーリング目的で発信されるOAMパケットを複製するための適用(以下の表示)。
iptables -t mangle -A OUTPUT -d 172.25.62.55/32 -p udp -m udp --dport 16 --port 33 -j oam_mirror --ip 172.25.62.38 --cid 33
上記のルールでは、172.25.62.55
リモートIP、172.25.62.38
ローカルホストIPです。
私のデバッグと観察内容は次のとおりです。
ip_send_check(iph); dst->output(nskb);
OAMパケットは複製され、スタック(使用済み)に残り、受信側に正しく到達することを確認できますが、pkt src IP = 172.25.62.38, dst IP = 172.25.62.38
この複製されたOAMパケットは同じホストの受信スレッドで受信されません。
このシナリオをデバッグして観察したところ、OAMパケットはローカルIP転送にルーティングされず、oam_mirrorフック後にパケットが失われます。限られたシステムのIPスタックでは、このパケットをデバッグするのは非常に困難です。
私はここに閉じ込められて、今からどこにも行けません。誰かが私に前進する方法を提案できますか?この特定の問題にいくつかの解決策を提供できる場合は、非常に役立ちます。
これに関する追加情報が必要な場合は、お気軽にお問い合わせください。