防火墙 规则与链的分类

  • 什么是iptables
1:iptables就是在各个钩子上定义的规则,让每一个钩子在处理报文的时候,有不同的处理规则
 
2:iptables对于运维工程师而言,只是一个些规则的命令行的工具
 
  • 防火墙规则
组成部分:根据规则的匹配条件匹配报文,对应匹配到的报文使用定义的处理动作进行处理
匹配条件:
基本匹配
扩展匹配
 
处理动作:
基本的常见的处理动作
扩展处理动作
自定义处理动作
  • 报文进入主机之后,流经的路径
1:流入本机:prerouting –> input –> 用户空间请求报文
 
2:流出本机:用户空间响应报文 –> output –> postrouting
 
3:由本机转发的:prerouting –> forward –> postrouting
  • 防火墙规则的分类(也可以称之为功能表的分类) 下述黑体字后面 红色字体为防火墙内置链
1: raw:关闭在nat表上启用的连接追踪机制        PREROUTING , OUTPUT
 (表明是否对该数据包进行状态跟踪)
2:mangle:将报文拆解,修改之后再封包   PREROUTING , INPUT , FORWARD , OUTPUT , POSTROUTING
 (为数据包设置标记)
3:nat:网络地址转换,只拆解修改其地址的那一部分,一般是IP层地址和传输层地址      PREROUTING ,INPUT, OUTPUT , POSTROUTING
 (修改数据包中源,目标ip地址或端口)
4:filter:实现过滤,防火墙(默认) INPUT , FORWARD , OUTPUT
(表示是否放行该数据包,,"过滤")
 
 
 
规则表的先后顺序: raw  --> mangle --> nat -->filter
  • 防火墙链分类
1:内置链 (与netfilter的hooks函数一一对应,每一个内置链对应于一个hooks函数,在内核中直接实现)
PREROUTING    在进行路由选择前处理的数据包              
 
INPUT    处理入站打的数据包                          
 
OUTPUT    处理出站的数据包
                    
FORWARD   处理转发的数据包
 
POSTROUTING    在进行路由选择后处理数据包
 
规则链的先后顺序:
    入站顺序: PREROUTING ——>INPUT
    出站顺序: OUTPUT ——> POSTROUTING
    转发顺序: PREROUTING ——> FORWARD——> POSTROUTING
 
2:自定义链
对内置链进行扩充的,而定义在自定义链上的规则只有通过内置链的调用才能实现,可以实现更加灵活的规则管理机制
是一个写规则的命令行工具
 
  • 防火墙功能表与防火墙内置链的对应关系(这里的表就是指下面的四种功能)
1:filter:INPUT , FORWARD , OUTPUT
 
2:mangle:PREROUTING , INPUT , FORWARD , OUTPUT , POSTROUTING
 
3:nat:PREROUTING ,INPUT, OUTPUT , POSTROUTING
 
4:raw:PREROUTING , OUTPUT
 
三点注意事项:
1.没有指定规则表则默认指filter表
2.不指定规则链则指表内所有的规则链
3.在规则链中匹配规则时会依次检查,匹配即停止(LOG规则例外),若没匹配项则按链的默认状态处理
posted @ 2017-09-14 20:03  ~小学生~  阅读(701)  评论(0编辑  收藏  举报