使用 nftables 随机丢弃 UDP 数据包

使用 nftables 随机丢弃 UDP 数据包

我有一个 iptables 规则,用于随机丢弃 UDP 数据包。我正在尝试将其转换为 nftables,但我可能会犯语法错误,因为 nftables 抱怨“dport”参数是意外的。

这是我的 iptables 规则:iptables -A INPUT -m statistic --mode random --probability 0.10 -p udp --destination-port 2020 -i eth0 -j DROP

我尝试使用iptables-translate但我得到了相同的规则:

$ iptables-translate -A INPUT -m statistic --mode random --probability 0.10 -p udp  --destination-port 2020 -i eth0  -j DROP
nft # -A INPUT -m statistic --mode random --probability 0.10 -p udp --destination-port 2020 -i eth0 -j DROP

我尝试使用以下命令创建自己的 nftables 表、链和规则:

$ sudo nft add table ip filter
$ sudo nft add chain ip filter mychain

但是当我尝试使用该规则时,我收到了意想不到的错误dport

$ sudo nft add rule ip filter mychain input udp dport 2020 drop
Error: syntax error, unexpected dport, expecting end of file or newline or semicolon
add rule ip filter mychain input udp dport 2020 drop
                                     ^^^^^          
  1. 我究竟做错了什么?
  2. iptables-translate为什么这条规则不能翻译?

相关内容