Linux防火墙之通俗易懂的iptables五表五链解释
Posted 白-胖-子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux防火墙之通俗易懂的iptables五表五链解释相关的知识,希望对你有一定的参考价值。
Linux防火墙
- Netfilter 是Linux 2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统。
- Linux内核自带防火墙功能,防火墙的实现就是基于对数据包的过滤。
背景基础知识
- Linux操作系统对数据的处理都是通过内核来实现的,就像计算机的主要运算都是由CPU来完成的一样。
- 一个完整的Linux操作系统由最核心的内核,负责内核与外部交互的shell,以及其他外部应用程序组成
- Linux内核空间负责接收外部数据并通过系统调用与计算机硬件例如cpu内存打交道
内核中数据包的传输过程
- 当一个数据包进入网卡时,数据包首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去
- 如果数据包是进入本机的,数据包就会到达INPUT链。
- 数据包到达INPUT链后,任何进程都会收到它。
- 本机上运行的程序可以发送数据包,这些数据包经过OUTPUT链,然后到达
POSTROUTING链输出 - 如果数据包是要转发出去的,且内核允许转发,数据包就会经过FORWARD链,然后到达POSTROUTING链输出
传说中的五表五链
五链
INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING
- INPUT, 进内核(包含:filter,mangle)
- OUTPUT, 出内核(包含:filter,nat,mangle,raw)
- FORWARD, 转发(包含:filter,mangle)
- PREROUTING,前置路由检查(包含:nat,mangle,raw)
- POSTROUTING 后置路由检查(包含:nat,mangle,raw)
五表
security -->raw-->mangle-->nat-->filter
- filter:过滤规则表,根据预定义的规则过滤符合条件的数据包,默认表
- nat:network address translation 地址转换规则表
- mangle:修改数据标记位规则表
- raw:关闭启用的连接跟踪机制,加快封包穿越防火墙速度
- security:用于强制访问控制(MAC)网络规则,由Linux安全模块(如SELinux)实现
三种报文流向
- 流入本机:PREROUTING --> INPUT–>用户空间进程
- 流出本机:用户空间进程 -->OUTPUT–> POSTROUTING
- 转发:PREROUTING --> FORWARD --> POSTROUTING
通俗易懂的解释
- 内核就可以理解为首都
- 五链就可以理解为五个检查站
- 五表就可以理解为防疫防暴防xx等政策
- 数据包或者数据报文就可以理解为开着小车打算进京或者离京的你
进京 数据报文流入本机
- PREROUTING 链 即进京检查站
- 规则包含:nat,mangle,raw
- 看你有没有48小时核酸,办没办进京证,符不符合防疫要求
- 如果都符合,就放行-》INPUT链
- 如果发现只是路过北京,劝解绕行G95或者六环 (转发)
- 如果不符合则直接劝返(Drop)
出京 数据报文由内核出去
- OUTPUT–> POSTROUTING 链
- 规则包含:filter,nat,mangle,raw
- 单位或者报备,是否符合防疫要求,谁审批谁负责
- 符合要求才允许离京,非必要不离京,杜绝恶意返乡
以上是关于Linux防火墙之通俗易懂的iptables五表五链解释的主要内容,如果未能解决你的问题,请参考以下文章