firewalld 介绍
Linux 用户对 firewalld 应该不会陌生,firewalld 是一款动态防火墙管理器,用于实现持久网络流量规则的 iptables 和 nftables 的前端控制器。它提供命令行和图形界面 (firewall-config),firewalld 名称遵循 Unix 命名系统守护程序的约定,即在最后附加字母“d”。
firewalld 服务使用 zone (区域) 来控制防火墙访问。zone 是针对各种信任级别的预先构建的规则集。您可能有一个用于给定位置或场景的区域,例如家庭、公共或受信任的区域。不同的区域启用不同的网络服务和传入流量类型,同时拒绝其他一切。
firewalld 比 iptables 更容易管理和配置。与 iptables 相比,不需要编写一连串的连锁、跳转、接受和拒绝。它提供了一种非常灵活的方式来配置防火墙,即动态管理规则集,允许用户在不中断现有会话和连接的情况下进行更新,更改可以在运行时环境中立即完成,不需要重新启动服务或守护程序。
firewalld 在以下 Linux 发行版中被作为默认的防火墙管理工具:
- Red Hat Enterprise Linux 7 及更新版本
- CentOS 7 及更新版本
- Fedora 18 及更新版本
- SUSE Linux Enterprise 15 及更新版本
- OpenSUSE Leap 15 及更新版本
上述的发行版会默认启动 firewalld。而其他的一些发行版中(如:Debian、 Ubuntu)也可以在软件库中找到 firewalld,作为选择之一。
firewalld 作为防火墙管理工具需要以下软件和库的支持:
- NetworkManager
- libvirt
- podman
- docker (仅在后端使用 iptables 时需要)
- fail2ban
firewalld 1.0.0
而在距离首次发布十年后,Firewalld 终于来到了 1.0 版。firewalld 1.0.0 是一个主要版本,它优化和修改了很多地方,最显着的变化是默认放弃了对 Python 2 的支持和对区域内转发的支持。同时也修复了 0.9.0 版本中存在的而一些错误。
亮点包括:
- 减少依赖性
- 默认域内转发
- NAT 规则移至 inet 系列 (减少规则集)
- 默认目标现在类似于拒绝
- ICMP 禁用和禁用反转仅适用于输入,不适用于转发
- tftp-client 服务已被移除
- 不推荐使用 iptables 后端
- 直接接口已弃用
- CleanupModulesOnExit 默认为 no
关于 firewalld 1.0 所有变化的信息,可以参考官方公告。