如何在fail2ban中为特定IP添加监狱?

我想添加一个特定的IP列表,我希望在发出几个“GET”请求后从Fail2ban收到一封邮件。

在apache的访问日志中寻找的模式是^ 1.2.3.4 – 。* $,但是fail2ban-regex失败(我不能怪它)说:

无法删除正则expression式。 索引0无效在^ 1.2.3.4 – 。* $中没有“主机”组

无论如何,我可以在自定义filter/监狱中设置“HOST”variables吗?

正则expression式需要有一个(括号)分组的IP地址,所以fail2ban知道什么IP禁止 :

在failregex的每一行中,与主机名或IP地址相匹配的部分必须用(?P<host> ... )三明治包装。 这是一个特定于Python的正则expression式扩展,它将匹配的内容分配给名称<host><host>标签是告诉fail2ban哪个主机正在连接的,所以它必须出现在每一行failregex中。 如果不是这样,fail2ban将发出关于“否”主机组“的错误消息。

在你的情况,你的正则expression式应该是

 ^(?P<host>1.2.3.4) - .*$