2 つのローカルイーサネットインターフェイスを使用したスループットテストの設定

2 つのローカルイーサネットインターフェイスを使用したスループットテストの設定

現在、次の設定(すべてのアドレスはで始まる192.168.)を使用してハードウェアデバイス(DUT - Device Under Test)のルーティングパフォーマンスをテストしています。

eth0 (29.2) <---> eth1 (29.1)  eth2 (30.1) <---> eth0 (30.2)
HOST1             |~~~~~~~~~DUT~~~~~~~~~~|       HOST2

Iperfこの設定ではうまく機能します。

しかし、HOST1に利用可能な他のイーサネットカードがあるので、HOST2を削除したいと思います。これが私が達成したいものです:

eth0 (29.2) <---> eth1 (29.1)  eth2 (30.1) <---> eth1 (30.2)
HOST1             |~~~~~~~~~DUT~~~~~~~~~~|       HOST1

eth0からeth1までのパケットが内部的にカーネルを通過するのではなく、DUTを通過するようにHOST1でLinuxルーティングを設定するにはどうすればよいですか?

私は3.0カーネルでDebianを実行しています。 iproute2バージョンはss110629

ベストアンサー1

snat/dnatと組み合わせたルーティングが有効です。ここでの基本的な考え方は、HOST1の各デバイスに2番目のサブネットの2番目の「仮想」IPアドレスを割り当てることです。仮想アドレスは、ホスト1を離れるか入る前または後に物理アドレスに変換されます。次の設定を使用し、iperfトラフィックを192.168.9.2または192.168.10.2に指定します(希望のトラフィックの方向によって異なります)。

IPアドレスの割り当て

ホスト1

  • eth0 192.168.29.2/24 (このデバイスの「仮想」アドレスは192.168.9.2です)

  • eth1 192.168.30.2/24 (このデバイスの「仮想」アドレスは192.168.10.2です)

テスト中のデバイス

  • イーサネット1 192.168.29.2/24
  • Ethereum 2 192.168.30.2/24

静的ルーティング

ホスト1

  • 192.168.10.2/24経由 192.168.29.1
  • 192.168.30.1による192.168.9.2/24

テスト中のデバイス

  • 192.168.9.2/24(192.168.29.2経由)
  • 192.168.10.3/24経由 192.168.30.2

HOST1のiptablesルール

背面配線

  • 192.168.9.2から192.168.10.2に送信されたSNATパケット
  • 192.168.10.2から192.168.9.2に送信されたSNATパケット

事前ルーティング

  • 192.168.9.2から192.168.29.2に送信されたDNATパケット
  • 192.168.10.2から192.168.30.2に送信されたDNATパケット

おすすめ記事