第十二章:iptables与firewalld

一、linux系统防火墙底层原理

centos6与centos7的防火墙组件都是应用层面的东西,他们的底层都是基于内核的netfilter(这是 Linux 内核的一部分)

netfilter顾名思义就是网络过滤,而防火墙的本质恰恰就是对数据包进行过滤或者一些改动,
所以netfilter可以被称之为内核防火墙。

但是直接去操作内核模块netfilter来插入/修改一些规则必然是非常复杂的,因为没几个人有开发内核的能力

为了简单一点,有人就做了一些封装,形成了上层的应用,

这就是centos6或centos7+中防火墙组件的由来,都是应用层的东西、都是基于netfilter的封装

也就是说无论是6还是7的系统防火墙本质都是配置netfilter的,真正干活的其实是内核的netfilter

二、各个linux防火墙组件构成

三、iptables的五链四表设计

四、firewalld的新设计(更简单高效)

为啥在centos7中我用iptables命令查出来的结果发现多出了很多链,而不是五个基本的预定义链(INPUT、OUTPUT、FORWARD、PREROUTING、POSTROUTING)??????

因为firewalld使用了一种更复杂的策略来处理防火墙规则,新增了很多链对应到netfiler上,
而iptables与firewalld底层都是在操作netfilter表,

即netfilter表是二者共享的,所以firewalld新增东西,你用iptables当然能查出来!!!!

firewalld 通过添加额外的链和规则来支持区域(zones)概念。

其中每一个区域对应一个链,这样的设计使得 firewalld 可以更精细地控制不同类型的网络流量。
例如,它可以为一个特定的网络接口或者一个特定的 IP 地址范围定义不同的过滤规则。

此外,用户也可以自己创建自定义链。自定义链除了 iptables 自带的5个预定义链之外,由用户自定义的新链。
在自定义链中定义的规则需要被内置链引用才可以生效。

五、防火墙规则添加

六 一个有意思的案例

上一篇
下一篇
Copyright © 2022 Egon的技术星球 egonlin.com 版权所有 帮助IT小伙伴学到真正的技术