防火墙iptables五链四表

编程入门 行业动态 更新时间:2024-10-26 14:36:50

<a href=https://www.elefans.com/category/jswz/34/1771117.html style=防火墙iptables五链四表"/>

防火墙iptables五链四表

什么是防火墙?

在计算机中,防火墙是基于安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的所有网络通信均要经过此防火墙。防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。

防火墙分为软件防火墙和硬件防火墙,他们的优缺点;
**硬件防火墙:**拥有经过特别设计的硬件及芯片,性能高、成本高(当然硬件防火墙也是有软件的,只不过有部分功能由硬件实现,所以硬件防火墙其实是硬件+软件的方式);
**软件防火墙:**应用软件处理逻辑运行于通用硬件平台之上的防火墙,性能比硬件防火墙低、成本低。

链的概念

iptables开启后,数据报文从进入服务器到出来会经过5道关卡,分别为Preouting(路由前),input(输入),outing(输出),Forward(转发),Postrouting(路由后);

每一道关卡中有多个规则,数据报文必须按顺序一个一个匹配这些规则,这些规则串起来就像一条链,所以我们把这些关卡都叫“链”;

**- INPUT链:**当接收到防火墙本机地址的数据包(入站)时,应用此链中的规则;
**- OUTPUT链:**当防火墙本机向外发送数据包(出站)时,应用此链中的规则;
**- FORWARD链:**当接收到需要通过防火墙发送给其他地址的数据包(转发)时,应用此链中的规则
- PREROUTING链:(互联网进入局域网)在对数据包作路由选择之前,应用此链中的规则,如DNAT;
- POSTROUTING链:(局域网出互联网)在对数据包作路由选择之后,应用此链中的规则,如SNAT。

其中INPUT,OUTPUT链更多的应用在“主机防火墙”中,即主要针对服务器本机进出数据的安全控制;而FORWARD,PREROUTING,POSTROUTIN链更多的应用在“网络防火墙”中,特别是防火墙服务器作为网关使用时的情况。

表的概念

每一条链上有多条规则,但有些规则的作用(功能)很相似,多条具有相同功能的规则在一起就组成了一个“表”,iptables提供了四种表;

**filter表:**主要用于对数据包进行过滤,更具具体的规则决定是否放行该数据包(如DROP,ACCEPT,REJECT,LOG),所谓的防火墙其实基本上是这张表上的过滤规则,对应内核模块iptables_filter;

**nat表:**network address translation,网络地址转换功能,主要用于修改数据包的IP地址,端口号等信息(网络地址转换,如SNAT,DNAT,MASQUERADE,REDIRECT)。属于一流的包(因为包的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次,如果第一个包被允许做NAT或Masuqeraded,那么余下的包都自动地被做相同的操作,也就是说,余下的包不会在通过这个表。对应内核模块iptables nat;

**mangle表:**拆解报文,做出修改,并重新封装,主要用于修改数据包的TOS(Type Of Service,服务类型),TTL指数以及为数据包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,优于需要相应的路由设备支持,因此应用并不广泛。对应内核模块iptables_mangle;

**raw表:**是自1.2.9以后版本的iptables新增的表,主要用于决定数据包是否被状态跟踪机制处理,在匹配数据包时,raw表的规则要优先于其他表,对应内核模块iptables_raw。
最终我们定义的防火墙规则,都会添加到这四张表中的一张表。

表链关系

五条链(即五个关卡),并不是每条链路都能应用所有类型的表,事实上除了Output链能同时有四种表,其他链都只有两种或三种表;

实际上无论在那条链上,raw表永远在mangle表上边,而managle表永远在nat表上边,nat表有永远在filter表上边,这表明各表之间是有匹配顺序的。
因为数据报文必须按顺序匹配每条链上的一个一个规则,但其实同一类(即属于同同一种表)的规则是放在一起的,不同类的规则不会交叉着放,按上边的规律,每条链上各个表被匹配的顺序为:
raw—>mangle—>nat—>filter。

最终我们定义的防火墙规则,都会添加到这四张表中的其中一张表中,所以我们实际操作是对“表”进行操作的,所以反过来说,每种表都能用于那些链:
表名 能应用的链
raw prerouting output
mangle prerouting input forward output postrouting
nat prerouting input(仅centos7) output postrouting
filter input forward output

更多推荐

防火墙iptables五链四表

本文发布于:2024-02-11 22:57:18,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1684083.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:防火墙   iptables   五链四表

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!