diff --git a/ipt-firewall-server b/ipt-firewall-server index e814112..e7660d5 100755 --- a/ipt-firewall-server +++ b/ipt-firewall-server @@ -493,11 +493,15 @@ if [[ -f "${CONFIG_DIR}/ban_ipv4.list" ]] ; then _ip="${ipv4}/${mask}" + if containsElement "$_ip" "${ban_ipv4_arr[@]}" ; then + continue + fi + for _dev in ${ext_if_arr[@]} ; do if $log_blocked_ip || $log_all ; then - $ipt -A INPUT -i $_dev -s $_ip -j LOG --log-prefix "$log_prefix Blocked ${_ip}: " --log-level $log_level + $ipt -A INPUT -i $_dev -s $_ip -j LOG --log-prefix "$log_prefix Blocked: " --log-level $log_level if $kernel_activate_forwarding ; then - $ipt -A FORWARD -i $_dev -s $_ip -j LOG --log-prefix "$log_prefix Blocked ${_ip}: " --log-level $log_level + $ipt -A FORWARD -i $_dev -s $_ip -j LOG --log-prefix "$log_prefix Blocked: " --log-level $log_level fi fi $ipt -A INPUT -i $_dev -s $_ip -j DROP @@ -506,6 +510,8 @@ if [[ -f "${CONFIG_DIR}/ban_ipv4.list" ]] ; then fi done + ban_ipv4_arr+=("$_ip") + else msg="$msg '${given_ipv4}'" fi