基于linux的firewalld管理

Filewalld概述

Filewalld(动态防火墙)是redhat7系统中变更对于netfilter内核模块的管理工具,以分配对一个网络及其相关链接和界面一定程度的信任。它具备对 IP v4 和 IP v6 防火墙设置的支持。它支持以太网桥 , 并有分离运行时间和永久性配置选择。它还具备一个通向服务或者应用程序以直接增加防火墙规则的接口。

相较于传统的防火墙管理配置工具,firewalld支持动态更新技术并加入了区域(zone)的概念。
简单来说,区域就是firewalld预先准备了几套防火墙策略集合(策略模板),用户可以根据生产场景的不同而选择合适的策略集合。

两层结构

  • 核心层 处理配置和后端,如iptables、ip6tables、ebtables、ipset和模块加载器
  • 顶层D-Bus 更改和创建防火墙配置的主要方式。所有firewalld都使用该接口提供在线工具

firewalld的9个zone
    默认情况下,有以下的区域(zone)可用:

    drop – 丢弃所有传入的网络数据包并且无回应,只有传出网络连接可用。
    block — 拒绝所有传入网络数据包并回应一条主机禁止的 ICMP 消息,只有传出网络连接可用。
    public — 只接受被选择的传入网络连接,用于公共区域。
    external — 用于启用了地址伪装的外部网络,只接受选定的传入网络连接。
    dmz — DMZ 隔离区,外部受限地访问内部网络,只接受选定的传入网络连接。
    work — 非军事区,对于处在你工作区域内的计算机,只接受被选择的传入网络连接。
    home — 对于处在你家庭区域内的计算机,只接受被选择的传入网络连接。
    internal — 对于处在你内部网络的计算机,只接受被选择的传入网络连接。
    trusted — 允许所有的数据包。
不同的区域之间的差异是其对待数据包的默认行为不同,firewalld的默认区域为public


对于一个接受到的请求具体使用哪个zone,firewalld是通过三种方法来判断的:

1、source,也就是源地址 优先级最高

2、interface,接收请求的网卡 优先级第二

3、firewalld.conf中配置的默认zone 优先级最低

这三个的优先级按顺序依次降低,也就是说如果按照source可以找到就不会再按interface去查找,如果前两个都找不到才会使用第三个。


Firewalld与iptables对比

  •     firewalld 是 iptables 的前端控制器
  •     iptables 静态防火墙 任一策略变更需要reload所有策略,丢失现有链接
  •     firewalld 动态防火墙 任一策略变更不需要reload所有策略 将变更部分保存到iptables,不丢失现有链接
  •     firewalld 提供一个daemon和service 底层使用iptables
  •     firewalld自身并不具备防火墙的功能,而是和iptables一样需要通过内核的netfilter来实现

即firewalld和iptables一样,他们的作用都是用于维护规则,而真正使用规则干活的是内核的netfilter,只不过firewalld和iptables的结构以及使用方法不一样罢了。

firewalld的配置模式

firewalld的配置文件以xml格式为主(主配置文件firewalld.conf例外),他们有两个存储位置

1、/etc/firewalld/ 用户配置文件

2、/usr/lib/firewalld/ 系统配置文件,预置文件

管理配置firewalld的三种方法:

(1)图像化的配置工具 firewall-config ;

(2) 命令行工具 firewall-cmd;

(3)直接编辑firewalld的配置文件--xml文件;

命令行配置firewalld

临时配置与永久配置

Firewalld 有两个配置集:“runtime”和“permanent”。
runtime:在系统重新启动或重新启动 Firewalld时,不会保留运行时的配置更改;
permanent: 持久配置集的更改不会应用于正在运行的系统。(重新加载配置可以生效)

默认情况下,firewall--cmd 命令适用于运行时配置,但使用 --permanent 标志将保存到持久配置中

 firewall-cmd --zone=public --add-service=http 运行时配置,重启服务后失效
 firewall-cmd --permanent --zone=public --add-service=http 永久配置,不影响当前连接,重启后生效

 firewall-cmd --permanent --zone=public --remove-service=http  永久删除http服务,重启后生效

firewall-cmd --state                      

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值