パケットをドロップし、レイテンシーを導入し、データを破損するようにルーターを構成する


13

ネットワーク上でリクエストを送受信する際に、パフォーマンスが低下するように意図的に設計された環境を設定した経験がある人はいないだろうかと思いました。アプリケーションを開発していますが、非常にパフォーマンスの低いネットワーク上で堅牢にしたいと考えています。ルーターを次のように構成できるかどうかは誰にもわかりますか?

  1. 断続的にパケットをドロップする
  2. 断続的にパケットに遅延を導入します
  3. パケット内の破損データ(パケットを開いてデータを変更し、チェックサムを更新する必要があるため、TCPレイヤーはこのタイプの問題をキャッチするため、これは必要ありません)

ルーターで不可能な場合、コンピューターをルーターとして機能するように構成し、これを行うことは可能ですか?

どうもありがとう!

回答:


17

Linuxボックスをルーターとして使用する場合、netfilterにはパケットトラフィックをいじるいくつかの方法があります。

このrandomモジュールを使用して、パケットをランダムにドロップできます。たとえば、これ:

iptables -A FORWARD -m random --average 10 -j DROP

これにより、ルーターはパケットを平均10%の割合でランダムにドロップします。

XORターゲットを使用してランダムパケットを破損することもできます。たとえば、

iptables -A FORWARD -m random --average 1 -j XOR --key "junktoxortomypacket"

転送されたパケットの1%を、指定された文字列から派生したキーとXORすることにより破損します。


これはすごいですね!スティーブンありがとう!これを設定したことがありますか?どのLinuxディストリビューションですか?
マーク

Debianを使用して小規模ネットワーク用のルーターを作成することに成功しました。しかし、netfilterはカーネルに組み込まれているため、最近のカーネルを備えたLinuxディストリビューションのほとんどすべてで問題ありません。...私は実際にここに記載されているような「悪い」ルーターを作成しようとしたことがないが、それは怠惰な日曜日の午後のための興味深いプロジェクトであるかもしれない
スティーブン・月曜日

iptablesバージョン1.3.5を使用している場合、上記のコマンドは「iptables v1.3.5:一致する「ランダム」をロードできませんでした」というメッセージでエラーになる可能性があります。以下のコマンドは私のために働いた-iptables -A FORWARD -m statistic --mode random --probability 0.2 -j DROP
prashantsunkari

3

WANemを使用して、ドイツとインド間のWANのネットワーク状態をシミュレートできました。WANemは、起動可能なCDまたは仮想アプライアンスとして出荷されます。起動して、目的のネットワークプロパティを設定し、トラフィックをルーティングするだけです。公式の説明を引用:

WANemは、LAN環境でのアプリケーション開発/テスト中に、ワイドエリアネットワーク/インターネットの実際の体験を提供することを目的とした、ワイドエリアネットワークエミュレータです。通常、アプリケーション開発者はLAN上でアプリケーションを開発しますが、同じ目的はクライアントがWANまたはインターネットを介して同じものにアクセスすることです。WANemを使用すると、アプリケーション開発チームは、ネットワーク遅延、パケット損失、パケット破損、切断、パケットの並べ替え、ジッターなどのWAN特性をシミュレートするために使用できる透過的なアプリケーションゲートウェイをセットアップできます。WANemは、ワイドエリアをシミュレートするために使用できますデータ/音声トラフィックのネットワーク条件であり、広く受け入れられているGPL v2ライセンスの下でリリースされています。


2

可能であれば、アップリンクポートを10Mbpsおよび半二重に設定します。次に、ネットワーク上のホストを使用して、そこから鼻水をpingします。それはあなたをきちんと去勢するべきです:D


pingのパケットサイズもデフォルトよりもかなり大きく設定します。これは、飽和/一般的に悪いネットワークリンクをシミュレートするための本当に効果的で簡単な方法です-意図的に帯域幅を「攻撃」マシンが持っているものより低く設定することで特定の接続を無効にできる場合。
アンドリューバーバー

MTUを台無しにすることもできます。実際のオッドボールサイズを選択してください:)
SpacemanSpiff
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.