SuperAPI AI 工具集

nftables-knowledge-patch

部署与运维

查看项目

更新于 10-30 23:04

技能介绍

nftables Knowledge Patch 是一个参考型技能,用于在编写、审查、生成、解析、构建或操作现代 nftables 规则集时提供分主题的知识支持。使用方式是先阅读速查参考,再只打开与当前任务相关的主题文件,而不是一次性加载全部内容。

用途与主要能力 该技能按主题组织 nftables 知识,参考索引包含六类内容:表达式与协议(协议依赖、位运算、FIB、payload、overlay、隧道与数据类型);集合、映射与状态(集合、映射、区间、超时、conntrack 对象、动态更新与重置);钩子、NAT 与数据包路径(钩子、策略、NAT、表标志、通配设备、tc 顺序);CLI、文件与生命周期(列表、include、变量、删除、规则位置、错误与文件安全);JSON、监控与嵌入(JSON schema、monitor 输出、netlink 批次、libnftables 嵌入);构建、打包与发布(依赖、归档、systemd、Python 绑定、校验与产物验证)。

迁移敏感行为 文档列出了若干需要特别注意的破坏性或迁移敏感行为。生成 JSON 时标志应始终为数组,即使只有一个元素,如 {"flags": ["interval"]};历史上短暂出现的标量形式可被兼容读取,但生成端应输出数组。XOR 的右侧操作数必须是常量,不得生成计算值或变量。单个表达式最多包含 16 个链式二进制操作,更大计算需拆分。DECnet 协议支持已移除,不应生成相关规则。Python 绑定应通过支持 PEP 517 的安装器安装,distutils/autotools 方式已不存在。替换 libnftables 的 include 搜索路径不再恢复默认目录,需显式添加所有所需目录。systemd 静态规则集单元默认不安装,需要时通过 ./configure --with-unitdir 指定单元目录。

协议与表达式安全 原始 payload 选择器不会建立或校验协议上下文,因此需先显式限定协议,例如先用 meta l4proto { tcp, udp } 再取 @th,16,16。带类型的命名集合(typeof meta l4proto)可把协议依赖带入成员测试,供后续协议相关语句使用。复合二进制赋值的右侧需要 Linux 6.13 或更新内核。Geneve 与 VXLAN 内层头匹配必须先显式限制外层 UDP 端口。

集合与映射模式 由规则更新的集合应声明 dynamic 与 timeout,并同时设置 size、timeout 与合理的 gc-interval,以回收过期容量;dynamic 不应与 interval 混用。对象引用映射可用于选择 conntrack helper、超时或期望。inet 表中的带类型 NAT 映射可提供地址族,区间值可展开为范围。文档还提供了幂等清理(destroy)、重置状态(reset)、规则索引竞争敏感性、表标志(owner、persist、dormant)以及更丰富监控事件等运维工作流,并给出九项审查清单。

适用场景与限制 该技能适用于 nftables 规则集的编写、审查、生成、解析、构建与运维工作,尤其是处理迁移敏感行为、集合与映射设计、协议依赖安全等任务。资料未提供该技能的安装命令、具体运行方式、收费或价格信息;其形式为技能文档与参考文件集合,需按主题文件按需查阅。