1. 查看防火墙状态,如果状态是dead 则表示未开启
systemctl status firewalld
2. 开启防火墙
systemctl start firewalld
3. 关闭防火墙
systemctl stop firewalld
4. 查看已开放的端口号
firewall-cmd --zone=public --list-ports
5. 重启防火墙
firewall-cmd --reload # 不改变任何状态 firewall-cmd --complete-reload # 状态信息将会丢失
6. 应急模式 阻断所有网络连接
firewall-cmd --query-panic
7. 开启端口号语法
firewall-cmd --add-port=3306/tcp
firewall-cmd --add-port=<port>[-<port>]/<protocol>
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd [--permanent] [--zone=<zone>] --add-port=<port>[-<port>]/<protocol>
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
[]:选填
<>:必填
[<zone>]:作用域(block、dmz、drop、external、home、internal、public、trusted、work)
<port>:端口号
[-<port>]:或者端口范围
<protocol>:端口协议(tcp、udp)协议目前支持这四种类型
[<seconds>]:过期时间,使用N秒后自动关闭(秒)
[--permanent]:永久设置,在重启后依然保证设置可用,如果不加此项,重启后端口会恢复关闭状态
8. 禁用端口号
firewall-cmd --remove-port=<port>[-<port>]/<protocol>
firewall-cmd [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
firewall-cmd [--permanent] [--zone=<zone>] --remove-port=<port>[-<port>]/<protocol>
9.开启、关闭开机自启防火墙
systemctl enable firewalld # 开启
systemctl disable firewalld # 关闭
systemctl is-enabled firewalld # 查看是否为开机启动
10. 查看可以打开的服务
firewall-cmd --get-services
11. 打开服务
firewall-cmd --add-service=http # http换成想要开放的service
firewall-cmd --permanent --add-service=http # 永久打开服务
12. 查看已经打开的服务
firewall-cmd --list-services
13. 启动防火墙报错
Failed to start firewalld.service: Unit is masked
14 解决
firewalld服务被锁定,不能添加对应端口
# 执行命令,即可实现取消服务的锁定
systemctl unmask firewalld
# 下次需要锁定该服务时执行
systemctl mask firewalld