centos防火墙iptables的配置简单整理

2018-07-13 21:27:10 143

CentOS中防火墙程序主要是firewall和iptables,CentOS7中默认用的firewall,并且已经预装好了服务,而之前的Centos需要自己安装,一般使用iptables,iptables是一套用来设置、维护和检查Linux内核的IP包过滤规则的命令包:如下命令可以使用iptables -L -n查看当前的防火墙状态:

[root@localhost ~]# iptables -L -n
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9399 
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:9319 
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED 
ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22 
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited 
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited


Chain OUTPUT (policy ACCEPT)

target     prot opt source               destination 清除iptables的所有规则命令:

iptables -F #清除预设表filter中的所有规则链的规则

iptables -X #清除预设表filter中使用者自定链中的规则

/etc/rc.d/init.d/iptables save #保存iptables设置到磁盘文件

[iptables里的预设规则],可以认为是兜底的规则,即没有进行单独设置的规则都走这个配置

[root@localhost ~]# iptables -P INPUT DROP         #对所有的INPUT进行拒绝
[root@localhost ~]# iptables -P OUTPUT ACCEPT      #对所有的OUTPUT进行放行
[root@localhost ~]# iptables -P FORWARD DROP       #对所有的FORWARD进行拒绝 [添加INPUT规则]:即允许本服务器的哪些PORT请求进入,例如我们要开启8888端口.假设你上面的OUTPUT是ACCEPT的,就不需要设置OUTPUT了。
[root@localhost ~]iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

#假设你上面的OUTPUT是DROP的,就还需要设置OUTPUT。

[root@localhost ~]iptables -I OUTPUT -p tcp --sport 8888 -j ACCEPT -I:指定是INPUT还是OUTPUT处理

-p:指定涉及的协议,比如常用的tcp.

--dport:目的端口 

--sport:来源端口 

-j:具体操作,是ACCEPT还是DROP

关于sport和dport的数据含义:input时: dport指本地,sport指外部。output时:dport指外部,sport指本地。

上面的命令中:iptables -I INPUT -p tcp --dport 8888 -j ACCEPT  即是指定进入本地目标8888端口的tcp协议全部放行进来,

iptables -I OUTPUT -p tcp --sport 8888 -j ACCEPT 即是指定从本地来源8888端口的tcp协议全部放行出去,

也可以直接编辑iptables的配置文件:vim /etc/sysconfig/iptables,在同一条端口反复加多了规则之后,可以发现配置文件中会有重复的行,这时直接编辑配置文件比较好。最后注意:如果不使用save命令保存配置文件,则重启iptables之后增加的配置即会丢失。


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: