nftables 数据包过滤器 0.9.9 发布

nftables 0.9.9 数据包过滤器已发布。它统一了 IPv4、IPv6、ARP 和网络桥接的数据包过滤接口(旨在替代 iptables、ip6table、a​​rptables 和 ebtables)。同时发布的还有 libnftnl 1.2.0 库,该库提供了一个用于与 nf_tables 子系统交互的底层 API。nftables 0.9.9 所需的更改已合并到内核中。 Linux 5.13-rc1。

nftables 软件包包含在用户空间运行的数据包过滤组件,而内核级工作由内核的一部分 nf_tables 子系统提供。 Linux 自 3.13 版本以来,内核级别仅提供了一个通用的、与协议无关的接口,提供从数据包中提取数据、执行数据操作和流量控制的基本功能。

过滤规则本身和协议特定的处理程序在用户空间被编译成字节码,之后该字节码通过 Netlink 接口加载到内核中,并在内核中以特殊方式执行。 虚拟机这与伯克利数据包过滤器(BPF)类似。这种方法可以显著减少内核级过滤代码的大小,并将所有规则解析和协议逻辑移至用户空间。

主要创新:

  • 使用“卸载”标志启用将可流处理移动到网络适配器端的能力已经实现。 Flowtable是一种优化数据包重定向路径的机制,其中所有规则处理链的完整通过仅应用于第一个数据包,流中的所有其他数据包都直接转发。 table ip global { flowtable f { hook 入口优先级过滤器 + 1 devices = { lan3, lan0, ​​wan } flags offload } chainforward { type filter hook 转发优先级过滤器; 政策接受; ip 协议 { tcp, udp } flow add @f } chain post { type nat hook 后路由优先级过滤器; 政策接受; oifname“wan”伪装 } }
  • 添加了对将所有者标志附加到表的支持,以确保进程独占使用该表。 当进程终止时,与其关联的表将自动删除。 有关进程的信息以注释的形式显示在规则转储中: table ip x { # progname nft flags Owner chain y { type filter hook inputpriority filter; 政策接受; 计数器数据包 1 字节 309 } }
  • 添加了对 IEEE 802.1ad 规范(VLAN 堆栈或QinQ)的支持,该规范定义了将多个 VLAN 标记替换为单个以太网帧的方法。 例如,要检查外部以太网帧类型8021ad且vlan id=342,可以使用构造... ether type 802.1ad vlan id 342来检查外部以太网帧类型8021ad/vlan id=1,嵌套802.1 q/vlan id=2 并进一步封装 IP 数据包: ... ether type 8021ad vlan id 1 vlan type 8021q vlan id 2 vlan type ip counter
  • 添加了对使用统一层次结构 cgroups v2 管理资源的支持。 cgroups v2 和 v1 之间的主要区别在于,对所有类型的资源使用通用的 cgroups 层次结构,而不是使用单独的层次结构来分配 CPU 资源、调节内存消耗和 I/O。 例如,要检查第一级 cgroupv2 的套接字的祖先是否与“system.slice”掩码匹配,可以使用以下构造: ... socket cgroupv2 level 1 “system.slice”
  • 新增了检查 SCTP 数据包组成部分的功能(运行所需的功能将在内核中实现)。 Linux 5.14)。例如,要检查数据包是否包含类型为“data”且字段为“type”的数据块:… sctp chunk data exists … sctp chunk data type 0
  • 使用“-f”标志,规则加载操作的执行速度加快了大约两倍。 规则清单的输出也加快了。
  • 提供了一种用于检查标志位是否被设置的紧凑形式。 例如,要检查 snat 和 dnat 状态位是否未设置,您可以指定: ... ct status ! snat,dnat 检查位掩码 syn,ack 中是否设置了 syn 位: ... tcp 标志 syn / syn,ack 检查位掩码 syn,ack,fin,rst 中是否未设置 fin 和 rst 位: ... tcp 标志 != fin,rst / syn,ack,fin,rst
  • 允许在 set/map typeof 定义中使用“verdict”关键字: add map xm { typeof iifname . IP协议th dport:判决;}

来源: opennet.ru

为具有 DDoS 保护、VPS VDS 服务器的站点购买可靠的主机 🔥 购买具备 DDoS 防护的可靠网站托管服务,包括 VPS 和 VDS 服务器 | ProHoster