Target e jump
Ogni regola termina con la definizione di un TARGET che indica cosa viene fatto del pacchetto.
Molti dei target principali (ACCEPT, DROP, REJECT...) determinano l'interruzione della catena: il pacchetto matchato segue le indicazioni del Target e non vengono considerate le catene successive.
Come target si può anche impostare una catena custom nella quale "saltare" (jump -j
) per procedere nell'attraversamento delle regole.
Target principali
-j ACCEPT
- Il pachetto matchato viene accettato e procede verso la sua destinazione. Si usa per definire il traffico permesso.
-j DROP
- Il pacchetto viene rifiutato e scartato, senza alcuna notifica al mittente. Si usa, in alternativa a REJECT, per bloccare traffico.
-j REJECT
- Il pacchetto viene rifiutato. Al mittente viene mandato un pacchetto (configurabile) di notifica tipo ICMP port-unreachable (--reject-with icmp-port-unreachable
)
-t LOG
- Il pacchetto viene loggato via syslog e procede l'attraversamento della catena. Opzioni: (--log-level
, --log-prefix
, --log-tcp-sequence
, --log-tcp-options
, --log-ip-options
)
-j DNAT
- Viene modificato l'IP di destinazione del pacchetto. Target disponibile solo in nat / PREROUTING e nat / OUTPUT. L'opzione --to-destination IP:porta
definisce il nuovo IP di destinazione. Si usa tipicamente su network firewall che nattano server di una DMZ
-j SNAT
- Viene modificato l'IP sorgente. Solo in nat / POSTROUTING. Prevede l'opzione --to-source IP:porta
. Si usa per permettere l'accesso a Internet da una rete locale con IP privati.
-j MASQUERADE
- Simile a SNAT, si applica quando i pacchetti escono da interfacce con IP dinamico (dialup, adsl, dhcp...). Si usa solo in nat / POSTROUTING e prevede l'opzione --to-ports porte
.
-j REDIRECT
- Redirige il pacchetto ad una porta locale. Usabile solo in nat / PREROUTING e nat / OUTPUT è previsto per fare un transparent proxy (con proxy server in esecuzione sulla macchina con iptables)
-j RETURN
- Interrompe l'attraversamento della catena. Se questa è una secondaria, il pacchetto torna ad attraversare la catena madre da punto in cui aveva fatto il salto nella secondaria. Se il RETURN è in una delle catene di default, il pacchetto interrompe l'attraversamento e segue la policy di default.
-j TOS
- Usabile solo nella tabella mangle, permette di cambiare il TOS (Type Of Service) di un pacchetto con l'opzione --set-tos
. Per un elenco dei parametri disponibili: iptables -j TOS -h
-j MIRROR
- Curioso e sperimentale, questo target invia un pacchetto speculare al mittente. In pratica è come se facesse da specchio per tutti i pacchetti ricevuti. Da usare con cautela, per evitare attacchi DOS indiretti.