netfilter.org项目介绍

什么是netfilter.org项目

  • netfilter项目是一个社区驱动的协作的FOSS(自由开放源码软件)项目,该项目为2.4.x及后期内核系列Linux内核提供了包过滤功能。netfilter项目通常与iptables和它的接班人nftables配合使用。
  • netfilter 项目支持数据包过滤、网络地址 [和端口] 转换 (NA[P]T)、数据包日志记录、用户空间数据包排队和其他数据包处理。
  • netfilter hooks 是 Linux 内核中的一个框架,它允许内核模块在 Linux 网络堆栈的不同位置注册回调函数。 然后,为遍历 Linux 网络堆栈中相应挂钩的每个数据包回调注册的回调函数。
  • iptables 是一个通用的防火墙软件,允许您定义规则集。 IP 表中的每个规则都由许多分类器(iptables 匹配项)和一个连接的操作(iptables 目标)组成。
  • nftables 是 iptables 的继承者,它允许更灵活、可扩展和性能更高的数据包分类。 这是开发所有花哨的新功能的地方。

主要特性

  • 无状态数据包包过滤(IPv4 和 IPv6)
  • 有状态数据包包过滤(IPv4 和 IPv6)
  • 各种网络地址和端口转换,例如 NAT/NAPT(IPv4 和 IPv6)
  • 灵活和可扩展的基础设施
  • 用于第 3 方扩展的多层 API

我们可以用netfilter做什么?

  • 构建基于无状态和有状态包过滤的互联网防火墙
  • 部署高可用的无状态和有状态防火墙集群
  • 在没有足够的公共 IP 地址的情况下,使用 NAT 和伪装来共享互联网访问
  • 使用 NAT 实现透明代理
  • 帮助用于构建复杂的 QoS 和策略路由器的 tc 和 iproute2 系统
  • 做进一步的数据包操作(修改),比如改变 IP 标头的 TOS/DSCP/ECN 位

nftables提供了什么价值?

  • 具有一致语法的单一工具,而不是碎片化的 {ip,ip6,eb,arp} 表和 ipset

  • 更快的内核端事务规则集更新,无需用户空间锁定

  • set 比 ipset 更灵活和强大,maps 进一步推动了这个概念

  • 完整的规则集灵活性:

    • 没有预定义的表和链
    • 可以通过任意数量的用户自定义表将规则集分配到“命名空间”
    • 基本链的钩子和优先级是可配置的
  • 更灵活的规则:没有强制部分(如计数器),允许多个操作(例如记录和删除)

  • 可以通过入口钩子将一条链附加到一个接口,以在TC之后进行早期过滤

  • 流表提供了软件快速路径和硬件加速

  • 语法中嵌入了一些有限的脚本编写能力(定义变量,包括其他文件),支持通过 JSON 输入和输出进行广泛的脚本编写

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值