/proc/net/ipt_hashlimit/FILE 中的字段是什么意思?

abr*_*Xxl 4 linux iptables proc

中的字段/proc/net/ipt_hashlimit/FILE是什么意思?

这些文件是在 iptables -A CHAIN -m hashlimit--hashlimit-name FILE [...]

[...] 9 198.51.100.23:0->0.0.0.0:0 80000 80000 160 [...]

如果规则没有匹配的数据包,第一列显示垃圾收集将删除 hashlimit 条目的时间(以秒为单位)。

第二列基于您指定的模式--hashlimit-mode 在本例中为srcip。它在这里显示了 srcip。

第 3,4 和 5 列的含义是什么?

小智 7

基于 C 结构(net/ipv4/netfilter/ipt_hashlimit.c)和各种注释:

struct {
    unsigned long prev; /* last modification */
    u_int32_t credit;
    u_int32_t credit_cap, cost;
} rateinfo;
Run Code Online (Sandbox Code Playgroud)

似乎字段 3 到 5 具有以下含义:

  • 3 是当前的“信用”(每隔 jiffy 重新增加 1)
  • 4 是信用上限(“--hashlimit-burst”的成本*设置)
  • 5是成本(即每次匹配规则时减少多少信用)

如果信用达到 0,则哈希条目已超过限制。

例如 :

8 A.B.C.D:0->0.0.0.0:0 6400 6400 1280
Run Code Online (Sandbox Code Playgroud)

在可能的 6400 分中将有 6400 分,每场比赛花费 1280 分。这基本上意味着该条目已补充其全部信用分并且表现良好。