Ubuntu

fail2ban 無法將 iptables 添加到規則中

  • January 31, 2022

我遇到的問題是 fail2ban 沒有將被禁止的 IP 添加到 iptables。

這是錯誤;

2022-01-29 15:13:48,499 fail2ban.actions        [2608]: NOTICE  [man] Restore Ban 212.192.246.26
2022-01-29 15:13:48,513 fail2ban.utils          [2608]: ERROR   7f9281692660 -- exec: iptables -w -N f2b-man
iptables -w -A f2b-man -j RETURN
iptables -w -I INPUT -p tcp -m multiport --dports all -j f2b-man
2022-01-29 15:13:48,514 fail2ban.utils          [2608]: ERROR   7f9281692660 -- stderr: 'iptables: Chain already exists.'
2022-01-29 15:13:48,514 fail2ban.utils          [2608]: ERROR   7f9281692660 -- stderr: "iptables v1.8.4 (legacy): invalid port/service `all' specified"
2022-01-29 15:13:48,514 fail2ban.utils          [2608]: ERROR   7f9281692660 -- stderr: "Try `iptables -h' or 'iptables --help' for more information."
2022-01-29 15:13:48,514 fail2ban.utils          [2608]: ERROR   7f9281692660 -- returned 2
2022-01-29 15:13:48,514 fail2ban.actions        [2608]: ERROR   Failed to execute ban jail 'man' action 'iptables-multiport' info 'ActionInfo({'ip': '212.192.246.26', 'family': 'inet4', 'fid': <function Actions.ActionInfo.<lambda> at 0x7f9280d62e50>, 'raw-ticket': <function Actions.ActionInfo.<lambda> at 0x7f9280d63550>})': Error starting action Jail('man')/iptables-multiport: 'Script error'

所以 iptables 不喜歡;

iptables -w -I INPUT -p tcp -m multiport --dports all -j f2b-man

–dport all 顯然是問題所在,所以我的問題是為什麼?為什麼fail2ban會給出錯誤的命令,以及如何糾正它?

編輯:在沒有網路計劃的情況下執行 Ubuntu 伺服器 20.04.3。

操作iptables-multiport並不適合禁止所有埠,您可以使用其他禁止操作。

只需將banactionjail 設置為您選擇的所有埠操作(例如iptables-allports),或使用已在(也由您的發行版維護者設置或覆蓋)中可用的插值變數“banaction_allports” ,也可以在您的.jail.conf``jail.local

[man]
# banaction = iptables-allports
banaction = %(banaction_allports)s

[other-allports-jail]
banaction = %(banaction_allports)s

引用自:https://serverfault.com/questions/1091565