#! /bin/bash # # drop some packets to simulate network traffic jam # Zhang junpu, 12 09 2021 # ip_arr=($@) # restore iptable rules function clean_up() { for i in ${ip_arr[*]}; do echo "[INFO] $i will be accpted" iptables -D OUTPUT -d $i -j DROP done echo "[INFO] main will quit" exit } function set_rules() { for i in ${ip_arr[*]}; do echo "[INFO] $i will be droped" iptables -I OUTPUT -d $i -j DROP done } # user can use `ctrl-c' to exit the loop trap clean_up SIGHUP SIGINT SIGTERM set_rules j=35 for ((i=1; i<=j; i++)) do sleep 1 echo "[INFO] sleep for $i,$j" done clean_up