iptables防火墙的脚本
/sbin/modprobe ip_tables /sbin/modprobe ip_nat_ftp iptables -F iptables -X iptables -Z # 默认规则 iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP # 限制数据包数量 /sbin/iptables -A INPUT -f -m limit --limit 100/sec --limit-burst 100 -j ACCEPT /sbin/iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT /sbin/iptables -A INPUT -p icmp -m limit --limit 12/min --limit-burst 2 -j DROP #ssh 规则 iptables -t filter -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 22 -j ACCEPT #www-ftp-mail-dns 规则 iptables -t filter -A INPUT -i eth0 -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -o eth0 -p tcp --sport 80 -j ACCEPT #ICMP 规则 iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A INPUT -p icmp --icmp-type echo-reply -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-request -j ACCEPT iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT 防御DDOS***的脚本 #!/bin/bash netstat -an|grep SYN_RECV|awk '{print$5}'|awk -F: '{print$1}'|sort|uniq -c|sort -rn|awk '{if ($1>5) print$2}'>/tmp/dropip for i in $(cat /tmp/dropip) do /sbin/iptables -I INPUT -s $i -j DROP echo “$i kill at `date`” >>/var/log/ddos done