本文最后更新于 2023-12-17,文章内容可能已经过时。

centos7下配置防火墙

1、查看防火墙状态

systemctl status firewalld

image-20210610235804001.png

如果没有开启,请使用 systemctl start firewalld.service 开启防火墙

2、配置端口规则

例如放通ssh的22端口:

firewall-cmd --permanent --zone=public --add-port=22/tcp

image-20210611000248522.png

出现success表示成功添加

删除规则:

firewall-cmd --permanent --zone=public --remove-port=22/tcp

命令含义:

--permanent 永久生效,没有此参数只是临时生效,重启后失效

--zone 作用域

--add-port=22/tcp 添加端口

3、查看所有已开放的端口或配置的富规则

firewall-cmd --list-all

image-20210611000944657.png

4、配置富规则(rich rules)

例如我只想192.168.191网段的IP访问本机的3306端口,就可以使用如下命令配置:

firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.191.0/24" port protocol="tcp" port="3306" accept"

删除规则的话 ,使用如下命令配置:

firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.191.0/24" port protocol="tcp" port="3306" accept"

5、重启防火墙规则生效

完成规则配置后,重载防火墙配置

firewall-cmd --reload
image-20210611000643571.png

6、常用命令参考

参数 含义
--state 显示当前服务运行状态
--zone=public --list-ports 查看所有打开运行的端口
--reload 不重启立即加载
--list-all-zones 查看区域信息情况
--panic-on 拒绝所有包
--panic-off 取消拒绝状态
--query-panic 查看是否拒绝