40 lines
884 B
Bash
Executable File
40 lines
884 B
Bash
Executable File
#!/bin/bash
|
||
|
||
logfile=’/var/log/fail2ban.log’
|
||
fallbackjail=’sshd’
|
||
|
||
echo “Enter ip to unban:”
|
||
read ip
|
||
|
||
echo “Checking whether the ip is banned”
|
||
if [ 0 -lt `iptables -n -L|grep “REJECT”|grep “\”|wc -l` ]
|
||
then
|
||
echo “The ip $ip is banned”
|
||
else
|
||
echo “The ip $ip is not banned, ABORTING”
|
||
exit
|
||
fi
|
||
|
||
echo “Trying to guess the jail name from $logfile”
|
||
jail=`grep “Ban $ip$” $logfile|cut -d ‘[‘ -f 3|cut -d ‘]’ -f 1`
|
||
if [ 0 -lt ${#jail} ]
|
||
then
|
||
echo “Found jail $jail for this ip”
|
||
else
|
||
echo “No jail found assuming $fallbackjail”
|
||
jail=$fallbackjail
|
||
fi
|
||
|
||
echo “Checking that jail exists”
|
||
exists=`fail2ban-client status|grep “$jail”`
|
||
if [ 0 -lt ${#exists} ]
|
||
then
|
||
echo “Jail $jail exists”
|
||
else
|
||
echo “Jail $jail doesn’t exist, ABORTING”
|
||
exit
|
||
fi
|
||
|
||
echo “Unbanning ip $ip from jail $jail”
|
||
fail2ban-client set $jail unbanip $ip
|