IPTABLES 不工作,fail2ban 仍然通知我来自这些 ip 的入侵

Fra*_*nas -1 iptables fail2ban

我添加了 20000 条这样的 iptable 规则:

iptables -A INPUT -s 108.62.150.0/24 -j DROP
iptables -A INPUT -s 109.108.64.0/19 -j DROP
iptables -A INPUT -s 109.110.32.0/19 -j DROP
Run Code Online (Sandbox Code Playgroud)

从我的服务器阻止俄罗斯和东欧 ips。

但是,对于这些范围内的许多 ip,我的 fail2ban 仍然无效。

我的规则集的开头看起来像这样:

Chain INPUT (policy DROP)
target     prot opt source               destination         
DROP       tcp  --  0.0.0.0/0            127.0.0.0/8         
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           
DROP       all  --  224.0.0.0/4          0.0.0.0/0           
PUB_IN     all  --  0.0.0.0/0            0.0.0.0/0           
PUB_IN     all  --  0.0.0.0/0            0.0.0.0/0           
PUB_IN     all  --  0.0.0.0/0            0.0.0.0/0           
PUB_IN     all  --  0.0.0.0/0            0.0.0.0/0           
PUB_IN     all  --  0.0.0.0/0            0.0.0.0/0           
DROP       all  --  0.0.0.0/0            0.0.0.0/0           
DROP       all  --  108.62.150.0/24      0.0.0.0/0           
DROP       all  --  109.108.64.0/19      0.0.0.0/0           
DROP       all  --  109.110.32.0/19      0.0.0.0/0           
DROP       all  --  109.110.64.0/19      0.0.0.0/0           
DROP       all  --  109.111.176.0/20     0.0.0.0/0  
Run Code Online (Sandbox Code Playgroud)

为什么他们还能通过?

是 PUB_IN 语句吗??我的阻止(DROP)规则应该出现在 PUB_IN 规则之前吗?

Mir*_*ici 5

Netfilter 表中的规则顺序很重要。你应该在你的 DROP 规则之后移动PUB_INACCEPT all -- 0.0.0.0/0 0.0.0.0/0规则。规则state RELATED,ESTABLISHED应保持不变。

如果规则匹配补充流量,您应该在顶部使用更大的前缀对它们进行排序(例如 /4 应该在顶部 /32 在底部)。如果它们重叠(它们可以匹配相同的数据包),重新排序它们将改变语义,但如果它们是互补的,重新排序它们是安全的。