1、查看防火墙状态
-
systemctl status firewalld
-
firewall-cmd --state
2、开启防火墙 -
systemctl start firewalld
3、关闭防火墙 -
systemctl stop firewalld
4、查看防火墙版本 -
firewall-cmd --version
5、查看帮助 -
firewall-cmd --help
6、设置防火墙开机自启 -
systemctl enable firewalld.service
-
systemctl enable firewalld
7、设置开机禁用防火墙 -
systemctl disable firewalld.service
-
systemctl disable firewalld
8、更新防火墙设置 -
firewall-cmd --reload
并不中断用户连接,即不丢失状态信息
9、查看防火墙已开放端口 -
firewall-cmd --list-all
ports:3306/tcp 3306即是已开放端口 -
firewall-cmd --zone=public --list-ports
-
firewall-cmd --list-ports
10、开启防火墙端口 -
firewall-cmd --zone=public --add-port=8080/tcp --permanent
zone #作用域
add-port=8080/tcp #添加端口,格式:端口/通讯协议
permanent #永久生效,没有此参数重启后实效
11、关闭防火墙端口 -
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
12、firewall-cmd其他相关介绍 -
查看区域信息:firewall-cmd --get-active-zones
-
查看指定接口所属区域:firewall-cmd --get-zone-of-interface=eth0 #值“eth0”根据设备实际情况而定
-
拒绝所有包:firewall-cmd --panic-on
-
取消拒绝所有包:firewall-cmd --panic-off
-
查看是否拒绝所有包:firewall-cmd --query-panic
13、扩展
systemctl 是centos7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:sytemctl enable firewalld.service
在开机时禁用一个服务:sytemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启用的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
14、Rich Rules设置
允许特定IP访问指定端口
#若已对所有IP开放端口,须先禁止访问(重要步骤)
firewall-cmd --permanent --zone=public --remove-port=3306/tcp
#允许192.168.1.1访问3306端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept"
#更新防火墙配置
firewall-cmd --reload
#删除规则
firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" port="3306" accept"
firewall-cmd --reload
禁止指定IP访问特定端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol"tcp" port="8088" reject"
禁止指定网段访问特定端口
firewall-cmd --permanent -add-rich-rule="rule family="ipv4" source address="192.168.0.0/24" port protocol="tcp" port="7444" reject"
允许指定IP访问所有端口
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.1" port protocol="tcp" accept"
删除默认开启服务(SSH为例)
firewall-cmd --permanent --zone=public --remove-service=ssh