Skip to content

[BUG] unsupported "grep -P" in nftables.conf #41

@tbd-vam

Description

@tbd-vam

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

On shutdown, when fail2ban stops jails, which use nftables, it executes "grep -P".
However, "-P" is not supported in the grep version included in the latest docker image. (Linuxserver.io version:- 1.1.0-r2-ls27 Build-date:- 2025-12-19T07:37:52+00:00)

nftables.conf line 57
_nft_get_handle_id = grep -oP '@<addr_set>\s+.*\s+\Khandle\s+(\d+)$'

Expected Behavior

grep version should support -P

Steps To Reproduce

  1. configure a jail to use nftables, e.g.:
[nginx-418]
enabled  = true
port     = http
action   = nftables[type=allports]
logpath  = %(nginx_access_log)s
maxretry = 0
  1. start fail2ban container
  2. ban an IP
  3. stop or restart fail2ban container

Environment

- OS: Ubuntu 24.04.3 LTS
- How docker service was installed: snap

CPU architecture

x86-64

Docker creation

docker run -d --name=fail2ban --network container:wireguard --cap-add=NET_ADMIN --cap-add=NET_RAW --restart=unless-stopped -e PUID=1000 -e PGID=1000 -v fail2ban:/config -v proxy-logs:/remotelogs/nginx:ro lscr.io/linuxserver/fail2ban

Container logs

2026-02-05 16:56:28,856 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Flush ticket(s) with nftables
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- exec: { nft flush set inet f2b-table addr-set-nginx-bad-request 2> /dev/null; } || {
{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-nginx-bad-request\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do
nft delete rule inet f2b-table f2b-chain $hdl; done
nft delete set inet f2b-table addr-set-nginx-bad-request
nft add set inet f2b-table addr-set-nginx-bad-request \{ type ipv4_addr\; flags interval\; \}

nft add rule inet f2b-table f2b-chain meta l4proto \{ tcp \} ip saddr @addr-set-nginx-bad-request reject

}
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,893 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: ''
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: ''
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: ''
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:28,894 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:28,895 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'delete set inet f2b-table addr-set-nginx-bad-request'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'add set inet f2b-table addr-set-nginx-bad-request { type ipv4_addr; flags interval; }'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '             ^^^^^^^^^'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: 'add rule inet f2b-table f2b-chain meta l4proto { tcp } ip saddr @addr-set-nginx-bad-request reject'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- stderr: '              ^^^^^^^^^'
2026-02-05 16:56:28,896 fail2ban.utils          [154]: ERROR   70102dbea910 -- returned 1
2026-02-05 16:56:28,897 fail2ban.actions        [154]: ERROR   Failed to flush bans in jail 'nginx-bad-request' action 'nftables': Error flushing action Jail('nginx-bad-request')/nftables: 'Script error'
2026-02-05 16:56:28,897 fail2ban.actions        [154]: INFO    No flush occurred, do consistency check
2026-02-05 16:56:28,934 fail2ban.utils          [154]: ERROR   70102cd44a90 -- exec: { nft flush set inet f2b-table addr-set-nginx-forbidden 2> /dev/null; } || {
{ nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-nginx-forbidden\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do
nft delete rule inet f2b-table f2b-chain $hdl; done
nft delete set inet f2b-table addr-set-nginx-forbidden
nft add set inet f2b-table addr-set-nginx-forbidden \{ type ipv4_addr\; flags interval\; \}

nft add rule inet f2b-table f2b-chain meta l4proto \{ tcp \} ip saddr @addr-set-nginx-forbidden reject

}
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: ''
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: ''
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: ''
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:28,935 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:28,936 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'delete set inet f2b-table addr-set-nginx-forbidden'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'add set inet f2b-table addr-set-nginx-forbidden { type ipv4_addr; flags interval; }'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '             ^^^^^^^^^'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: 'add rule inet f2b-table f2b-chain meta l4proto { tcp } ip saddr @addr-set-nginx-forbidden reject'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- stderr: '              ^^^^^^^^^'
2026-02-05 16:56:28,937 fail2ban.utils          [154]: ERROR   70102cd44a90 -- returned 1
2026-02-05 16:56:28,937 fail2ban.actions        [154]: ERROR   Failed to flush bans in jail 'nginx-forbidden' action 'nftables': Error flushing action Jail('nginx-forbidden')/nftables: 'Script error'
2026-02-05 16:56:28,938 fail2ban.actions        [154]: INFO    No flush occurred, do consistency check
2026-02-05 16:56:28,945 fail2ban.utils          [154]: ERROR   70102d3969b0 -- exec: nft list chain inet f2b-table f2b-chain | grep -q '@addr-set-nginx-bad-request[ \t]'
2026-02-05 16:56:28,945 fail2ban.utils          [154]: ERROR   70102d3969b0 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,945 fail2ban.utils          [154]: ERROR   70102d3969b0 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:28,945 fail2ban.utils          [154]: ERROR   70102d3969b0 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,946 fail2ban.utils          [154]: ERROR   70102d3969b0 -- returned 1
2026-02-05 16:56:28,946 fail2ban.actions        [154]: ERROR   Invariant check failed. Flush is impossible.
2026-02-05 16:56:28,946 fail2ban.actions        [154]: NOTICE  [nginx-bad-request] Unban 157.245.77.56
2026-02-05 16:56:28,946 fail2ban.actions        [154]: NOTICE  [nginx-bad-request] Unban 162.142.125.115
2026-02-05 16:56:28,948 fail2ban.actions        [154]: NOTICE  [nginx-bad-request] Unban 172.239.103.166
2026-02-05 16:56:28,948 fail2ban.actions        [154]: NOTICE  [nginx-bad-request] Unban 175.107.211.3
2026-02-05 16:56:28,948 fail2ban.actions        [154]: NOTICE  [nginx-bad-request] Unban 93.174.93.12
2026-02-05 16:56:28,952 fail2ban.utils          [154]: ERROR   70102d395330 -- exec: nft list chain inet f2b-table f2b-chain | grep -q '@addr-set-nginx-forbidden[ \t]'
2026-02-05 16:56:28,952 fail2ban.utils          [154]: ERROR   70102d395330 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:28,952 fail2ban.utils          [154]: ERROR   70102d395330 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:28,952 fail2ban.utils          [154]: ERROR   70102d395330 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:28,953 fail2ban.utils          [154]: ERROR   70102d395330 -- returned 1
2026-02-05 16:56:28,953 fail2ban.actions        [154]: ERROR   Invariant check failed. Flush is impossible.
2026-02-05 16:56:28,953 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Unban 195.178.110.54
2026-02-05 16:56:28,954 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Unban 34.55.119.126
2026-02-05 16:56:28,955 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Unban 45.139.104.26
2026-02-05 16:56:28,955 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Unban 45.148.10.238
2026-02-05 16:56:28,955 fail2ban.actions        [154]: NOTICE  [nginx-forbidden] Unban 61.8.141.185
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- exec: { nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-nginx-bad-request\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do
nft delete rule inet f2b-table f2b-chain $hdl; done
nft delete set inet f2b-table addr-set-nginx-bad-request
{ nft list table inet f2b-table | grep -qP '^\s+set\s+'; } || {
nft delete table inet f2b-table
}
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:29,003 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'delete set inet f2b-table addr-set-nginx-bad-request'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,004 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'list table inet f2b-table'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: ''
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:29,005 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: 'delete table inet f2b-table'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- stderr: '                  ^^^^^^^^^'
2026-02-05 16:56:29,006 fail2ban.utils          [154]: ERROR   70102dbbb550 -- returned 1
2026-02-05 16:56:29,006 fail2ban.actions        [154]: ERROR   Failed to stop jail 'nginx-bad-request' action 'nftables': Error stopping action Jail('nginx-bad-request')/nftables: 'Script error'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- exec: { nft -a list chain inet f2b-table f2b-chain | grep -oP '@addr-set-nginx-forbidden\s+.*\s+\Khandle\s+(\d+)$'; } | while read -r hdl; do
nft delete rule inet f2b-table f2b-chain $hdl; done
nft delete set inet f2b-table addr-set-nginx-forbidden
{ nft list table inet f2b-table | grep -qP '^\s+set\s+'; } || {
nft delete table inet f2b-table
}
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'list chain inet f2b-table f2b-chain'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:29,056 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:29,057 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'delete set inet f2b-table addr-set-nginx-forbidden'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'grep: unrecognized option: P'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Error: No such file or directory'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'list table inet f2b-table'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '                ^^^^^^^^^'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'BusyBox v1.37.0 (2025-11-23 13:10:04 UTC) multi-call binary.'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Usage: grep [-HhnlLoqvsrRiwFE] [-m N] [-A|B|C N] { PATTERN | -e PATTERN... | -f FILE... } [FILE]...'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Search for PATTERN in FILEs (or stdin)'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: ''
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-H\tAdd 'filename:' prefix"
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-h\tDo not add 'filename:' prefix"
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-n\tAdd 'line_no:' prefix"
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-l\tShow only names of files that match'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-L\tShow only names of files that don't match"
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-c\tShow only count of matching lines'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-o\tShow only the matching part of line'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-q\tQuiet. Return 0 if PATTERN is found, 1 otherwise'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-v\tSelect non-matching lines'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-s\tSuppress open and read errors'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-r\tRecurse'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-R\tRecurse and dereference symlinks'
2026-02-05 16:56:29,058 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-i\tIgnore case'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-w\tMatch whole words only'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-x\tMatch whole lines only'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-F\tPATTERN is a literal (not regexp)'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-E\tPATTERN is an extended regexp'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-m N\tMatch up to N times per file'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-A N\tPrint N lines of trailing context'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-B N\tPrint N lines of leading context'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: "\t-C N\tSame as '-A N -B N'"
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-e PTRN\tPattern to match'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '\t-f FILE\tRead pattern from file'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'Error: Could not process rule: No such file or directory'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: 'delete table inet f2b-table'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- stderr: '                  ^^^^^^^^^'
2026-02-05 16:56:29,059 fail2ban.utils          [154]: ERROR   70102d330630 -- returned 1
2026-02-05 16:56:29,059 fail2ban.actions        [154]: ERROR   Failed to stop jail 'nginx-forbidden' action 'nftables': Error stopping action Jail('nginx-forbidden')/nftables: 'Script error'
2026-02-05 16:56:29,065 fail2ban.actions        [154]: NOTICE  [nginx-badbots] Flush ticket(s) with nftables
2026-02-05 16:56:29,066 fail2ban.jail           [154]: INFO    Jail 'nginx-418' stopped
2026-02-05 16:56:29,068 fail2ban.jail           [154]: INFO    Jail 'nginx-bad-request' stopped
2026-02-05 16:56:29,068 fail2ban.jail           [154]: INFO    Jail 'nginx-badbots' stopped
2026-02-05 16:56:29,068 fail2ban.jail           [154]: INFO    Jail 'nginx-forbidden' stopped
2026-02-05 16:56:29,069 fail2ban.database       [154]: INFO    Connection to database closed.
2026-02-05 16:56:29,069 fail2ban.server         [154]: INFO    Exiting Fail2ban

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions