11#! /bin/bash
22# info: delete firewall blocking rule
3- # options: IP CHAIN
3+ # options: IPV4_CIDR CHAIN
44#
55# example: v-delete-firewall-ban 198.11.130.250 MAIL
66#
1111# ----------------------------------------------------------#
1212
1313# Argument definition
14- ip =$1
14+ ipv4_cidr =$1
1515chain=$( echo $2 | tr ' [:lower:]' ' [:upper:]' )
1616
1717# Defining absolute path for iptables and modprobe
@@ -31,8 +31,8 @@ source_conf "$HESTIA/conf/hestia.conf"
3131# Verifications #
3232# ----------------------------------------------------------#
3333
34- check_args ' 2' " $# " ' IP CHAIN'
35- is_format_valid ' ip ' ' chain'
34+ check_args ' 2' " $# " ' IPV4_CIDR CHAIN'
35+ is_format_valid ' ipv4_cidr ' ' chain'
3636is_system_enabled " $FIREWALL_SYSTEM " ' FIREWALL_SYSTEM'
3737
3838# Perform verification if read-only mode is enabled
@@ -47,30 +47,30 @@ heal_iptables_links
4747
4848conf=" $HESTIA /data/firewall/banlist.conf"
4949if [ " $chain " == " ALL" ]; then
50- check_ip=$( grep " IP='$ip ' CHAIN='*'" $conf )
50+ check_ip=$( grep " IP='$ipv4_cidr ' CHAIN='*'" $conf )
5151 if [ -z " $check_ip " ]; then
5252 exit
5353 fi
54- grep " IP='$ip ' CHAIN='*'" $conf | while read -r line; do
54+ grep " IP='$ipv4_cidr ' CHAIN='*'" $conf | while read -r line; do
5555 parse_object_kv_list $line
5656
5757 # Deleting ip from banlist
5858 sip=$( echo " $IP " | sed " s|/|\\ \/|g" )
5959 sed -i " /IP='$sip ' CHAIN='$CHAIN '/d" $conf
60- b=$( $iptables -L fail2ban-$CHAIN --line-number -n | grep -w $ip | awk ' {print $1}' )
60+ b=$( $iptables -L fail2ban-$CHAIN --line-number -n | grep -w $ipv4_cidr | awk ' {print $1}' )
6161 $iptables -D fail2ban-$CHAIN $b 2> /dev/null
6262 done
6363else
6464 # Checking ip in banlist
65- check_ip=$( grep " IP='$ip ' CHAIN='$chain '" $conf 2> /dev/null)
65+ check_ip=$( grep " IP='$ipv4_cidr ' CHAIN='$chain '" $conf 2> /dev/null)
6666 if [ -z " $check_ip " ]; then
6767 exit
6868 fi
6969
7070 # Deleting ip from banlist
71- sip=$( echo " $ip " | sed " s|/|\\ \/|g" )
71+ sip=$( echo " $ipv4_cidr " | sed " s|/|\\ \/|g" )
7272 sed -i " /IP='$sip ' CHAIN='$chain '/d" $conf
73- b=$( $iptables -L fail2ban-$chain --line-number -n | grep -w $ip | awk ' {print $1}' )
73+ b=$( $iptables -L fail2ban-$chain --line-number -n | grep -w $ipv4_cidr | awk ' {print $1}' )
7474 $iptables -D fail2ban-$chain $b 2> /dev/null
7575fi
7676
@@ -82,7 +82,7 @@ chmod 660 $conf
8282# ----------------------------------------------------------#
8383
8484# Logging
85- $BIN /v-log-action " system" " Info" " Firewall" " Removed IP from ban list (IP: $ip , Service: $chain )."
85+ $BIN /v-log-action " system" " Info" " Firewall" " Removed IP from ban list (IP: $ipv4_cidr , Service: $chain )."
8686log_event " $OK " " $ARGUMENTS "
8787
8888exit
0 commit comments