防火墙配置文件位置,可以直接修改这个文件配置
cat /etc/sysconfig/iptables
查看当前防火墙配置
iptables -nL --line-number
-n:不对ip地址进行反查,加上这个参数显示速度会快很多
-L:查看当前表的所有规则,默认查看的是filter表,如果要查看NAT表,可以加上-t NAT参数
--line-number:显示规则的序列号,这个参数在删除或修改规则时会用到
添加规则
添加规则有两个参数:-A和-I。其中-A是添加到规则的末尾;-I可以插入到指定位置,没有指定位置的话默认插入到规则的首部。
添加到首部
iptables INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
添加到末尾
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
添加到指定行
iptables -I INPUT 42 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
删除规则
删除第二行规则
iptables -D INPUT 2
-D 删除规则
保存配置,防火墙设置修改后必须保存并重启后才能生效。
保存配置
service iptables save
重启防火墙
service iptables restart
注意事项
我遇到过开放端口后依然不生效的问题,经查询是因为将开放端口规则加在了reject-with icmp-host-prohibited之后。
该规则功能为拒绝其他端口命令:
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
注意:
reject-with icmp-host-prohibited
这句话后面的所有规则都不会生效,添加规则必须在这条之前添加
参考文章:
http://www.linuxso.com/linuxpeixun/10332.html