Linux NF表中表/链的顺序是如何安排的?
例如,我有两个表:Linux NF表中表/链的顺序是如何安排的?,linux,networking,firewall,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 filt
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
}
}
首先执行
过滤器
,因此我的所有转发数据包都被丢弃,这不是我想要的。如何设置最后要执行的表/链,使其作为默认选项工作?Nftables使用位于linux内核网络堆栈不同位置的底层netfilter框架
当在同一钩点添加一个或多个规则时,netfilter框架将按规则的优先级设置规则
例如,在添加链时,可以为每个链使用不同的优先级类型。
假设您希望为的规则定义的前向链赋予更高的优先级
过滤器表
比过滤器2表
nft添加表ip筛选器2
nft添加链ip筛选器2转发{type filter hook forward priority 0\;}
现在为过滤器
表的前向链
赋予更高的优先级,将优先级分配为小于0
nft添加表inet过滤器
nft add chain inet filter'{type filter hook forward priority-1}'
这里,较高的优先级值意味着较低的优先级,反之亦然
但在使用不同的优先级类型时要小心,因为它有时可能会导致数据包出现意外行为。欲了解更多信息,请阅读
PS:有轻微的问题。发布问题时,优先级没有实现(虽然我们可以指定它们,但根本不起作用)。尽管如此,我还是会接受你的回答。谢谢现在它有7个挂钩(+入口)