Firewalld学习笔记

Firewalld 是一个基于 D-Bus 的动态防火墙管理器,旨在提供一个易于使用的防火墙前端,以便管理规则和网络连接。相比于 Ubuntu 中的 ufw,Firewalld 功能更为丰富,并支持更多的网络配置选项和规则控制。【摘自chatgpt】

以下命令基于Rocky Linux。

# 安装firewalld
dnf install firewalld
# 启动firewalld服务
systemctl start firewalld
# 允许firewalld开机自启
systemctl enable firewalld
# 重启/重新加载firewalld服务
systemctl restart/reload firewalld
# 重新加载firewall-cmd服务
firewall-cmd --reload
# 查看firewall服务状态
systemctl status firewalld
# 列出防火墙中所有已经打开的端口
firewall-cmd --list-ports
# 查看public区域的规则
firewall-cmd --list-all --zone=public

1、firewalld区域

firewalld区域

firewalld默认区域就是public。添加/删除防火墙规则,默认会被应用到public区域,如果想添加/删除public区域的规则,则不需要指定--zone=public参数。

2、firewalld开放和关闭端口(如果添加/删除防火墙规则,要应用到其他区域,则应加上--zone=xxx参数。

# 添加端口号为 80 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=80/tcp --permanent
# 添加端口号为 443 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=443/tcp --permanent
# 添加端口号为 22 的 TCP 协议规则到防火墙配置中,并永久生效。
firewall-cmd --add-port=22/tcp --permanent

# 注:添加了端口号记得重载重新加载防火墙配置
firewall-cmd --reload

# 从防火墙配置中删除端口号为 80 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=80/tcp --permanent
# 从防火墙配置中删除端口号为 443 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=443/tcp --permanent
# 从防火墙配置中删除端口号为 22 的 TCP 协议规则,并永久生效。
firewall-cmd --remove-port=22/tcp --permanent