先封端口,再重启服务
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash function block() { local port=${1-80} iptables -I INPUT -p tcp -m tcp --syn --dport $port -j REJECT } function unblock() { local port=${1-80} iptables -D INPUT -p tcp -m tcp --syn --dport $port -j REJECT } function restart_service() { // stop // start } block 80 sleep 1 restart_service() sleep 1 unblock 80 |
注意:
- 要只封进入的syn包 (不包含syn-ack);否则可能影响正在执行中的请求
- 要REJECT , 不能drop;