RateLimit 在内核中执行奇怪的数学运算并产生错误的数字

RateLimit 在内核中执行奇怪的数学运算并产生错误的数字

我正在尝试在 iptables 中应用一组速率限制,但它做了一些奇怪的数学运算,我无法在内核上看到为什么会发生这种情况。

我尝试在本地机器上执行相同的代码,而不是在 aws 实例上,结果是一样的,只是用随机量增加数字,数字越大,量就越大。

接下来您将看到我执行的行和最终应用的速率限制。

您是否知道该行为当前是否是一个错误或者它是否是“一个额外的功能”?

root@myserver:/opt/Project# iptables -w -t raw -L RATELIMIT
Chain RATELIMIT (1 references)
target     prot opt source               destination

root@myserver:/opt/Project# iptables -w -t raw -A RATELIMIT -p tcp --dport 10430 -m limit --limit 7500 --limit-burst 4500 -j RETURN -m comment --comment "10430_allowed"
root@myserver:/opt/Project# iptables -w -t raw -L RATELIMIT
Chain RATELIMIT (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcp dpt:10430 limit: avg 10000/sec burst 4500 /* 10430_allowed */


root@myserver:/opt/Project# bash reset_ratelimit.sh
iptables: Chain already exists.
root@myserver:/opt/Project# iptables -w -t raw -A RATELIMIT -p tcp --dport 10430 -m limit --limit 7500 --limit-burst 5500 -j RETURN -m comment --comment "10430_allowed"
root@myserver:/opt/Project# iptables -w -t raw -L RATELIMIT
Chain RATELIMIT (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcp dpt:10430 limit: avg 10000/sec burst 5500 /* 10430_allowed */


root@myserver:/opt/Project# bash reset_ratelimit.sh
root@myserver:/opt/Project# iptables -w -t raw -A RATELIMIT -p tcp --dport 10430 -m limit --limit 1100 --limit-burst 1600 -j RETURN -m comment --comment "10430_allowed"
root@myserver:/opt/Project# iptables -w -t raw -L RATELIMIT
Chain RATELIMIT (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcp dpt:10430 limit: avg 1111/sec burst 1600 / 10430_allowed /
DROP       tcp  --  anywhere             anywhere             tcp dpt:10430 / 10430_denied /



答案1

我会自己回答。

此规则旨在将端口 10430 上的传入 TCP 流量限制为每秒 1100 个数据包,突发流量为 1600 个数据包。但是,根据内核规范,这似乎只是一个平均值,而不是一个具体而精确的数量。

显然,如果我需要更精确的信息,我应该使用命令(交通管制)。

相关内容