IPtables 之“四表五链”
架构图
公司架构模式(酒店迎宾比喻)
IP tables
简介
IPtables
Linux防火墙工具,真正实现防火墙功能的是netfilter
,它是Linux内核中实现包过滤的内部结构;防火墙是干什么的呢?防止别人恶意访问,为了保证安全而存在;IP tables是上架构图中的“冰山一角”~
网络从设备驱动进入,往上走,netfilter是网络安全框架用于过滤,hook勾子函数!
- 防火墙的分类
防火墙种类 | 名称 |
---|---|
硬件防火墙 | [F5](F5设备_百度百科 (baidu.com)) |
软件防火墙 | iptables 和 firewalld |
云服务防火墙 | 安全组 |
包过滤防火墙
- 包:数据传输过程,并不是一次性传输完成的,而是将数据分成若干个数据包,一点一点传输;类似看视频,加载的缓存,不是一次性将视频加载出来,而是一点一点加载;
- 包过滤防火墙:过滤数据包的防火墙
Iptables如何过滤
iptables通过四表五链过滤各种规则
“四表”
filter、nat、mangle、raw
表名 | 作用 | 与链的关系 |
---|---|---|
filter表 | 过滤数据包 | INPUT、OUTPUT、FORWARD |
Nat表 | 用于网络地址转换(IP、端口) | PREROUTING、INPUT、OUTPUT、POSTROUTING |
Mangle表 | 修改数据包的服务类型、TTL、并且可以配置路由实现QOS | PREROUTING、INPUT、OUTPUT、POSTROUTING、FORWARD |
Raw表 | 决定数据包是否被状态跟踪机制处理 | PREROUTING、OUTPUT |
“五链”
PREROUTING、INPUT、OUTPUT、FORWARD、POSTROUTING
链名 | 处理机制 |
---|---|
INPUT链 | 进来的数据包应用此规则链中的策略 |
OUTPUT链 | 外出的数据包应用此规则链中的策略 |
FORWARD链 | 转发数据包时应用此规则链中的策略 |
PREROUTING链 | 主机外报文进入位置,所有的数据包进来的时侯都先由这个链处理,允许的表mangle, nat(目标地址转换,把本机地址转换为真正的目标机地址,通常指响应报文) |
POSTROUTING链 | 报文经过路由被转发出去,所有的数据包出来的时侯都先由这个链处理,允许的表mangle,nat(源地址转换,把原始地址转换为转发主机出口网卡地址) |
Iptables流程
完整流程
经常用filter和nat,filter和nat 版
如果有网络A,和网络B,或需要AB中间网络转换,运用上述流程该如何走?如下:
👉参考博文:https://www.cnblogs.com/clouders/p/6544584.html
👉[普罗米修斯官网文档](概述 |普罗 米修斯 (prometheus.io))
【IP tables待续】