Xia*_*ian 2 linux networking firewall
例如,我有两个表:
table inet filter2 {
chain forward {
type filter hook forward priority 0; policy accept;
ct state established,related accept
iifname $wireif oifname $wirelessif accept
}
}
table inet filter {
chain forward {
type filter hook forward priority 0; policy accept;
drop
}
}
Run Code Online (Sandbox Code Playgroud)
首先filter执行的是,所以我所有的转发数据包都被丢弃了,这不是我想要的。如何设置最后执行的表/链以使其作为默认选项工作?
小智 6
Nftables 使用底层的 netfilter 框架,它有 6 个钩子点位于 linux 内核网络堆栈的不同位置。
当一个或多个规则添加到同一个钩子点时,netfilter 框架会根据优先级类型对规则进行优先级排序。
例如,在您添加链的情况下,您可以为每个链使用不同的优先级类型。假设您想为以下定义forward chain的规则赋予更高的优先级
filter table不是forward chain的filter2 table
.
nft add table ip filter2
nft add chain ip filter2 forward {type filter hook forward priority 0 \;}
我们给予更高的优先级forward chain的filter小于0的表指定优先权。
nft add table inet filter
nft add chain inet filter '{type filter hook forward priority -1 }'
这里较高的优先级值意味着较低的优先级,反之亦然。
但是在使用不同的优先级类型时要小心,因为它有时可能会导致意外的数据包行为。有关更多信息,请阅读此