自学内容网 自学内容网

Firewalld 防火墙

1. 概述

在 RHEL7 系统中,firewalld 防火墙取代了传统的 iptables 防火墙。iptables 的防火墙策略是通过内核层面的 netfilter 网络过滤器来处理的,而 firewalld 则是通过内核层面的 nftables 包过滤框架来处理。firewalld 提供了更为丰富的功能和动态更新技术,并引入了区域(zone)的概念,使得防火墙策略的管理更加灵活和高效。

2. 区域(Zone)概念

firewalld 引入了区域的概念,即预先准备了几套防火墙策略集合(策略模板)。用户可以根据生产场景的不同,选择合适的策略集合,从而实现防火墙策略之间的快速切换。

常用的区域名称及策略规则

区域名称默认策略规则
trusted允许所有的数据包进出
home拒绝进入的流量,除非与出去的流量相关;允许 ssh、mdns、ipp-client、amba-client 与 dhcpv6-client 服务的进入流量
Internal等同于 home 区域
work拒绝进入的流量,除非与出去的流量相关;允许 ssh、ipp-client 与 dhcpv6-client 服务的进入流量
public拒绝进入的流量,除非与出去的流量相关;允许 ssh、dhcpv6-client 服务的进入流量
external拒绝进入的流量,除非与出去的流量相关;允许 ssh 服务的进入流量
dmz拒绝进入的流量,除非与出去的流量相关;允许 ssh 服务的进入流量
block拒绝进入的流量,除非与出去的流量相关
drop拒绝进入的流量,除非与出去的流量相关

注意:firewalld 默认出口是全放开的。

3. 动静态更新技术

iptables 的每一个更改都需要先清除所有旧有的规则,然后重新加载所有的规则(包括新的和修改后的规则)。而 firewalld 的任何规则变更都不需要对整个防火墙规则重新加载,支持动态更新技术,大大提高了管理效率。

4. 配置文件

firewalld 的主配置文件是 firewalld.conf。防火墙策略的配置文件以 xml 格式为主,存放在以下两个目录里:

  • /etc/firewalld:用户配置文件
  • /usr/lib/firewalld:系统配置文件,包含预定义配置文件

5. 管理方式

firewalld 提供了基于 CLI(命令行界面)和基于 GUI(图形用户界面)两种管理方式:

  • CLI 工具firewall-cmd(终端管理工具)
  • GUI 工具firewall-config(图形管理工具)

firewall-cmd 命令参数

参数作用
--get-default-zone查询默认的区域名称
--set-default-zone=<区域名称>设置默认的区域,使其永久生效
--get-zones显示可用的区域
--get-services显示预定义的服务
--get-active-zones显示当前正在使用的区域、来源地址和网卡名称
--add-source=将源自此 IP 或子网的流量导向指定的区域
--remove-source=不再将源自此 IP 或子网的流量导向这个区域
--add-interface=<网卡名称>将源自该网卡的所有流量都导向某个指定区域
--change-interface=<网卡名称>将某个网卡与区域进行关联
--list-all显示当前区域的网卡配置参数、资源、端口以及服务等信息
--list-all-zones显示所有区域的网卡配置参数、资源、端口以及服务等信息
--add-service=<服务名>向指定区域添加服务

(注意:--add-service=<服务名> 参数的作用在表格中被截断,应理解为向指定区域添加预定义的服务)

6. 总结

firewalld 防火墙以其丰富的功能、动态更新技术和区域管理概念,在 RHEL7 系统中成为了 iptables 的有力替代者。通过灵活的区域设置和高效的配置管理,firewalld 使得防火墙策略的管理变得更加简单和高效。无论是通过 CLI 还是 GUI 方式,用户都能轻松地进行防火墙策略的配置和管理。


原文地址:https://blog.csdn.net/qq_51678989/article/details/140157204

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!