クライアントソケットでは、bind()を使用して特定のソースIPアドレスにバインドして、特定のインターフェイスを選択できます。または私はconnect()を直接使用することができますそれはルーティングテーブルに基づいてソースIPを選ぶでしょう。クライアントソケットをipにバインドすることはできますか?
クライアントソケットをIPにバインドすることはできますか?例:私は2つのインタフェースを持っています: eth0:ip0 eth1:ip1
(1)私はクライアントソケットをip2にバインドします。これは実現可能ですか? (2)(1)が実行可能であれば、クライアントソケットがeth0を通してパケットを送信したと仮定します。次に、このクライアントホストにiptablesを設定して、すべての着信パケットをip0(eth0)に転送します。この場合、宛先IPアドレスを持つサーバ側から返されたパケットがip2(このパケットがクライアントホストに到達すると仮定します)です。私のクライアントソケットはパケットを受け取りますか?
ありがとうございます。
私がしようとするのは、プログラムがネットワークトラフィックジェネレータとして動作することです。私はクライアントホストとサーバーホストとの間にスイッチを持っています。私はクライアントとサーバーの間でトラフィックを送りたいので、これらのトラフィックには複数のクライアントIPサーバーのIPペアが必要です(複数のサブスクライバーとサーバーがある場合をシミュレートします)。例えば。 :クライアントipsの範囲は20.0.0.0〜20.0.0.9、サーバのipsの範囲は21.0.0.0〜21.0.0.9です。 この場合、クライアントホストには10個のソケットが必要です。それぞれ20.0.0.0のIPでバインドする必要があります - 20.0.0.9。しかし、私のインターフェースにはもう1つのipsがあります(少なくともそれは勝っていますが、これらのIPはすべて持っています)。 – buddha
iptablesは、linuxのファイアウォールルールを設定するために使用されるlinuxコマンドです。 – buddha