
我有 Ubuntu 20.04 VPS (LEMP) 並安裝了iptables-persistent
.在此伺服器中,我已安裝fail2ban
並設定了CloudFlare
禁止fail2ban 禁止IP 的功能。另外,我使用腦脊髓液。我使用自訂 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 問題嗎?
- 請注意,首先在fail2ban >= 0.10 中提供IPv6 支援(0.9 完全不支援它)。
- 你
[jail] Ban <some-ip-v6>
在fail2ban.log中看到了嗎? - 如果不這樣做,則您的過濾器/failregex 不支援 IPv6 並且與線路不符。您應該找到差異並在failregex 中修復它。提供包含 IPv6 故障的日誌摘錄以及您在fail2ban 中為此設定的failregex。
- 如果 IPv6 被禁止,您是否會在fail2ban.log 中看到一些錯誤?
- 您在 的輸出中看到了監獄和禁止的 IPv6 條目嗎
ip6tables -nL
?