1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Bloccare una lista di IP con IPtables

Discussion in 'Linux' started by Knight, May 21, 2013.

  1. Knight
    Sleepy

    Knight
    GF Admin
    Staff Member

    Messages:
    432
    Likes Received:
    162
    Trophy Points:
    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:

    Code:
    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

    Code:
    192.168.1.0/24
    202.54.1.2
    # spam
    202.5.1.2
     






  2. Google Advertisement

Share This Page