在 Ubuntu 20.04 上使用 iptables-persistent 时,iptables 不会仅阻止 IPv6 IP,IPv4 正常

在 Ubuntu 20.04 上使用 iptables-persistent 时,iptables 不会仅阻止 IPv6 IP,IPv4 正常

我有 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-allportsbanaction,fail2ban 会禁止使用 的 IPv4 地址iptables和使用 的 IPv6 地址ip6tables

Cloudflare 完全是另一回事(不要试图在单个问题中混合香蕉和黄瓜)。

有什么办法可以解决这个 IPv6 问题吗?

  1. 请注意,IPv6 支持首先在 fail2ban >= 0.10 中提供(0.9 根本不支持它)。
  2. [jail] Ban <some-ip-v6>在 fail2ban.log 中看到了吗?
  3. 如果不这样做,则您的过滤器/failregex 不支持 IPv6,并且与行不匹配。您应该找到差异并在 failregex 中修复它。提供包含 IPv6 故障的日志摘录以及您在 fail2ban 中设置的 failregex。
  4. 如果 IPv6 被禁止,您是否会在 fail2ban.log 中看到一些错误?
  5. 您在输出中看到了监狱和禁止的 IPv6 条目吗ip6tables -nL

相关内容