工作中,在做断网、恢复网络的过程中,遇到很悲催的事情,那就是,我们是在远程VM上做的,断网后就再也连不上了,无法再恢复网络了。其实办法是有的,就是找部署VM的人,从VMware vSphere Client中恢复网络,不过就是麻烦。
这里有个好办法,可以方便的解决这个问题:
其实做断网、恢复网络的目的是测试和我们的程序相关的traffic,于是可以通过添加 iptable 规则来阻拦 来自/发往 特定 IP/端口 的数据包,就可以模拟断网了。然后删除这条 iptable 规则,就可以模拟恢复网络了。例如:
iptables -I OUTPUT -d $ip -j DROP
iptables -D OUTPUT -d $ip -j DROP