我已经在 RHEL 上成功运行 fail2ban 很长时间了。
现在,通过 /etc/init.d/fail2ban 启动、停止和重新启动突然不再起作用:
# /etc/init.d/fail2ban start
Starting fail2ban: [ OK ]
# service fail2ban status
Fail2ban (pid 31808) is running...
ERROR Unable to contact server. Is it running?
# /etc/init.d/fail2ban stop
Stopping fail2ban: [FAILED]
然而如果我这样做它就会起作用:
# /usr/bin/fail2ban-client start
2014-02-11 15:46:13,863 fail2ban.server : INFO Starting Fail2ban v0.8.4
2014-02-11 15:46:13,863 fail2ban.server : INFO Starting in daemon mode
# /usr/bin/fail2ban-client status
Status
|- Number of jail: 10
`- Jail list: ...
#/usr/bin/fail2ban-client stop
Shutdown successful
文件 /etc/init.d/fail2ban 没有改变,我看不出有什么问题。
答案1
我想到了。
有一个恶意的 fail2ban 进程正在运行。在我将其终止后,fail2ban 现在以正常方式重新启动。
答案2
编辑:提到的命令现在是标准化的“systemctl”,而不是根据@Michael Hampton 当前的建议旧的已弃用的“服务”:)
要终止 fail2ban 的任何旧进程,您可以使用一种干净的方法和一种肮脏的方法,如下所述。
干净的:这也将确保防火墙中没有留下旧规则/禁令
sudo systemctl stop fail2ban.service
sudo systemctl restart fail2ban.service
脏(1):某些规则可能无法正确删除
# ps -au |grep fail2ban
# killall <pid>
# systemctl restart fail2ban.service
肮脏 (2):某些规则可能无法正确删除
# killall fail2ban
# systemctl restart fail2ban.service