有很多原因导致人们想知道禁止 IP 地址的监狱,但我找不到命令fail2ban-client
来告诉我这一点。应该有一个get
命令不需要<JAIL>
,而是输出它。
我知道从 v0.10.2 版本开始我可以使用以下方法取消禁止 IP:
fail2ban-client unban 192.0.2.138
我的问题不是如何解除对 IP 的封禁。我问的是如何找出封禁该 IP 的监狱。
答案1
较新版本 (0.10.6/0.11.2) 的 fail2ban 可以使用来处理此问题fail2ban-client banned <IP>
,请参阅补充材料 2725。
这将返回当前禁止指定 IP 的监狱列表。
答案2
该fail2ban-client status JAIL
命令显示 IP 地址列表现在被该监狱禁止,但这样逐一检查每个监狱有点费力,而且它也不会显示已经从监狱释放的 IP 地址。
收集所需知识的最佳方法是从 Fail2Ban 日志中搜索 IP 地址:
# grep "192.0.2.138" /var/log/fail2ban.log
fail2ban.actions [388]: NOTICE [sshd] Ban 192.0.2.138
fail2ban.actions [388]: NOTICE [sshd] Unban 192.0.2.138
fail2ban.filter [388]: INFO [sshd] Found 192.0.2.138 - 2020-12-24 10:52:42
fail2ban.filter [388]: INFO [sshd] Found 192.0.2.138 - 2020-12-24 10:52:43
fail2ban.filter [388]: INFO [sshd] Found 192.0.2.138 - 2020-12-24 10:52:47
fail2ban.filter [388]: INFO [sshd] Found 192.0.2.138 - 2020-12-24 10:52:51
fail2ban.filter [388]: INFO [sshd] Found 192.0.2.138 - 2020-12-24 10:52:56
fail2ban.actions [388]: NOTICE [sshd] Ban 192.0.2.138
这不仅会显示哪个监狱禁止了该 IP,而且为什么– 您可以使用所有时间戳从 Fail2Ban 监控的日志中查找相应的事件。