防火墙(iptables)是一种系统服务,位于:/etc/init.d/iptables
防火墙的配置信息,保存在这个文件中:/etc/sysconfig/iptables
防火墙服务的启动,停止,重启,查询状态,保存配置等命令如下:
# service iptables start/stop/restart/status/save


Linux 防火墙开放特定端口 (iptables)  

service  iptables  status        查看防火墙状态

service  iptables  start           开启防火墙

service  iptables  stop           关闭防火墙

service  iptables  restart        重启防火墙


防火墙开放特定端口:

①文件/etc/sysconfig/iptables    

 ②添加:

     -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT

       ★数字8080代表开放8080端口,也可以改成其他的端口★

③重启防火墙


================================================================


保存对防火墙的设置

serivce iptables save


查看iptables规则及编号

iptables -nL --line-number


关闭所有的INPUT FORWARD(转发) OUTPUT的所有端口

iptables -P INPUT DROP

iptables -P FORWARD DROP

iptables -P OUTPUT DROP




只打开22端口

iptables -A  INPUT -p tcp --dport 22 -j ACCEPT

iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT


参数讲解:

–A 参数就看成是添加一条规则

–p 指定是什么协议,我们常用的tcp 协议,当然也有udp,例如53端口的DNS

–dport 就是目标端口,当数据从外部进入服务器为目标端口

–sport 数据从服务器出去,则为数据源端口使用 

–j 就是指定是 ACCEPT -接收 或者 DROP 不接收


禁止某个IP访问

iptables -A INPUT -p tcp -s 192.168.1.2 -j DROP

–s 参数是来源(即192.168.1.2)

后面拒绝就是DROP 



删除规则

iptables -D INPUT 2

删除INPUT链编号为2的规则


对链或规则本身进行操作的iptable命令使用大写字母表示:
-A(Append)-D(Delete)-X( Delete)-I(Insert)-R(Replace)-L(List)-F(Flush)-N(New)-Z(Zero)-P(Policy)-E(rEname)
用于详细说明规则的选项用小写字母:
-p(Protocol)-s(Source)-d(Destination)-j(Jump)-i(Input)-o(Output)-g(Goto)-n(Number)-t(Table)-v(Verbose)-x(eXact)

列出完整的防火墙规则:


三张表(table):filter(过滤器,用于本机),nat(地址转换,用于后端),mangle(破坏者,很少用)。
三条链(chain):INPUT,FORWARD,OUTPUT;PREROUTING,POSTROUTING,OUTPUT。
四种操作(jump):接受(ACCEPT),拒绝(REJECT),丢弃(DROP),记录(LOG)。
几种状态(state):新建(NEW),已建立(ESTABLISHED);无效(INVALID),相关(RELATED)。


参考:

1. 超级详细的iptables介绍
http://blog.csdn.net/sdytlm/article/details/6544913


2. Linux防火墙 配置文件 iptables详解
http://www.blogjava.net/baizhihui19870626/articles/376350.html