7

eth0イーサネット インターフェイスと tun/tap インターフェイスの2 つの有効なネットワーク インターフェイスを備えたマシンが 2 台ありますgr0。目標は、インターフェイスを使用してマシン A で TCP 接続を開始し、gr0マシン B からの応答 (ACK など) がイーサネット インターフェイス経由で返されるようにすることeth0です。したがって、マシン A は SYN を送信し、gr0マシン B はそれ自体で SYN を受信しgr0ますが、その SYN/ACK を を介して送り返しますeth0。tun/tap デバイスは GNU Radio 無線リンクであり、応答がイーサネット経由で届くようにしたいだけです。

これを達成する最も簡単な方法は何ですか? TCP/IP についてさらに調査する必要がありますが、最初は、発信パケットのソース スプーフィングによって、スプーフィングされたアドレスに応答するように受信者に指示するのではないかと考えていました (これは にルーティングされるはずですeth0)。これには、tun/tap インターフェイスから IP をルーティングしgr0、他のトラフィックを に残す必要がありeth0ます。

Linux を使用しており、Python ソリューションが望ましいでしょう。

ご覧いただきありがとうございます。

4

2 に答える 2

5

各システムのインターフェイスに追加のアドレスを追加し、loこれらの新しいアドレスを TCP 接続エンドポイントとして使用できます。次に、静的ルートを使用して、各マシンが他のマシンのloアドレスに到達するために使用するパスを指示できます。

例えば:

Machine A:
  ip addr add 1.1.1.1/32 dev lo
  ip route add 2.2.2.2/32 dev eth0 via <eth0 default gateway>

Machine B:
  ip addr add 2.2.2.2/32 dev lo
  ip route add 1.1.1.1/32 dev gr0

次に、マシン A の 1.1.1.1 にバインドし、2.2.2.2 に接続します。

于 2011-05-25T14:40:20.447 に答える