根据需求,外网可访问服务器一下端口:80、14490、14500、14460、14470、24461

               服务器可访问外部端口:80、25

               考虑到远程管理接口,添加22端口,考虑到上网需求,放行53端口。放行环回接口,icmp ping。

具体配置信息如下
[root@localhost sysconfig]# iptables -V
iptables v1.4.7
[root@localhost sysconfig]# iptables -S
-P INPUT DROP
-P FORWARD ACCEPT
-P OUTPUT DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m multiport --dports 80,14490,14500,14460,14470,24461 -j ACCEP
-A INPUT -p udp -m state --state NEW -m multiport --dports 14490,14500,14460,14470,24461 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --sport 22 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m multiport --dports 80,25 -j ACCEPT
-A OUTPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
-A OUTPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A OUTPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT

过程中遇到的情况:
1、不能ping 域名,之前也发现该问题,但一直没时间验证。
     发现在 OUTPUT DROP 时,不能telnet dns 53 端口。添加条目:
    -A OUTPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
    -A OUTPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
     这里包括了tcp、udp 两个协议端口。
 
    中间因为书写也出现过错误
     -A OUTPUT -p udp -m state --state NEW -m tcp --dport 53 -j ACCEPT
     这里条目书写错误,前后协议不匹配,但在iptables重启时,会报最后一行“COMMIT”错误。很悲哀,细活还得认真啊!

2、-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
     这里的条目放行已经建立连接的后续再链接,要添加。

3、-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
     对新建连接的放行
 
4、在书写条目是可以分开 INPUT 和 OUTPUT。便于查看、排错。
 
5、重启:service iptables restart
     保存:iptable-save > /etc/sysconfig/iptables
 
6、一定放行换回接口
    -A INPUT -i lo -j ACCEPT
    -A OUTPUT -o lo -j ACCEPT
 
7、icmp 放行
    -A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
     -A INPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT
     -A OUTPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
     -A OUTPUT -p icmp -m icmp --icmp-type 0 -j ACCEPT

8、部署完iptables后一般会重启iptables 服务,重启后一定执行 iptables -L -nv 查看是否生效。