说到防火墙不得不提到CentOS的版本差异:6及以前的版本只能使用iptables,7以上的版本可以使用firewalld 与 iptables。
一、firewalld 跟 iptables 比起来至少有两大好处:
- firewalld可以动态修改单条规则,而不需要像iptables那样,在修改了规则后必须得全部刷新才可以生效;
- firewalld在使用上要比iptables人性化很多,即使不明白“五张表五条链”而且对TCP/IP协议也不理解也可以实现大部分功能。
二、firewalld 与 iptables差异:
- firewalld服务默认拒绝,每个服务都需要去设置才能放行。
- iptables服务默认开放,需要拒绝的才去限制。
三、firewalld 与 iptables共性:
firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现,也就是说firewalld和 iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。
firewalld 的配置
0、CentOS7通常自带firewalld的,如果没有需要自行安装。
yum install firewalld
1、检查firewalld状态。
运行状态
firewall-cmd --state
锁定状态
service firewalld status
如果firewalld处于(masked)锁定状态,配置之前需要解锁:
systemctl unmask firewalld //解锁
systemctl mask firewalld //锁定
2、检查firewalld规则。
firewall-cmd --permanent --list-port
3、添加/删除规则
firewall-cmd --permanent --add-port=48489/tcp
firewall-cmd --permanent --remove-port=48489/tcp
4、重启/检查
service firewalld restart
firewall-cmd --permanent --list-port
5、设置开机启动
systemctl enable firewalld
6、firewalld上锁
systemctl mask firewalld