我用netem模拟了网络延迟,这很棒。现在我想模拟未插入的网线或服务器出现故障时。我需要这个来简化我的应用程序的测试,但我在网上找不到任何对我有帮助的东西。我的服务器是虚拟 CentOS 实例,它们位于 Virtualbox 上。我想从一个 php 网页上做到这一点。
Chr*_*own 19
只需将界面关闭即可。例如,使用 eth0:
ip link set eth0 down
Run Code Online (Sandbox Code Playgroud)
要恢复界面:
ip link set eth0 up
Run Code Online (Sandbox Code Playgroud)
Moc*_*ing 10
在通过 SSH 连接的机器上使用投票最高的答案时,您将关闭网络并且无法将其恢复。以下是一种在 SSH 连接时关闭和重新启动的方法。
使用接口示例ens32:
如果你运行:
ip link set ens32 down
Run Code Online (Sandbox Code Playgroud)
并且您正在通过 SSH 连接,您将无法再次启动它,因为您已禁用网络,因此无法通过 SSH 连接到您的服务器。
我使用以下脚本来模拟 20 秒的停机时间:
#!/bin/sh
ip link set ens32 down
sleep 20
ip link set ens32 up
Run Code Online (Sandbox Code Playgroud)
保存为downtime.sh,确保文件有执行权限,然后运行:
sudo ./downtime.sh
Run Code Online (Sandbox Code Playgroud)