firewalld 使用
环境信息
- Centos7 3.10.0-1160
firewalld
是 iptables
的一个封装,可以让你更容易地管理 iptables
规则, 它并不是 iptables
的替代品。虽然 iptables
命令仍可用于 firewalld
,但建议使用 firewalld
时仅使用 firewalld
命令。 [1]
firewalld
是 iptables
的前端控制器,用于实现持久的网络流量规则。它提供命令行和图形界面,在大多数 Linux 发行版的仓库中都有。与直接控制 iptables
相比,使用 firewalld
有两个主要区别:
firewalld
使用区域和服务而不是链式规则。- 它动态管理规则集,允许更新规则而不破坏现有会话和连接。
firewalld 配置说明
配置文件目录
配置文件位于两个目录中:
/usr/lib/firewalld/
下保存默认配置,如默认区域和公用服务。避免修改它们,因为每次firewall
软件包更新时都会覆盖这些文件。/etc/firewalld
下保存系统配置文件。 这些文件将覆盖默认配置。
配置集说明
firewalld
使用两个配置集: 运行时
和 持久
在系统重新启动或重新启动 firewalld
服务时,不会保留 运行时
的配置更改,而对 持久
配置集的更改不会应用于正在运行的系统。
默认情况下,firewall-cmd
命令适用于 运行时
配置,但使用 --permanent
选项将保存配置到 持久
配置中。
要添加和激活持久性规则,你可以使用以下两种方法之一:
- 将规则同时添加到持久规则集和运行时规则集中
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=http - 将规则添加到持久规则集中并重新加载
firewalld
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload--reload
选项会删除所有运行时
配置并应用持久
配置。因为firewalld
动态管理规则集,所以它不会破坏现有的连接和会话。