Fail2ban 不会通过 /etc/init.d/fail2ban 启动,但会通过 /usr/bin/fail2ban-client 启动

Fail2ban 不会通过 /etc/init.d/fail2ban 启动,但会通过 /usr/bin/fail2ban-client 启动

我已经在 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 

相关内容