web-dev-qa-db-ja.com

未接続のネットワークケーブルまたはサーバーのダウンをシミュレートするにはどうすればよいですか?

netem を使用してネットワーク遅延をシミュレートしました。次に、接続されていないネットワークケーブルまたはサーバーがダウンしたときのシミュレーションを行います。アプリケーションのテストを簡単にするためにこれが必要ですが、Web上で役立つものを見つけることができませんでした。私のサーバーは仮想CentOSインスタンスであり、Virtualbox上にあります。これをphpのWebページから実行したいと考えています。

14
SafeY

インターフェイスをダウンさせるだけです。たとえば、eth0の場合:

ip link set eth0 down

インターフェースを元に戻すには:

ip link set eth0 up
17
Chris Down

SSH経由で接続しているマシンで上位投票の回答を使用する場合、ネットワークを停止し、元に戻す方法はありません。以下は、SSH接続中にダウン状態にして、アップ状態に戻す方法です。

インターフェースens32の使用例:

実行すると:

ip link set ens32 down

また、SSHを介して接続している場合は、ネットワークを無効にしているため、サーバーにSSHで接続できないため、再度接続することはできません。

次のスクリプトを使用して、20秒のダウンタイムをシミュレートします。

#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up

それをdowntime.shとして保存し、ファイルに実行権限があることを確認してから実行します。

Sudo ./downtime.sh
7
Mocking

Virtualboxコンソールウィンドウで、[Machine]メニューがプルダウンされているはずです。その下にはいくつかのアクションがあります。その1つは電源オフです。すぐに電源を切るには、これを選択する必要があります。これは、物理サーバーの電源コードを引っ張ることに最も近いものです。

1
MelBurslan