Netfilter
是 Linux
操作系统核心层(内核)内部的一个数据包处理模块。
功能
Netfilter 是 Linux 内核中一个对数据 包进行控制、修改和过滤(manipulation and filtering)的框架。它在内核协议 栈中设置了若干 hook 点,以此对数据包进行拦截、过滤或其他处理。Netfilter 与 1998 年开始开发,2000 年合并到 2.4.x 内 核主线版本
- 网络地址转换(Network Address Translate)
- 数据包内容修改
- 数据包过滤的防火墙功能
延展的工具
iptables
、ebtables
和 arptables
等是在 用户空间
控制 Netfilter
的工具
nftables
是 iptables
的继承者,它允许更灵活
、可扩展
和性能更好
的分组分类
ipset
是 iptalbes
的扩展,它允许用户创建匹配整个地址 sets
的规则,一般配合 iptables
使用
连接跟踪(connection tracking, conntrack, CT)
模块用于维护可跟踪协议(trackable protocols)的连接状态