首页 > 代码库 > 华为FW报文处理流程

华为FW报文处理流程

以下摘抄自《华为防火墙技术漫谈》,有删减

技术分享

 

查询会话中的处理过程

协议报文

  1. OSPFIGMPHRP等称为协议报文
  2. OSPF为例,广播环境下,DD是单播,需要安全策略检查;P2P环境中,DD为组播,不需要安全策略检查

业务报文

  1. 将穿越防火墙的称为业务报文,比如TCPUDP承载的数据
  2. 这类报文需要创建会话,不能匹配任一会话的就认为是首包

 

首包处理流程

  1. 黑名单匹配(这个不是acl,有专门的黑名单功能)
  2. 是否命中正反向server-map表,命中则记录其中的信息
  3. 根据第2步结果,查询报文命中哪条路由,优先查策略路由,后查路由表,决定下一跳与出接口;注意此时并没有nat转换,所以得查serve-map表转换后的地址,继而查询真实地址的路由
  4. 查询安全策略,已知报文入接口源地址、判断出报文出接口后,就可以查询域间或者是域内安全策略,没有匹配到安全策略或者匹配到deny就丢弃报文
  5. 查询是否命中源nat策略,匹配到就记录转换后的源ip和端口信息
  6. 创建会话

后续包流程

  1. 主要判断会话是否需要刷新
  2. 创建会话后,如果路由表、安全策略变化,就需要重新查询并匹配
  3. 老化时间会随者报文的交互自动刷新,
  4. 故障定位时,是否创建会话是个关键点

 

查询会话后的处理流程

  1. 到这里已经创建好会话了,或者匹配到原来的会话
  2. 首先基于ip限流、IPSUTM等处理
  3. 根据已经创建的会话表进行目的转换、源转换(如果有的话)
    1. 这里要注意
    2. 如果在前面流程中命中了nat server的反向server-map表,就根据这个转换,不再往后匹配源nat策略
    3. 报文后续是否要进行vpn加封装,如果此时定义了该数据的源地址转换,那么后续数据流就无法进入vpn协商流程了
    4. nat server优先级非常高,报文走错的情况很少,但是源natvpn处理在nat server之后,容易受到nat server干扰,导致业务异常
  4. 开始报文分发
    1. 外部地址就从接口发出
    2. 目的地址是FW自身,交给管理层面
    3. vpn报文则会被解封装,重复以上阶段
    4. 如果是要进入vpn隧道,则进行vpn封装

 

华为FW报文处理流程