Firewalld

Firewalld提供一个动态管理的防火墙,支持网络/防火墙区域,定义网络连接或接口的信任级别。它支持IPv4、IPv6防火墙设置、以太网桥和IP集。有一个运行时和永久配置选项的分离。它还为服务或应用程序提供了一个接口,可以直接添加防火墙规则。

Firewalld提供一个动态管理的防火墙,支持网络/防火墙区域,定义网络连接或接口的信任级别。它支持IPv4、IPv6防火墙设置、以太网桥和IP集。有一个运行时和永久配置选项的分离。它还为服务或应用程序提供了一个接口,可以直接添加防火墙规则。

使用firewalld的优势

可以在运行时环境中立即进行更改。不需要重新启动服务或守护程序。

通过firewalld D-Bus接口,服务、应用程序以及用户可以简单地调整防火墙设置。该接口是完整的,用于防火墙配置工具firewall-cmd、firewall-config和firewall-applet。

运行时和永久配置的分离使得在运行时进行验证和测试成为可能。运行时配置只在下次服务重载和重启或系统重启前有效。然后永久配置将被再次加载。有了运行时环境,就有可能将运行时用于那些只应在有限时间内有效的设置。如果运行时配置已经被用于评估,并且它是完整的、可以工作的,那么就有可能把这个配置保存到永久环境中。

特点

  • 完整的D-Bus API
  • 支持IPv4、IPv6、网桥和ipset
  • 支持IPv4和IPv6 NAT
  • 防火墙区域
  • 预定义的区域、服务和icmp类型列表
  • 简单的服务、端口、协议、源端口、伪装、端口转发、icmp过滤器、丰富的规则、接口和源地址在区域中的处理。
  • 简单的服务定义,包括端口、协议、源端口、模块(netfilter辅助工具)和目标地址处理
  • 丰富的语言,用于在区域内制定更灵活和复杂的规则
  • 区域内定时的防火墙规则
  • 拒绝的数据包的简单日志
  • 直接接口
  • 锁定。将可能修改防火墙的应用程序列入白名单
  • 自动加载Linux内核模块
  • 与Puppet集成
  • 用于在线和离线配置的命令行客户端
  • 使用gtk3的图形化配置工具
  • 使用Qt5的小程序

谁在使用它?

firewalld在下列Linux发行版中作为默认的防火墙管理工具使用。

  • RHEL 7和更新的版本
  • CentOS 7和更新版本
  • Fedora 18和更新版本
  • SUSE 15和更新版本
  • OpenSUSE 15和更新版本
  • 可用于其他几个发行版

支持 firewalld 作为防火墙管理工具的应用程序和库包括。

  • NetworkManager
  • libvirt
  • podman
  • docker (仅支持iptables后端)
  • fail2ban