PDA

View Full Version : Limitare il traffico con iptables


vampirodolce1
18-12-2006, 15:27
Con l'opzione -m limit e' possibile limitare il traffico, ad esempio in entrata per evitare bombardamenti di pacchetti. Ho notato pero' che per essere efficaci, all'indicazione del limite ne va data una successiva per il drop:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
(accetta un pacchetto SYN al secondo, per l'inizio del TCP handshake)

Questa regola pero' non ha alcuna efficacia se non si aggiunge la seguente:
iptables -A INPUT -p tcp --syn -j DROP

Come mai? La stessa cosa vale per il ping, ieri ho fatto un po' di prove e se al comando:
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT

non si aggiunge anche questo:
iptables -A INPUT -p icmp --icmp-type echo-request -j DROP

il blocco sui ping non funziona. Non ho nessun problema ad aggiungere la seconda istruzione, ma mi sembra che la prima gia' contempli un determinato input-rate (un pacchetto al secondo) o sbaglio?

Psycotic
18-12-2006, 16:30
credo che la risposta sia..
perche' in genere alla catena di input all'inizio si cambia la policy in DROP e poi dopo si accetta quello che serve... Oppure ho frainteso quello che hai scritto

vampirodolce1
19-12-2006, 07:28
credo che la risposta sia..
perche' in genere alla catena di input all'inizio si cambia la policy in DROP e poi dopo si accetta quello che serve... Oppure ho frainteso quello che hai scrittoSe io do il comando:
iptables -P INPUT DROP
e poi iptables -P OUTPUT ACCEPT
non passano nemmeno i pacchetti concessi dalle regole (nel mio caso avevo permesso: iptables -A INPUT -p icmp --icmp-type echo-request), cioe' non passa piu' niente; sbaglio qualcosa?
Pensavo che la politica predefinita DROP significasse: di default blocca tutto quello che non e' permesso, ma invece mi blocca proprio tutto. C'e' qualcosa che non mi quadra...