删除Ubuntu Linux中的所有fail2ban禁令

删除Ubuntu Linux中的所有fail2ban禁令

如何删除Ubuntu中的所有fail2ban禁令?我尝试了一切,但我不明白。

我只想删除所有禁令 - 但我不知道任何 IP 地址。

答案1

更新的答案

从版本 0.10.0 开始,fail2ban-clientunban命令可以通过两种方式使用:

unban --all                              unbans all IP addresses (in all
                                         jails and database)
unban <IP> ... <IP>                      unbans <IP> (in all jails and
                                         database)

此外,restart <JAIL>reload <JAIL>reload命令现在也有这个--unban选项。

旧答案

fail2ban 用于iptables阻止流量。如果您想查看当前被阻止的 IP 地址,请键入

iptables -L -n

并查找名为 的各种链fail2ban-something,其中something指向fail2ban监狱(例如,Chain f2b-sshd指的是监狱sshd)。如果您只想删除给<IP>定监狱的单个 IP 地址的阻止<JAIL>,fail2ban 提供了自己的客户端:

fail2ban-client set <JAIL> unbanip <IP>

或者,您也可以使用行号。首先,iptables使用行号列出规则:

iptables -L -n --line-numbers

接下来你可以使用

iptables -D fail2ban-somejail <linenumber> 

从表中删除一行。据我所知,没有选择行号范围的选项,所以我想您必须将此命令包装在 for 循环中:

for lin in {200..1}; do
   iptables -D fail2ban-somejail $lin
done

这里我编了200这个数字。检查您自己的命令输出,--line-numbers并注意最后一行(带有RETURN)应保留。请参阅下面 @roaima 的评论,了解倒计时背后的原因。

答案2

解封所有IP的最佳方法是将封禁时间设置为1秒,然后所有IP将立即被释放。

fail2ban-client set JailName bantime 1

之后您可以设置适当的禁止时间。

最好让fail2ban 为您解封。不要自己手动编辑 iptables。

答案3

最新fail2ban-client(0.10)有一个unban -all命令。监狱也可以单独“重新启动”,有效地清除禁令。

如果您有旧版本,此技巧可能适用于自动临时禁令:删除包含禁令的监狱,然后重新启动fail2ban,以便重新创建(现在是空的)监狱。

$ fail2ban-client stop sshd
Jail stopped
$ systemctl restart fail2ban

答案4

将 iptable 配置保存到文件

$ iptables-save > iptables.conf

使用您喜欢的任何编辑器进行编辑然后将配置加载回 iptables

$ iptables-restore < iptables.conf

不要忘记将配置存储在 iptables 中,以便在重新启动时拾取它

$ service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[  OK  ]

相关内容