说明
CentOS 7系统默认的防火墙是Firewalld,但是有部分习惯使用iptables了。而且很多文章都是使用的iptables 的配置。
下面就介绍一下,如何关闭默认的Firewalld。并改为iptables 防火墙。
步骤
1.关闭Firewalld
为了防止两个防火墙冲突,我们先关闭Firewalld .
我们可以先查询Firewalld 是否运行,如果没有运行我们就可以不用关闭了。
查询指令:systemctl status firewalld
如果Active:active(running)
就代表运行状态,我们需要进行关闭
关闭指令:systemctl stop firewalld
。
然后再执行禁止开机启动:systemctl status firewalld
2. 安装iptables
安装指令:yum install -y iptables-services
启动iptables防火墙:systemctl start iptables
启动之后,我们也可以通过systemctl status iptables
查询当前防火墙的运行状态。
这个和上面的Filewalld查询状态方法是类似的。但是Active : active(exited)
就代表运行成功了
设置iptables 开机启动:systemctl enable iptables.service
ps: 你如果想验证是否安装和配置正确了,可以执行重启系统指令然后查看结果
重启系统指令:systemctl reboot
3.设置iptables指令
之后根据需求可以进行指令的配置了。
例如:设置指定端口放行。下面就是设置80http端口和22ssh端口放行。
iptables -I INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
iptables -I INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT
如果想设置的指令生效
我们可以执行:iptables -L
使指令生效。
如果设置的规则有问题,我们可以使用iptables -F
清空所有的规则。
(ps:防火墙的规则配置有点敏感,请不要随意尝试。如果不小心弄错了端口。造成无法远程的时候,你要有把握能够线下调试。否则问题就大了。)
评论区