在Debian系统中,使用nftables进行流量限制需要先安装nftables软件包,然后创建相应的规则来限制流量
- 安装nftables:
sudo apt update sudo apt install nftables
-
创建一个新的nftables规则集文件,例如
/etc/nftables/rules.nft
。在这个文件中,我们将定义流量限制的规则。 -
编辑
/etc/nftables/rules.nft
文件,添加以下内容(以下示例将限制TCP流量,但你可以根据需要修改):
#!/usr/sbin/nft -f flush ruleset table ip filter { chain input { type filter hook input priority 0; # 限制每秒最多10个新的TCP连接 limit rate 10/second tcp dport { type tcp dport flags syn accept } # 限制每个源IP每分钟的请求数 limit rate 10/minute ip src } }
在这个示例中,我们定义了两个规则:
- 限制每秒最多10个新的TCP连接(
limit rate 10/second tcp dport { ... }
)。 - 限制每个源IP每分钟的请求数(
limit rate 10/minute ip src
)。
-
保存并关闭文件。
-
设置nftables规则集为开机启动:
sudo systemctl enable nftables
- 启动nftables服务:
sudo systemctl start nftables
现在,你已经成功使用nftables限制了流量。你可以根据需要修改规则集中的规则,以满足你的具体需求。要查看当前的nftables规则集,可以使用以下命令:
sudo nft list ruleset