接続されていないネットワークケーブルまたはサーバーのダウンをシミュレートする方法は?


14

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

回答:


17

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

ip link set eth0 down

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

ip link set eth0 up

ありがとう、私はそれについてここで
-SafeY

1
それip link set eth0 upは正常に動作していますが、動作していません:(と私は両方を必要としています
-SafeY

@NancySmith「機能していません」は意味がありません。どのようなエラーメッセージが表示されますか?IPとネットマスクを割り当てましたか?
クリスダウン

私はip link set eth0 downphp経由で使用したことを意味し、pingは私のサーバーに到達できないことを示しています。それから私はそれを「アップ」に戻したかった、私はip link set eth0 upphp経由で実行し、サーバーはまだダウンした。
SafeY

3
@NancySmith(ルートなどを使用して)接続先にアクセスできない別のネットワークインターフェイスを作成します。そのインターフェイスを使用してホストにSSHで接続します。SSHに接続していないインターフェイスを停止します。
クリスダウン

7

SSH経由で接続しているマシンで上位の回答を使用すると、ネットワークが停止し、ネットワークを再起動する手段がなくなります。以下は、SSH接続中にそれを停止し、再起動する方法です。

インターフェイスを使用した例ens32

実行する場合:

ip link set ens32 down

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

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

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

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

sudo ./downtime.sh

1
良いもの。ダウンにどのインタフェースがわからない人のためにも、関連するリンク:unix.stackexchange.com/questions/125400/...
Jeutnarg

1
erm ...私はLinuxの初心者ですが、ここにいくつかの悪いアドバイスがあると思います。このスクリプトを実行しないと、実行すると、セッションが切断され(切断のため)、スクリプトが停止します(ネットインターフェースは復活しません)。nohupの周りを読むことは価値があると思います!
DraxDomax

@DraxDomaxあなたの言うことは論理的に聞こえますが、戻ってこないという問題はありませんでした。私は受け入れられた答えに問題がありましたが。
モッキング

@Mocking申し訳ありませんが、コメントを編集できませんでした。必ずしも「悪いアドバイス」ではありません。この質問に答える人の90%が同じことをしようとしているため、実際には良いプロアクティブな回答です。「マシンの切断後にソフトウェアが動作するかどうかをテストする必要があります。仮想化ホストにアクセスできません」 。実際、私はあなたのスクリプトに頼りました(私のアダプターはbr0でした)-私の場合(MacOSからCentOSへのSSH)には機能しませんでした。
DraxDomax

1

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


Webページからこれをしたいです。どうやら私はマシンの電源を切る方法を知っています。
SafeY

そして私はそれを偽造したくありません。本当にシャットダウンして再起動する必要はありません。
SafeY

の言及から判断するnetemと、質問は本当に電源ケーブルではなく、サーバーからネットワークケーブルを取り外すことに関するものだと思います(明確ではありませんが)。
クリスダウン

質問をより明確にするために編集します、ありがとう
-SafeY
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.