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

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

我添加了 200 条 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

阻止俄罗斯和东欧 IP 访问我的服务器。

但是,对于属于这些范围内的许多 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  

为什么他们还能通过?

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

答案1

Netfilter 表中规则的顺序很重要。您应该将PUB_INACCEPT all -- 0.0.0.0/0 0.0.0.0/0规则移到 DROP 规则之后。带有的规则state RELATED,ESTABLISHED应保留原位。

如果规则匹配互补流量,则应按前缀较大的顺序排列它们(例如,/4 应位于顶部,/32 位于底部)。如果它们重叠(它们可能匹配相同的数据包),则重新排序它们会改变语义,但如果它们是互补的,则重新排序它们是安全的。

相关内容