iptables四表五链
本文收录于微信公众号「 LinuxOK 」,ID为:Linux_ok,关注公众号第一时间获取更多技术学习文章。
如下是具有双网卡的Linux服务器,数据入口网卡是eth0,数据出口网卡是eth1:
而Linux防火墙的工作区域为下图中的绿色阴影部分(防火墙的概念这里不赘述):
Linux系统中防火墙功能的两大角色:iptables和netfilter。iptables是Linux系统下应用层内置控制防火墙的工具,netfilter则是防火墙功能的具体实现,是内核空间的功能模块。所谓的iptables“控制”防火墙,就是用户利用iptables将防火墙规则设置给内核的netfilter功能模块,这中间涉及“四表五链”:
“四表五链”其实是对用户设置规则的管理,是看待用户设置的规则的两个维度。举个例子,看图中深蓝色箭头的数据流向,数据包要到达用户层,需要经过PREROUTING链(路由前链),INPUT链(输入链),在这个链路中存放着用户设置的规则,这些规则根据功能不同又会被分组存放在RAW表、Mangle表和NAT表中。当数据包抵达PREROUTING链时,netfilter程序会依次从RAW表、Mangle表和NAT表中取出针对PREROUTING链的用户规则并执行相应操作;同理,INPUT链上的规则也会被分组存放在Mangle表和Filter表中,netfilter程序会依次从这两个表中取出针对INPUT链设置的用户规则并执行相应操作。(特别强调,转发的数据包不经过 OUTPUT 链)
其他链同理。
这里需要强调的一点是FORWARD链,它是转发链,也就是说只有在网卡个数**>=2的系统中才具有的功能:开启系统转发功能后,当网络层发现数据包并非发给本机时会从另一网卡转发出去。中间经过FORWARD链,FORWARD链上的规则由Filter表、Mangle表读取操作。所以对于单网卡的系统中,上图应更改为:
综上,Linux将用户规则依据功能和规则所处链路位置**进行分组,“四表”存放着功能一致的规则,“五链”存放着数据包所处链路一致的规则。
这四个表分别存放什么功能的规则?如下归类:
Filter表:过滤数据包
NAT表:用于网络地址转换(IP、端口)
Mangle表:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
Raw表:决定数据包是否被状态跟踪机制处理
五条链分别存放什么链路的规则?如下归类:
INPUT链——进来的数据包应用此规则链中的规则
OUTPUT链——外出的数据包应用此规则链中的规则
FORWARD链——转发数据包时应用此规则链中的规则
PREROUTING链——对数据包作路由选择前应用此链中的规则
POSTROUTING链——对数据包作路由选择后应用此链中的规则
最后附另一张“四表五链”图,该图来源自网络,相当经典:
iptables四表五链相关推荐
- iptables总结--理解四表五链/snat/dnat/redirect/synproxy/性能
1. iptables四表五链 四表五链: 链就是位置:共有五个 进路由(PREROUTING).进系统(INPUT) .转发(FORWARD).出系统(OUTPUT).出路由(POSTROUTING ...
- Linux系统管理(3)——防火墙 iptables基本原理 四表五链 NetFilter 概述
Linux防火墙主要就行工作的部分在内核,这个模块叫NetFilter:我们平时配置的iptables是给我们的一个配置界面,我们通过iptables配置规则,配置之后,NetFilter通过这些规则 ...
- Firewalld,iptables概述(netfilter和Firewalld,iptables三者之间的关系,四表五链,Firewalld防火墙的配置方发,SNAT,DNAT了解)
文章目录 Firewalld,iptables概述 Firewalld了解 iptables了解 Firewalld和iptables的关系 netfilter Firewalld.iptables ...
- 云小课 | 守护网络安全不是问题,iptables的四表五链为你开启“八卦阵”
摘要:担心网络基本安全?iptables八卦阵为您守护!本文带您一起了解iptables的相关知识. 网络世界就和现实世界一样,总是会有些不怀好意的"人"出现,扫扫你的端口啊,探测 ...
- Linux--firewalld防火墙基础(firewalld和iptables的关系,四表五链,netfilter与iptables的关系,iptables语法与参数,firewalld网络区域)
文章目录 前言 一:Firewalld,iptables概述 1.1:Firewalld简介 1.2:iptables简介 二:Firewalld和iptables的关系 2.1:netfilter ...
- TCP三次握手、tcp和udp对比、四表五链
(1)简述TCP的三次握手 第一次握手:客户端请求建立连接时,会将标志位SYN置为1,随机产生一个值seq=J,并将该数据包发送给服务器,客户端进入SYN_SENT状态,等待服务器确认. 第二次握手: ...
- iptables之三表五链
一.iptables概述 1. iptables的概述 iptables 实际上就是一种包过滤型防火墙. 就是通过书写一些接受哪些包,拒绝哪些包的规则,实现数据包的过滤.这些规则存储在专用的信息包过滤 ...
- iptables的三表五链
iptables命令 Iptabels是与Linux内核集成的包过滤防火墙系统,几乎所有的linux发行版本都会包含Iptables的功能. netfilter/iptables过滤防火墙系统是一种功 ...
- iptables的表和链结构详解
iptables总的结构 iptables 其实是多个表(table)的容器,每个表里包含不同的链(chain),链里边定义了不同的规则(policy),我们通过定义不同的规则,来控制数据包在防火墙的 ...
最新文章
- SPI时钟极性、时钟相位及片选
- struts2的bean类名首字母和第二个字母都不能大写
- Android笔记:Activity
- 内存泄漏 和 内存溢出
- github 进阶说明
- 存储过程没有执行完后没有释放锁_面试必问---synchronized实现原理及锁升级过程你懂吗?...
- kinux查日志_Linux查看日志常用命令
- Android逆向笔记-通过字符串定位跳转点
- CV+游戏,美国游戏开发公司 Rockstar Games 寻找优秀动画程序员
- c/c++教程 - 1.5 运算符
- public protected private
- linux操作系统开机启动,简述linux操作系统启动流程
- 数据结构与算法之PHP排序算法(桶排序)
- Dreamweaver网页设计与制作100例:用DIV+CSS技术设计的书法主题网站(web前端网页制作课作业)
- SpringMVC-视图和视图解析器
- 国际C 语言乱码大赛(IOCCC )
- 在MFC中的socket编程
- 服务开通语音通知功能如何实现?服务开通语音提醒功能实现方案
- linux yum下载不安装,CentOS 7设置yum仅仅下载rpm不安装总结
- 一个程序员的真实故事上