今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了, 后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用redhat的, 看来它们两个除了商业支持与否之外还是有点差异啊
度娘是这样说的
CentOS7使用的是Linux Kernel 3.10.0的内核版本,新版的Kernel内核已经有了防火墙netfilter
,并且
firewalld的
使用效能更高,稳定性更好
。
CentOS7配置防火墙的两种方法:
方法1:(配置文件修改)
cp /usr/lib/firewalld/services/http.xml /etc/firewalld/services/
firewall-cmd --reload
方法2: (命令, 我喜欢这个)
##Add
firewall-cmd --permanent --zone=public --add-port=80/tcp
##Remove
firewall-cmd --permanent --zone=public --remove-port=80/tcp
##Reload
firewall-cmd --reload
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
其中,方法二的配置方式是间接修改/etc/firewalld/zones/public.xml文件,
方案一也需要在public.xml里面新增<service name="http"/>,否则http的防火墙规则不会生效,
而且两种配置方式都需要重新载入防火墙。
查看防火墙状态
systemctl status firewalld.service
启动防火墙
systemctl start firewalld.service
关闭防火墙
systemctl stop firewalld.service
重新启动防火墙
systemctl restart firewalld.service