FIrewalld 使用手册

什么是 Firewalld：它是 Centos 或类似系统下默认的防火墙系统，类似于 Ubuntu 的 ufw 系统。

Firewalld 的优点

使用 Firewalld 添加的出入站规则可以直接在运行环境中启用，不需要重启服务本身。

使用 Firewalld 提供的接口可以为服务，应用，和用户轻松的配置任何规则。

通过分离永久和内存中的规则，可以使用户实时对添加的规则进行评估。任何非永久添加的规则都会在下一次的热加载或服务重启时消失。而任何永久的规则会在重载后得以保留。通过这种方式，用户可以添加一些临时的设置。而如果配置已被评估完毕，并且成功运行，那么这项规则便可以添加至永久的设置中。

Firewalld 下载安装

下载并安装 firewalld 包：

Copy
sudo yum update && sudo yum install firewalld

Firewalld 规则配置

开放状态获取

查看区域：获取当前激活的区域，区域在大部分情况默认为 public

Copy
firewall-cmd --get-active-zones

列出规则：获取当前区域已配置的规则

Copy
firewall-cmd --zone=public --list-all

端口添加和关闭

开放端口：在 public 区域永久允许 5000 端口的 TCP 流量传输

Copy
firewall-cmd --zone=public --add-port=5000/tcp --permanent

firewalld 服务也支持开放一个地址段，比如 --add-port=5000-5500/tcp 即开放从 5000 到 5500 的所有 TCP 端口。

关闭端口：在 public 区域永久关闭 5000 的 TCP 端口

Copy
firewall-cmd --zone=public --remove-port=5000/tcp --permanent

服务添加和关闭

你可以使用防火墙内置的服务，也可以在添加端口时，自定义服务名使用 --service= 选项，查看这个 文档 了解更多。

获取服务：使用 --get-services 获取所有可开放的服务规则。

Copy
firewall-cmd --get-services

添加服务：使用 --add-service 添加一个内置的服务。

Copy
firewall-cmd --zone=public --add-service=http

启用添加的规则

热加载：使用 reload 热加载规则

Copy
firewall-cmd --reload

冷加载：使用 complete-reload 冷加载规则

Copy
firewall-cmd --complete-reload