Wireguard 的 nftables 规则

Wireguard 的 nftables 规则

我曾经有一个 iptables 规则允许wireguard流量通过:

来自费姆:

proto udp dport 51820 mod owner ! uid-owner 0-4294967294 mod conntrack     ctstate (NEW) ACCEPT;

使用翻译工具,这变成了:

 udp dport 51820 meta skuid != 0-4294967294 ct state new accept

然而,当我查看计数器和记录的数据包时,这条规则并未受到影响。

如何使用 nftables 做到这一点?

答案1

如果你的意思是如何做这样的事情: https://superuser.com/questions/1579741/iptables-rule-for-filtering-wireguard-packets 在 nftables 中,您无法像在 iptables 中那样添加排除整个 32 位范围的规则。

在 nftables 中你需要两个规则。第一个删除整个 32 位 uid 范围,第二个接受端口 51820(因为没有 uid)。

chain wireguard_enable {
        udp dport 51820 meta skuid { 0-4294967294 } ct state new drop
        udp dport 51820 ct state new accept

}

相关内容