O módulo random
no iptables pode ser usado para criar perda de pacotes.
Para uma perda de pacotes de entrada de 10%:
$ sudo iptables -A INPUT -m statistic --mode random --probability 0.1 -j DROP
Resultando neste resultado de ping de outro computador:
--- rpi01-wifi.smythies.com ping statistics ---
247 packets transmitted, 217 received, 12% packet loss, time 246752ms
rtt min/avg/max/mdev = 0.958/4.933/169.588/17.884 ms
Da mesma forma para pacotes de saída:
$ sudo iptables -A OUTPUT -m statistic --mode random --probability 0.1 -j DROP
Resultando neste resultado de ping de outro computador:
--- rpi01-wifi.smythies.com ping statistics ---
1006 packets transmitted, 871 received, 13% packet loss, time 305146ms
rtt min/avg/max/mdev = 0.892/7.363/476.902/35.397 ms, pipe 2
Combinando a perda de pacotes forçada de INPUT
e OUTPUT
, mas com uma probabilidade de 0,5% cada:
$ sudo iptables -A INPUT -m statistic --mode random --probability 0.005 -j DROP
$ sudo iptables -A OUTPUT -m statistic --mode random --probability 0.005 -j DROP
Resultados em:
--- rpi01-wifi.smythies.com ping statistics ---
1000 packets transmitted, 967 received, 3% packet loss, time 253840ms
rtt min/avg/max/mdev = 0.876/7.583/536.867/36.065 ms, pipe 3
Veja também aqui .