1、traffic control
参考文献:https://wiki.linuxfoundation.org/networking/netem
注入延时故障:
tc qdisc add dev eth0 root netem delay 100ms 10ms 25% #延时时长100ms ±10ms 25% 为与上一个包时长的相关系数
注入丢包故障:
tc qdisc add dev eth0 root netem loss 0.3% 25% #有0.3%的包丢失,25%为相关系数,详情参考文献中有
注入包重复故障:
tc qdisc add dev eth0 root netem duplicate 1% #数据包重复的概率为1%,改成95%才能在短时间出效果,用ping www.baidu.com 可以看出有DUP
注入随机故障:
tc qdisc add dev eth0 root netem corrupt 0.1% #说是随机,ping的时候只看到了丢包
注入乱序故障:
tc qdisc add dev eth0 root netem delay 10ms reorder 25% 50% #25%的包正常发送,其余的延时10ms
除了ping 也可以用tc qdisc 看规则是否加上了,来检查命令是否执行成功
PS: 以上命令都是只能add 一次,需修改将add 改为change ,需删除用tc qdisc del dev eth0 root
2、模拟网络闪断
ip link set eth0 down
sleep(1)
ip link set eth0 up
循环执行,设置一下循环次数和sleep时间,ifdown eth0 和ifup eth0 也可以,不过说是快被淘汰了