Linuxサーバーでネットワークハングをシミュレートする方法

Linuxサーバーでネットワークハングをシミュレートする方法

だから、仮想ネットワークでインターネットの中断をシミュレートしようとしています。

プライベートネットワークは機能し、ローカルコンテンツ(データベースなど)にアクセスできますが、ゲートウェイが失敗するシナリオをシミュレートしたいので、以下のリンクに示されているようにインターフェイスをオフにすることはできません。

ネットワークケーブルが切断されているか、サーバーがダウンしているかをシミュレートする方法は?

ネットワークはDockerを使用して実行され、すべてのマシンは別々のDockerイメージです。

これを行う簡単な方法はありますか?

答え1

最初のステップは、各ドッカーイメージが独自のネットワークネームスペース内で実行されていることを確認し、各イメージを仮想インターフェイスで埋めることです。 1つのインターフェイスは(中断されない)「ローカルネットワーク」用で、もう1つのインターフェイスは(干渉)「WAN」です。

各ローカルネットワークインターフェイスはグローバルネームスペースの独自のインターフェイスに「接続」され、これらのインターフェイスはすべてブリッジに追加されます。この設定は、ローカルネットワークに「ケーブル接続」を提供します。その後、ネットワークに DHCP サービスを追加するか、静的割り当てを使用する必要があります。

各WANインターフェイスはグローバルネームスペースの独自のインターフェイスにも接続され、それらのすべては「WAN」配線を表す別のブリッジに追加されます。また、ブリッジには、シミュレートされたWANトラフィックが「実際の」WANに到達できるようにするデフォルトのホストIPがあります。これを行うには、トラフィックを指示するようにiptablesルールを設定し、そのルールに干渉するように変更できます。

異なるドッカーに異なる干渉を適用する場合は、それらを1つのブリッジにまとめるのではなく、別々のチャネルルールを持ち、個々の干渉に対してそのルールを操作する必要があります。あるいは、それをブリッジに導入して仮想ワイヤを操作することもできます(各ワイヤをその名前空間のコンパニオンインターフェイスに接続する)。

関連情報