Con este script podemos cargar una lista de ips separadas por saltos de línea desde el fichero blacklist.txt. Las ips que se añadan directamente pasarán a estar en la lista para que no se acepte ninguna conexión desde ellas.
#!/bin/bash
while read ip
do
if [[ $ip =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]] ; then
echo "[+] Add ip to blacklist $ip"
blacklist+=( "$ip" )
else
echo "[-] Wrong ip in list: $ip"
fi
done < blacklist.txt
SAVE_IFS=$IFS
IFS=","
blacklist="${blacklist[*]}"
IFS=$SAVE_IFS
echo "[+]Command: iptables -A INPUT -s $blacklist -j DROP"
if (iptables -A INPUT -s $blacklist -j DROP); then
echo "[+] Done ..."
else
echo "[!] Fail command!"
fi