Firewalld简介
支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具,支持IPv4、IPv6防火 墙设置以及以太网桥,支持服务或应用程序直接添加防火墙规则接口。
拥有两种配置模式
1.运行时配置
2.永久配置
Firewalld和iptables的关系
netfilter:
位于Linux内核中的包过滤功能体系称为Linux防火墙的“内核态”
Firewalld/iptables:
CentOS7默认的管理防火墙规则的工具(Firewalld)称为Linux防火墙的“用户态”
Firewalld和iptables的区别:
Firewalld | iptables | |
---|---|---|
配置文件 | /us/ib/firewalld/、 /etc/sysconfig/iptables | /etc/firewalld/ |
对规则的修改 | 不需要全部刷新策略,不丢失现行连接 | 需要全部刷新策略,丢失连接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
Firewalld网络区域
区域介绍:
- 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则;
- 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口;
- 默认情况下,public区域是默认区域,包含所有接口(网卡)。
区域 | 描述 |
---|---|
drop (丢弃) | 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接 |
block (限制) | 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝 |
public (公共) | 在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接 |
external (外部) | 特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接 |
dmz (非军事区) | 用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接 |
work (工作) | 用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接 |
home (家庭) | 用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接 |
internal (内部) | 用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接 |
trusted (信任) | 可接受所有的网络连接 |
Firewalld数据处理流程:
检查数据来源的源地址
- 若源地址关联到特定的区域,则执行该区域所指定的规则;
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则;
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则。
Firewalld防火墙的配置方法
运行时配置
- 实时生效,并持续至Firewalld重新启动或重新加载配置
- 不中断现有连接
- 不能修改服务配置
永久配置
- 不立即生效,除非Firewalld重新启动或重新加载配置
- 中断现有连接
- 可以修改服务配置
/etc/firewalld/中的配置文件
Firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/lib/firewalld/中的配置
- /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/ib/firewalld/中拷贝
- /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可直接删除/etc/firewalld/中的配置