上传者: hucailai
|
上传时间: 2021-11-10 18:08:34
|
文件大小: 338KB
|
文件类型: -
认识和熟悉过iptables之后,更加感叹netfilter的磅礴和浩瀚。在netfilter体系中,状态跟踪机制(conntrack)是重要的一部分。它是基于Linux系统的stateful防火墙的基础,也是NAT完成对相关包进行转换的手段。本文尝试对conntrack的机制进行分析和理解。
在基于header信息(IP,端口等)进行过滤的包过滤防火墙发展多年之后,对防火墙的需求也再逐渐丰富,stateless防火墙对探测跟踪以及DoS的防护显得力不从心。当然从历史时间来看,包过滤防火墙是符合当时发展需要,效率也更高,对于更高层的应用当时都很少,自然也不需要太关注防护。
conntrack将信息存在内存结构中,包括IP,端口,协议类型,状态以及超时时间。
而且conntrack不仅可以对TCP这种有状态的会话进行状态跟踪,还可以对UDP进行状态跟踪。
conntrack本身并不会对包进行过滤,而是提供一种基于状态和关系的过滤依据。