Guida Linux Bloccare una lista di IP con IPtables

Discussione in 'Linux' iniziata da Knight, 12 Aprile 2019.

  1. Knight
    Roflmao

    Knight
    GF Admin
    Membro dello Staff

    Messaggi:
    437
    Likes Received:
    180
    Punteggio:
    43
    Chi utilizza IPtables per il firewalling, sa che per bloccare l’accesso ad un singolo IP sarà possibile utilizzare un’istruzione sul modello della seguente:

    Codice:
    iptables -I INPUT -s 192.168.0.76 -j DROP
    Esiste però un modo molto semplice per utilizzare questo comando anche su una lista di indirizzi IP; per far questo dovrete creare un nuovo file in "/root/iptables/firewall.fw"
    all’interno del quale inserire le seguenti righe d’istruzioni:

    PHP:
    #!/bin/bash
    # Simple iptables IP/subnet block script
    IPT=/sbin/iptables
    SPAMLIST
    ="spamlist"
    SPAMDROPMSG="SPAM LIST DROP"
    BADIPS=$(egrep --"^#|^$" /root/iptables/blocked.ips)
     
    # create a new iptables list
    $IPT -N $SPAMLIST
     
    for ipblock in $BADIPS
    do
      
    $IPT -A $SPAMLIST -s $ipblock -j LOG --log-prefix "$SPAMDROPMSG"
      
    $IPT -A $SPAMLIST -s $ipblock -j DROP
    done
     
    $IPT 
    -I INPUT -j $SPAMLIST
    $IPT 
    -I OUTPUT -j $SPAMLIST
    $IPT 
    -I FORWARD -j $SPAMLIST
    Il file “blocked.ips” dovrà contenere tutti gli indirizzi IP da bloccare scritti uno per riga senza alcun carattere di separazione, l’istruzione effettuerà un ciclo per leggere tutte le righe presenti nel file e inviare il comando di blocco ad ogni IP elencato.

    Esempio /root/iptables/blocked.ips


    Codice:
    192.168.1.0/24
    202.54.1.2
    # spam
    202.5.1.2
     






  2. Google Advertisement