iptables mit IP’s aus einer Datei füllen

Lege eine iptables.sh Datei unter z.B. /usr/src/iptables.sh mit diesem Inhalt an.

vim /usr/src/iptables.sh

content
#!/bin/bash
WORKDIR="/usr/src"
#######################################
cd $WORKDIR
if [ -f iptables.txt ]; then
iptables -F
BLOCKIP="iptables.txt"
IPS=$(grep -Ev "^#" $BLOCKIP)
for i in $IPS
do
    iptables -A INPUT -s $i -j DROP
iptables -A OUTPUT -d $i -j DROP
done
fi

Macht diese Datei executable

chmod 700 iptables.sh

Nun könnt Ihr unter /usr/src/iptables.txt eine Liste von IP’s anlegen und diese Datei durch einen Cronjob ausführen lassen.

Cronjob Nightly
crontab -e 0 0 * * * root /usr/src/iptables.sh
 

root