速率限制匹配

你可以通过 limit 限制通信速率。

下面的例子显示了怎么接受一个每秒最多 10 个 ICMP 回显请求的数据包:

% nft add rule filter input icmp type echo-request limit rate 10/second accept

从 Linux 内核 4.3 开始,你也可以使用字节限制:

% nft add rule filter input limit rate 10 mbytes/second accept

上面的规则接受每秒 10 兆字节的数据包。

你也可以使用 burst 参数指明可以超过速率限制的数据包或字节的数量:

% nft add rule filter input limit rate 10 mbytes/second burst 9000 kbytes accept

这表明你可以超过限制 9000k。

你也可以使用在数据包上:

% nft add rule filter input icmp type echo-request limit rate 10/second burst 2 packets counter accept

所以你可以有 2 个包超出限制。

你也可以在进入时的通信策略中使用 limit 表达式,以作为新的 netdev 地址族中 tc 的替代。