Family nftables
netlink 规范¶
摘要¶
通过 netlink 进行 Netfilter nftables 配置。
操作¶
batch-begin¶
开始批量操作
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
genid
]
- 回复
- attributes:
[
genid
]
batch-end¶
完成批量操作
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
genid
]
newtable¶
创建一个新表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
gettable¶
获取/转储表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
deltable¶
删除现有表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
destroytable¶
使用销毁语义删除现有表(忽略 ENOENT 错误)。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
newchain¶
创建一个新链。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
getchain¶
获取/转储链。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
delchain¶
删除现有链。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
destroychain¶
使用销毁语义删除现有链(忽略 ENOENT 错误)。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
newrule¶
创建一个新规则。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
getrule¶
获取/转储规则。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
getrule-reset¶
获取/转储规则并重置有状态表达式。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
delrule¶
删除现有规则。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
destroyrule¶
使用销毁语义删除现有规则(忽略 ENOENT 错误)。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
newset¶
创建一个新集合。
getset¶
获取/转储集合。
delset¶
删除现有集合。
destroyset¶
使用销毁语义删除现有集合(忽略 ENOENT 错误)。
newsetelem¶
创建一个新集合元素。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
getsetelem¶
获取/转储集合元素。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
getsetelem-reset¶
获取/转储集合元素并重置有状态表达式。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
delsetelem¶
删除现有集合元素。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
destroysetelem¶
使用销毁语义删除现有集合元素。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
getgen¶
获取/转储规则集生成。
newobj¶
创建一个新的有状态对象。
getobj¶
获取/转储有状态对象。
delobj¶
删除现有有状态对象。
destroyobj¶
使用销毁语义删除现有有状态对象。
newflowtable¶
创建一个新流表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
getflowtable¶
获取/转储流表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
- 回复
- attributes:
[
name
]
delflowtable¶
删除现有流表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
destroyflowtable¶
使用销毁语义删除现有流表。
- attribute-set:
- fixed-header:
- do:
- 请求
- attributes:
[
name
]
多播组¶
mgmt
定义¶
nfgenmsg¶
- 类型:
结构体
- 成员:
- nfgen-family (
u8
): - 版本 (
u8
): - res-id (
u16
):
- nfgen-family (
meta-keys¶
- 类型:
枚举
- 条目:
len
protocol
priority
mark
iif
oif
iifname
oifname
iftype
oiftype
skuid
skgid
nftrace
rtclassid
secmark
nfproto
l4-proto
bri-iifname
bri-oifname
pkttype
cpu
iifgroup
oifgroup
cgroup
prandom
secpath
iifkind
oifkind
bri-iifpvid
bri-iifvproto
time-ns
time-day
time-hour
sdif
sdifname
bri-broute
bitwise-ops¶
- 类型:
枚举
- 条目:
bool
lshift
rshift
cmp-ops¶
- 类型:
枚举
- 条目:
eq
neq
lt
lte
gt
gte
object-type¶
- 类型:
枚举
- 条目:
unspec
counter
quota
ct-helper
limit
connlimit
tunnel
ct-timeout
secmark
ct-expect
synproxy
nat-range-flags¶
- 类型:
flags
- 条目:
map-ips
proto-specified
proto-random
persistent
proto-random-fully
proto-offset
netmap
表标志¶
- 类型:
flags
- 条目:
休眠
所有者
持久
链标志¶
- 类型:
flags
- 条目:
基础
硬件卸载
绑定
设置标志¶
- 类型:
flags
- 条目:
匿名
常量
间隔
映射
超时
计算
对象
连接
表达式
查找标志¶
- 类型:
flags
- 条目:
反转
连接跟踪键¶
- 类型:
枚举
- 条目:
状态
方向
状态
mark
secmark
过期
助手
三层协议
源
目标
protocol
协议源
协议目标
标签
数据包
字节
平均数据包大小
区域
事件掩码
源 IP
目标 IP
源 IPv6
目标 IPv6
连接跟踪 ID
连接跟踪方向¶
- 类型:
枚举
- 条目:
原始
回复
配额标志¶
- 类型:
flags
- 条目:
反转
耗尽
判决代码¶
- 类型:
枚举
- 条目:
- 继续:
- 中断:
- 跳转:
- 转到:
- 返回:
- 丢弃:
- 接受:
- 窃取:
- 排队:
- 重复:
FIB 结果¶
- 类型:
枚举
- 条目:
oif
oifname
地址类型
FIB 标志¶
- 类型:
flags
- 条目:
源地址
目标地址
mark
iif
oif
存在
拒绝类型¶
- 类型:
枚举
- 条目:
ICMP 不可达
TCP RST
ICMPx 不可达
属性集¶
空属性¶
名称 (string
)¶
批量属性¶
genid (u32
)¶
- 字节序:
大端
表属性¶
名称 (string
)¶
- 文档:
表的名称
标志 (u32
)¶
- 字节序:
大端
- 文档:
标志的位掩码
- 枚举:
- 枚举作为标志:
真
使用 (u32
)¶
- 字节序:
大端
- 文档:
此表中的链数
句柄 (u64
)¶
- 字节序:
大端
- 文档:
表的数字句柄
用户数据 (binary
)¶
- 文档:
用户数据
链属性¶
表 (string
)¶
- 文档:
包含链的表的名称
句柄 (u64
)¶
- 字节序:
大端
- 文档:
链的数字句柄
名称 (string
)¶
- 文档:
链的名称
钩子 (nest
)¶
- 嵌套属性:
- 文档:
基础链的钩子规范
策略 (u32
)¶
- 字节序:
大端
- 文档:
链的数字策略
使用 (u32
)¶
- 字节序:
大端
- 文档:
对此链的引用数
类型 (string
)¶
- 文档:
链的类型名称
计数器 (nest
)¶
- 嵌套属性:
- 文档:
链的计数器规范
标志 (u32
)¶
- 字节序:
大端
- 文档:
链标志
- 枚举:
- 枚举作为标志:
真
ID (u32
)¶
- 字节序:
大端
- 文档:
在事务中唯一标识一个链
用户数据 (binary
)¶
- 文档:
用户数据
计数器属性¶
字节 (u64
)¶
- 字节序:
大端
数据包 (u64
)¶
- 字节序:
大端
填充 (pad
)¶
nft 钩子属性¶
编号 (u32
)¶
- 字节序:
大端
优先级 (s32
)¶
- 字节序:
大端
设备 (string
)¶
- 文档:
网络设备名称
设备列表 (nest
)¶
- 嵌套属性:
- 文档:
网络设备列表
钩子设备属性¶
名称 (string
)¶
- 多属性:
真
nft 计数器属性¶
字节 (u64
)¶
数据包 (u64
)¶
规则属性¶
表 (string
)¶
- 文档:
包含该规则的表的名称
链 (string
)¶
- 文档:
包含该规则的链的名称
句柄 (u64
)¶
- 字节序:
大端
- 文档:
规则的数字句柄
表达式 (nest
)¶
- 嵌套属性:
- 文档:
表达式列表
兼容性 (nest
)¶
- 嵌套属性:
- 文档:
规则的兼容性规范
位置 (u64
)¶
- 字节序:
大端
- 文档:
上一条规则的数字句柄
用户数据 (binary
)¶
- 文档:
用户数据
ID (u32
)¶
- 文档:
在事务中唯一标识一条规则
位置 ID (u32
)¶
- 文档:
上一条规则的事务唯一标识符
链 ID (u32
)¶
- 文档:
通过 ID 将规则添加到链,作为链名称的替代方法
表达式列表属性¶
元素 (nest
)¶
- 嵌套属性:
- 多属性:
真
表达式属性¶
名称 (string
)¶
- 文档:
表达式类型的名称
数据(子消息
)¶
- 子消息:
- 选择器:
名称
- 文档:
特定类型的数据
规则兼容属性¶
协议(二进制
)¶
- 文档:
已处理协议的数值
标志(二进制
)¶
- 文档:
标志的位掩码
设置属性¶
表(字符串
)¶
- 文档:
表名
名称(字符串
)¶
- 文档:
设置名称
标志(u32
)¶
- 枚举:
- 字节序:
大端
- 文档:
枚举 nft_set_flags 的位掩码
键类型(u32
)¶
- 字节序:
大端
- 文档:
键数据类型,仅用于信息目的
键长度(u32
)¶
- 字节序:
大端
- 文档:
键数据长度
数据类型(u32
)¶
- 字节序:
大端
- 文档:
映射数据类型
数据长度(u32
)¶
- 字节序:
大端
- 文档:
映射数据长度
策略(u32
)¶
- 字节序:
大端
- 文档:
选择策略
描述(嵌套
)¶
- 嵌套属性:
- 文档:
设置描述
ID(u32
)¶
- 文档:
唯一标识事务中的集合
超时(u64
)¶
- 文档:
默认超时值
垃圾回收间隔(u32
)¶
- 文档:
垃圾回收间隔
用户数据(二进制
)¶
- 文档:
用户数据
填充(填充
)¶
对象类型(u32
)¶
- 字节序:
大端
- 文档:
有状态对象类型
句柄(u64
)¶
- 字节序:
大端
- 文档:
设置句柄
表达式(嵌套
)¶
- 嵌套属性:
- 文档:
设置表达式
- 多属性:
真
表达式(嵌套
)¶
- 嵌套属性:
- 文档:
表达式列表
设置描述属性¶
大小(u32
)¶
- 字节序:
大端
- 文档:
集合中的元素数量
连接(嵌套
)¶
- 嵌套属性:
- 文档:
字段连接的描述
- 多属性:
真
设置描述连接属性¶
元素(嵌套
)¶
- 嵌套属性:
设置字段属性¶
长度(u32
)¶
- 字节序:
大端
设置列表属性¶
元素(嵌套
)¶
- 嵌套属性:
- 多属性:
真
设置元素属性¶
键(嵌套
)¶
- 嵌套属性:
- 文档:
键值
数据(嵌套
)¶
- 嵌套属性:
- 文档:
映射的数据值
标志(二进制
)¶
- 文档:
nft_set_elem_flags 的位掩码
超时(u64
)¶
- 文档:
超时值
到期时间(u64
)¶
- 文档:
到期时间
用户数据(二进制
)¶
- 文档:
用户数据
表达式(嵌套
)¶
- 嵌套属性:
- 文档:
表达式
对象引用(字符串
)¶
- 文档:
有状态对象引用
键结束(嵌套
)¶
- 嵌套属性:
- 文档:
结束键值
表达式(嵌套
)¶
- 嵌套属性:
- 文档:
表达式列表
设置元素列表元素属性¶
元素(嵌套
)¶
- 嵌套属性:
- 多属性:
真
设置元素列表属性¶
表(字符串
)¶
集合(字符串
)¶
元素(嵌套
)¶
- 嵌套属性:
集合ID(u32
)¶
生成属性¶
ID(u32
)¶
- 字节序:
大端
- 文档:
规则集生成 ID
进程 PID(u32
)¶
- 字节序:
大端
进程名称(字符串
)¶
对象属性¶
表(字符串
)¶
- 文档:
包含表达式的表的名称
名称(字符串
)¶
- 文档:
此表达式类型的名称
类型(u32
)¶
- 枚举:
- 字节序:
大端
- 文档:
有状态对象类型
数据(子消息
)¶
- 子消息:
- 选择器:
类型
- 文档:
有状态对象数据
使用(u32
)¶
- 字节序:
大端
- 文档:
对此表达式的引用数量
句柄(u64
)¶
- 字节序:
大端
- 文档:
对象句柄
填充(填充
)¶
用户数据(二进制
)¶
- 文档:
用户数据
配额属性¶
字节(u64
)¶
- 字节序:
大端
标志(u32
)¶
- 字节序:
大端
- 枚举:
填充(填充
)¶
已消耗(u64
)¶
- 字节序:
大端
流表属性¶
表(字符串
)¶
名称(字符串
)¶
钩子(嵌套
)¶
- 嵌套属性:
使用(u32
)¶
- 字节序:
大端
句柄(u64
)¶
- 字节序:
大端
填充(填充
)¶
标志(u32
)¶
- 字节序:
大端
流表钩子属性¶
编号(u32
)¶
- 字节序:
大端
优先级 (u32
)¶
- 字节序:
大端
设备 (nest
)¶
- 嵌套属性:
expr-bitwise-attrs¶
源寄存器 (u32
)¶
- 字节序:
大端
目标寄存器 (u32
)¶
- 字节序:
大端
长度 (u32
)¶
- 字节序:
大端
掩码 (nest
)¶
- 嵌套属性:
异或 (nest
)¶
- 嵌套属性:
操作码 (u32
)¶
- 字节序:
大端
- 枚举:
数据 (nest
)¶
- 嵌套属性:
expr-cmp-attrs¶
源寄存器 (u32
)¶
- 字节序:
大端
操作码 (u32
)¶
- 字节序:
大端
- 枚举:
数据 (nest
)¶
- 嵌套属性:
data-attrs¶
值 (binary
)¶
结果 (nest
)¶
- 嵌套属性:
verdict-attrs¶
代码 (u32
)¶
- 字节序:
大端
- 枚举:
链 (string
)¶
链 ID (u32
)¶
expr-counter-attrs¶
字节数 (u64
)¶
- 文档:
字节数
数据包数 (u64
)¶
- 文档:
数据包数
填充 (pad
)¶
expr-fib-attrs¶
目标寄存器 (u32
)¶
- 字节序:
大端
结果 (u32
)¶
- 字节序:
大端
- 枚举:
标志 (u32
)¶
- 字节序:
大端
- 枚举:
expr-ct-attrs¶
目标寄存器 (u32
)¶
- 字节序:
大端
键 (u32
)¶
- 字节序:
大端
- 枚举:
方向 (u8
)¶
- 枚举:
源寄存器 (u32
)¶
- 字节序:
大端
expr-flow-offload-attrs¶
名称 (string
)¶
- 文档:
流卸载表名称
expr-immediate-attrs¶
目标寄存器 (u32
)¶
- 字节序:
大端
数据 (nest
)¶
- 嵌套属性:
expr-lookup-attrs¶
集合 (string
)¶
- 文档:
要使用的集合的名称
集合 ID (u32
)¶
- 字节序:
大端
- 文档:
要使用的集合的 ID
源寄存器 (u32
)¶
- 字节序:
大端
目标寄存器 (u32
)¶
- 字节序:
大端
标志 (u32
)¶
- 字节序:
大端
- 枚举:
expr-meta-attrs¶
目标寄存器 (u32
)¶
- 字节序:
大端
键 (u32
)¶
- 字节序:
大端
- 枚举:
源寄存器 (u32
)¶
- 字节序:
大端
expr-nat-attrs¶
类型 (u32
)¶
- 字节序:
大端
族 (u32
)¶
- 字节序:
大端
最小寄存器地址 (u32
)¶
- 字节序:
大端
最大寄存器地址 (u32
)¶
- 字节序:
大端
最小寄存器协议 (u32
)¶
- 字节序:
大端
最大寄存器协议 (u32
)¶
- 字节序:
大端
标志 (u32
)¶
- 字节序:
大端
- 枚举:
- 枚举作为标志:
真
expr-payload-attrs¶
目标寄存器 (u32
)¶
- 字节序:
大端
基址 (u32
)¶
- 字节序:
大端
偏移量 (u32
)¶
- 字节序:
大端
长度 (u32
)¶
- 字节序:
大端
源寄存器 (u32
)¶
- 字节序:
大端
校验和类型 (u32
)¶
- 字节序:
大端
校验和偏移量 (u32
)¶
- 字节序:
大端
校验和标志 (u32
)¶
- 字节序:
大端
expr-reject-attrs¶
类型 (u32
)¶
- 字节序:
大端
- 枚举:
ICMP 代码 (u8
)¶
expr-target-attrs¶
名称 (string
)¶
版本 (u32
)¶
- 字节序:
大端
信息 (binary
)¶
expr-tproxy-attrs¶
族 (u32
)¶
- 字节序:
大端
寄存器地址 (u32
)¶
- 字节序:
大端
寄存器端口 (u32
)¶
- 字节序:
大端
expr-objref-attrs¶
即时类型 (u32
)¶
- 字节序:
大端
即时名称 (string
)¶
- 文档:
对象名称
设置源寄存器 (u32
)¶
- 字节序:
大端
设置名称 (string
)¶
- 文档:
对象映射的名称
设置 ID (u32
)¶
- 字节序:
大端
- 文档:
对象映射的 ID
子消息¶
expr-ops¶
- 按位运算
- attribute-set:
- 比较
- attribute-set:
- counter
- attribute-set:
- 常量
- attribute-set:
- 斐波那契
- attribute-set:
- 流卸载
- attribute-set:
- 立即数
- attribute-set:
- 查找
- attribute-set:
- 元数据
- attribute-set:
- 网络地址转换
- attribute-set:
- 对象引用
- attribute-set:
- 载荷
- attribute-set:
- quota
- attribute-set:
- 拒绝
- attribute-set:
- 目标
- attribute-set:
- 透明代理
- attribute-set:
对象数据¶
- counter
- attribute-set:
- quota
- attribute-set: