下面给出简单的iptables规则定义的步骤与方法:
第一步:清楚所有以定义的规则和用户自定义规则
#iptables -F
#iptables -X
#iptables -Z
第二步:设置默认政策,这里为了安全和方面控制,把所有默认政策设置为丢弃(DROP)
#iptables -P INPUT DROP
#iptables -P FORWARD DROP
#iptables -P OUTPUT DROP
第三步:禁止ping服务器
#/bin/echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all
第四步:禁止ip转发
#/bin/echo "0" > /proc/sys/net/ipv4/ip_forward
第五步:允许本地环路
#iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
第六步:确保tcp连接是合法的syn数据包
#iptables -A INPUT -i eth0 -p tcp ! --syn -m state --state NEW -j DROP
第七步:打开ssh端口(即22端口)
#iptables -A INPUT -i eth0 -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
第八步:打开ftp端口(即21端口)
#iptables -A INPUT -i eth0 -p tcp --sport 21 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --dport 21 -m state --state NEW,ESTABLISHED -j ACCEPT
第九步:打开www端口(即80端口)
#iptables -A INPUT -i eth0 -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -o eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
第十步:保存
#iptables-save > iptables-script
#iptables-restore iptables-script
或者
#service iptables save