Update documentation and add status

This commit is contained in:
Andrew Cornford 2025-06-09 11:33:02 +01:00
parent 1821fb1861
commit dcaa6b448a
2 changed files with 18 additions and 2 deletions

View file

@ -78,7 +78,7 @@ This following configuration files inside the `docker-data/dms/config/` volume w
[github-file-f2bjail]: https://github.com/docker-mailserver/docker-mailserver/blob/master/config-examples/fail2ban-jail.cf
[github-file-f2bconfig]: https://github.com/docker-mailserver/docker-mailserver/blob/master/config-examples/fail2ban-fail2ban.cf
### Viewing All Bans
### Viewing All Bans and Ignores
When just running
@ -86,7 +86,7 @@ When just running
setup fail2ban
```
the script will show all banned IP addresses.
the script will show all banned and ignored IP addresses.
To get a more detailed `status` view, run
@ -102,6 +102,14 @@ You can manage F2B with the `setup` script. The usage looks like this:
docker exec <CONTAINER NAME> setup fail2ban [<ban|unban> <IP>]
```
### Managing Ignores
If there are IPs or IP ranges you wish for fail2ban (never ban) this can be done like so:
```bash
docker exec <CONTAINER NAME> setup fail2ban [<ignore|consider> <IP OR CDIR RANGE>]
```
### Viewing the Log File
```bash

View file

@ -21,6 +21,7 @@ done
if [[ -z ${1} ]]; then
IPS_BANNED=0
IPS_IGNORED=0
for JAIL in "${JAILS[@]}"; do
BANNED_IPS=$(fail2ban-client status "${JAIL}" | grep -oP '(?<=Banned IP list:\s).+')
@ -29,9 +30,16 @@ if [[ -z ${1} ]]; then
echo "Banned in ${JAIL}: ${BANNED_IPS}"
IPS_BANNED=1
fi
IGNORED_IPS=$(fail2ban-client get "${JAIL}" ignoreip | grep -oP '(?<=[|`]-\s).+')
if [[ -n ${IGNORED_IPS} ]]; then
echo "Ignored in ${JAIL}: ${IGNORED_IPS}"
IPS_IGNORED=1
fi
done
[[ ${IPS_BANNED} -eq 0 ]] && _log 'info' "No IPs have been banned"
[[ ${IPS_IGNORED} -eq 0 ]] && _log 'info' "No IPs are ignored"
else
case "${1}" in