iptables防火墙

1、防火墙基础服务器

Linux防火墙主要工做在网络层,属于典型的包过滤防火墙。网络

 

一、iptables的表、链结构ide

Iptables采用了表和链的分层结构,每一个规则表至关于内核空间的一个容器,根据规则集的不一样用途划分为默认的四个表,raw表,mangle表,nat表,filter表,每一个表容器内包括不一样的规则链,根据处理数据包的不一样时机划分为五种链,而决定是否过滤或处理数据包的各类规则,按前后顺序存放在各规则链中。spa

 

规则表分为如下4ip

1)filter表:用来对数据包进行过滤,表内包含三个链,即:INPUT,FORWARD,OUTPUT资源

2)Nat表:nat表主要用来修改数据包的ip地址、端口号等信息。包含三个链,即PREROUTING,POSTROUTING,OUTPUT路由

3)Mangle表:用来修改数据包的TOSTTL,或者为数据包设置MARL标记,实现流量×××,策略路由等高级应用,包含五个链,PREROUTING,POSTROUTING,INPUT,OUTPUT,FORWARDit

4)Raw表:用来决定是否对数据包进行状态跟踪,包含两个链:即OUTPUT,PREROUTINGtable

 blob.png

规则链分为如下5class

1)INPUT链:当收到访问防火墙本机地址的数据包(入站),应用此链中的规则。

2)OUTPUT链:当防火墙本机向外发送数据包(出站)时,应用此链中的规则。

3)FORWARD链:当收到须要经过防火墙中转发送给其余地址的数据包(转发)时,应用此链中的规则。

4)PREROUTING链:在对数据包作路由选择以前,应用此链中的规则。

5)POSTROUTING链:在对数据包作路由选择以后,应用此链中的规则。

 

 

二、数据包过滤的匹配流程

1)规则表的顺序

当数据包抵达防火墙时,将依次应用raw表,mangle表,nat表和filter表中对应链内的规则,应用顺序为raw-mangle-nat-filter

 

2)规则链之间的顺序

入站数据流向:来自外界的数据包到达防火墙后,首先被PRETOUTING链处理,而后进行路由选择,若是数据包的目标地址是防火墙本机,那么内核将其传递给INPUT链进行处理,经过之后再讲给系统的上层应用程序进行响应。

 

转发数据流向:来自外界的数据包到达防火墙后,首先被PREROUTING链处理,而后再进行路由选择,若是数据包的目的地址是其余外部的地址,则内核将其传递给FORWARD链进行处理,最后交给POSTROUTING链进行处理。

 

出站数据流向:防火墙本机向外部地址发送的数据包,首先被OUTOUT处理,而后进行路由选择,再交给POSTROUTING链进行处理。

 

3)规则链内部各条防火墙规则之间的顺序

当数据包通过每条规则链时,依次按第一条规则,第二条规则......的顺序进行匹配和处理,链内的过滤遵循“匹配即中止”的原则,一旦找到一条相匹配的规则,则再也不检查本链内后续的其它规则,若是比对完整个链,也找不到与数据包相匹配的规则,就按照规则链的默认策略进行处理。



nat表主要是对转发的数据包进行处理,负责转发数据流方向,上一章咱们经过网关服务器链接两个网段,可是外网的服务器是须要执行本地的网关,才可以实现路由转发,实际上这种功能就是转发两个直连路由,可是实际状况下是不存在这种事情的,那么如何实现,公司内部能够共享互联网资源呢?今天咱们就经过nat解决这个问题,NAT技术咱们以前在路由器上作过,有natpat、端口多路复用。今天咱们所讲的知识与其类似。

相关文章
相关标签/搜索