fail2ban.action 错误 iptables -w -N f2b-

fail2ban.action 错误 iptables -w -N f2b-

我已经使用 fail2ban 一段时间了,没有任何问题。

前几天,我决定停止 fail2ban,以便从我的默认 iptables 中删除一条规则。当我启动 fail2ban 时,它启动正常(根据命令:service fail2ban start)。

但是,当我检查 iptables 时,我没有看到添加的 fail2ban 链。我检查了 fail2ban 日志,发现了几个错误,如下所示:

fail2ban.action [32091]: 错误 iptables -w -N f2b- iptables -w -I INPUT -p tcp -m multiport --dports 0:65535 -j f2b- -- stderr: “iptables v1.4.7: 选项-w' requires an argument\nTryiptables -h' 或 'iptables --help' 了解更多信息。\niptables v1.4.7: 选项-w' requires an argument\nTryiptables -h' 或 'iptables --help' 了解更多信息。\niptables v1.4.7: 选项-w' requires an argument\nTryiptables -h' 或 'iptables --help' 了解更多信息。\n”

从这个日志来看,fail2ban 似乎正在尝试使用-w不存在的选项运行 iptables。我检查了所有 fail2ban 配置文件,特别是在 action.d 目录下,没有一行包含该-w选项。这有多奇怪?

我不知道这里发生了什么,因此我无法使用 fail2ban。

我感谢您的帮助。

答案1

-w选项不在您的 1.4.7 版 iptables 中,其用法在 /etc/fail2ban/action.d/iptables-common.conf 文件中进行了说明

# Option:  lockingopt
# Notes.:  Option was introduced to iptables to prevent multiple instances from
#          running concurrently and causing irratic behavior.  -w was introduced
#          in iptables 1.4.20, so might be absent on older systems
#          See https://github.com/fail2ban/fail2ban/issues/1122
# Values:  STRING
lockingopt = -w

我很想从上面的声明中删除 -w 甚至将其注释掉,看看会发生什么。


检查您的 yum.log 以查看 fail2ban 是否最近更新。如果是,查看它发生的时间,并检查您是否在那时正在运行 yumcron 作业。

答案2

最好的方法是添加:

[初始化] 锁定选项 =

在 /etc/fail2ban/jail.local

-w选项说明:

# Option:  lockingopt
# Notes.:  Option was introduced to iptables to prevent multiple      instances from
#          running concurrently and causing irratic behavior.  -w was introduced
#          in iptables 1.4.20, so might be absent on older systems
#          See https://github.com/fail2ban/fail2ban/issues/1122
# Values:  STRING

而在 centos 6.7 中,iptable 版本是 1.4.7,因此它不起作用。

更多信息请参见此处:

https://bugzilla.redhat.com/show_bug.cgi?id=1272681 https://github.com/fail2ban/fail2ban/issues/1122

相关内容