だから、仮想ネットワークでインターネットの中断をシミュレートしようとしています。
プライベートネットワークは機能し、ローカルコンテンツ(データベースなど)にアクセスできますが、ゲートウェイが失敗するシナリオをシミュレートしたいので、以下のリンクに示されているようにインターフェイスをオフにすることはできません。
ネットワークケーブルが切断されているか、サーバーがダウンしているかをシミュレートする方法は?
ネットワークはDockerを使用して実行され、すべてのマシンは別々のDockerイメージです。
これを行う簡単な方法はありますか?
答え1
最初のステップは、各ドッカーイメージが独自のネットワークネームスペース内で実行されていることを確認し、各イメージを仮想インターフェイスで埋めることです。 1つのインターフェイスは(中断されない)「ローカルネットワーク」用で、もう1つのインターフェイスは(干渉)「WAN」です。
各ローカルネットワークインターフェイスはグローバルネームスペースの独自のインターフェイスに「接続」され、これらのインターフェイスはすべてブリッジに追加されます。この設定は、ローカルネットワークに「ケーブル接続」を提供します。その後、ネットワークに DHCP サービスを追加するか、静的割り当てを使用する必要があります。
各WANインターフェイスはグローバルネームスペースの独自のインターフェイスにも接続され、それらのすべては「WAN」配線を表す別のブリッジに追加されます。また、ブリッジには、シミュレートされたWANトラフィックが「実際の」WANに到達できるようにするデフォルトのホストIPがあります。これを行うには、トラフィックを指示するようにiptablesルールを設定し、そのルールに干渉するように変更できます。
異なるドッカーに異なる干渉を適用する場合は、それらを1つのブリッジにまとめるのではなく、別々のチャネルルールを持ち、個々の干渉に対してそのルールを操作する必要があります。あるいは、それをブリッジに導入して仮想ワイヤを操作することもできます(各ワイヤをその名前空間のコンパニオンインターフェイスに接続する)。