我有 Ubuntu 20.04 VPS (LEMP) 并安装了iptables-persistent
。在此服务器中,我已安装fail2ban
并配置了 以CloudFlare
禁止 fail2ban 禁止的 IP。另外,我使用 CSF。我使用自定义 SSH 端口,并且我也通过 CSF 对其进行配置。在 Fail2banjail.local
操作中,我使用“ iptables-allports
”。
问题是当 Fail2ban 触发 IPv6 禁止操作时,iptables-persistent 不会阻止该 IPv6 IP。例如,如果 Fail2ban 禁止了我的 IPv6,我仍然可以通过 SSH 或 SFTP 连接到我的 VPS。但 Cloudflare 成功阻止了 HTTPS 访问(端口 443 和端口 80)。
如果 Fail2ban 禁止了 IPv4,则该 IP 将被 iptables-persistent 成功阻止(包括自定义 SSH 端口)。
有什么办法可以解决这个 IPv6 问题吗?
答案1
问题是当 Fail2ban 触发 IPv6 禁止操作时,iptables-persistent 不会阻止该 IPv6 IP。
它不起作用,更不用说iptables-persistent
出于完全不同的原因而安排的,fail2ban 根本不需要这一切。如果你使用iptables-allports
banaction,fail2ban 会禁止使用 的 IPv4 地址iptables
和使用 的 IPv6 地址ip6tables
。
Cloudflare 完全是另一回事(不要试图在单个问题中混合香蕉和黄瓜)。
有什么办法可以解决这个 IPv6 问题吗?
- 请注意,IPv6 支持首先在 fail2ban >= 0.10 中提供(0.9 根本不支持它)。
- 您
[jail] Ban <some-ip-v6>
在 fail2ban.log 中看到了吗? - 如果不这样做,则您的过滤器/failregex 不支持 IPv6,并且与行不匹配。您应该找到差异并在 failregex 中修复它。提供包含 IPv6 故障的日志摘录以及您在 fail2ban 中设置的 failregex。
- 如果 IPv6 被禁止,您是否会在 fail2ban.log 中看到一些错误?
- 您在输出中看到了监狱和禁止的 IPv6 条目吗
ip6tables -nL
?