centos6.5的iptables防火墙规则
#!/bin/bash
#
###########clear all chains#########
iptables --delete-chain
iptables --flush
###########defaulet policy#########
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
###########lo policy###########
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
###########input chains############################################
iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.1 -d 1.1.1.2 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 213.1.1.1 -d 1.1.1.2 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.2.3 -d 1.1.1.2 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.1.3 -d 192.168.1.2 --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -m iprange --src-range 1.1.1.1-1.1.1.93 -d 106.3.136.2 --dport 22 -m state --state NEW
-j ACCEPT
iptables -A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.58 -d 1.1.1.2 --dport 3173 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.4 -d 1.1.1.2 --dport 3173 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.3 -d 1.1.1.2 --dport 3173 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.1.3 --dport 3173 -j ACCEPT
####ftp#######
iptables -A INPUT -p tcp -m iprange --src-range 1.1.1.2-1.1.1.23 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.3 -d 106.3.136.2 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -s 1.1.1.4 -d 106.3.136.2 --dport 21 -j ACCEPT
iptables -A INPUT -i eth0 -m multiport -p tcp --dports 25,53,113,111,135,137,139,445,1433,4899 -j DROP
iptables -A INPUT -i eth0 -p udp --dport 1026 -j DROP
iptables -A INPUT -d 106.3.136.2 -p icmp --icmp-type 8 -m limit --limit 6/minute --limit-burst 10 -j ACCEPT ##DDOS
iptables -A INPUT -i eth0 -p icmp --icmp-type echo-request -j DROP ##DDOS
##iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 5 -j DROP
##iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP ##sync-flood
iptables -A INPUT -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP ##to prevent Xmas scanning
iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP ##
iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP ##to prevent TCP scanning.
iptables -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP ##to prevent scanning
iptables -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP ##to prevent connected and Disconnected packets
iptables -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j DROP ##To prevent an ACK cheat
iptables -I INPUT -p tcp --dport 22 -m connlimit --connlimit-above 7 -j REJECT
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST,ACK SYN -m limit --limit 20/sec --limit-burst 200 -j ACCEPT
###########output chains###########################################
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 53 -j ACCEPT
############forward chains#########################################
##iptables -A FORWARD -p icmp --icmp-type 11 -j DROP
iptables-save >/etc/sysconfig/iptables
因为开放了ftp服务,那么内核需要加载nf_conntrack_ipv4模块,
cat /proc/sys/net/netfilter/nf_conntrack_max跟踪连接值要设置的大点。