Назад | Перейти на главную страницу

Fail2Ban - Iptables - Set не существует

У меня очень странная проблема с fail2ban / iptables. Что-то не работает, но я не могу понять, что именно.

Я добавил эти настройки и фильтр для fail2ban:

[wordpress-register]
enabled = true
port = http,https
filter = wordpress-register 
logpath = /var/log/nginx/access.log

[Definition] 

failregex = ^<HOST> .* "GET /wp-login.php\?action=register HTTP/.*" .*$

Fail2ban запускается, но в журналах ошибок есть следующее:

2014-09-22 15: 14: 35,794 fail2ban.server.action [5275]: ERROR ipset create fail2ban-wordpress-register hash: ip timeout 600

firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m multiport --dports http, https -m set --match-set fail2ban-wordpress-register src -j REJECT --reject-with icmp -port-unreachable - stderr: 'ipset v6.19: получена ошибка ядра: тип набора не поддерживается \ n'

2014-09-21 02: 57: 43,860 fail2ban.server.action [1191]: ERROR ipset create fail2ban-wordpress-register hash: ip timeout 600 firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -p tcp -m multiport --dports http, https -m set --match-set fail2ban-wordpress-register src -j REJECT --reject-with icmp-port-unreachable - stdout: "\ x1b [91mError: COMMAND_FAILED: '/ sbin / iptables -t filter -I INPUT_direct 1 -p tcp -m multiport --dports http, https -m set --match-set fail2ban-wordpress-register src -j REJECT --reject-with icmp-port-unreachable ' не удалось: iptables v1.4.21: Set fail2ban-wordpress-register не существует. \ n \ nПопробуйте `iptables -h 'или' iptables --help 'для получения дополнительной информации. \ x1b [00m \ n"

Есть идеи, в чем может быть проблема? Думаю, главное то, что:

ipset v6.19: получена ошибка ядра: тип набора не поддерживается

Но что это значит?

В ipset команда требует поддержки IP SET в ядре. В частности, вам нужны следующие настройки:

CONFIG_IP_SET=m
CONFIG_IP_SET_HASH_IP=m

И похоже, что ваше ядро ​​построено без поддержки ipset, или, по крайней мере, оно не может найти эти модули. Решите эту проблему, и ваша ошибка исчезнет.

Попробуйте бежать find /lib/modules/$(uname -r) -name ip_set.ko чтобы узнать, поддерживает ли ваше текущее ядро ​​их, а также find /lib/modules -name ip_set.ko чтобы узнать, поддерживает ли их какое-либо из установленных ядер.

Если вам нужна дополнительная помощь, сообщите нам:

  1. Какую версию CentOS вы используете
  2. Какое ядро ​​вы используете
  3. Как вы установили fail2ban (из репозитория EPEL или вручную?)

Я также должен отметить, что версия ipset, указанная в вашем вопросе (6.19), поставляется с CentOS 7, поэтому, если вы используете исходное ядро ​​и fail2ban из репозитория EPEL, все должно работать.

CentOS 6.5 также поддерживает наборы IP-адресов, а в EPEL для CentOS 6 доступен fail2ban. Они также должны работать нормально.

Однако, если вы используете CentOS 5, вам, скорее всего, не повезло. Возможно, вам повезет со сборкой модулей, поставляемых с ipset, но я не уверен, что ядро ​​CentOS 5 вообще поддерживается. Если вам действительно удалось это осуществить, а затем обновить ядро, то это просто вопрос перестройки модулей для нового ядра.