あるvethから別のvethにイーサネットフレームを送信するには?

あるvethから別のvethにイーサネットフレームを送信するには?

2つのvethペア(veth1、veth1_0)と(veth2、veth2_0)があります。 veth1_0とveth2_0はデフォルトの名前空間ns0にあり、veth1は名前空間ns1にあり、veth2は名前空間ns2にあります。異なる名前空間間で通信したいと思います。したがって、veth1_0を使用してveth2_0にイーサネットフレームを送信します(pcap_sendpacketを使用)。 veth2でパケットをキャプチャできることを願っています。私の出力では、veth1の名前空間1からパケットをキャプチャできますが、veth2の名前空間2では実行が失敗します。こんなふうにコミュニケーションができるのかなまたは他の方法があるかもしれません。

ベストアンサー1

これが問題が解決するかどうかはわかりませんが、一般的なアプローチは、デフォルトの名前空間にブリッジを作成してからブリッジのメンバーを作成することですveth1_0veth2_0

次に、そのネームスペースにveth1正しいIPアドレスを提供しveth2、必要に応じてパスを追加し、イーサネットパケットを気にせずにIPスタックにタスクを実行させます。特にpcapのようなものを使用しないでください。

おすすめ記事