PREROUTING modifica i pacchetti in prima che siano consegnati alla catena INPUT o FORWARD di filter. Serve per pubblicare delle macchine interne della rete.
POSTROUTING serve per modificare i pacchetti dopo che sono passati per la catena FORWARD di filter. Si usa per gestire il NAT della rete interna.
OUTPUT per gestire i pacchetti generati dalla macchina, prima che vengano instradati verso l'interfaccia si destinazione.
Normalmente per la catena PREROUTING si utilizza il target DNAT e in questo caso si deve indicare con il paramentro --to-destination <IP_macchina_interna> l'IP della macchina interna che riceverà i dati
Nella catena POSTROUTING si usano normalmente due target:
SNAT se si usa un IP fisso, nel qual caso si indicherà con il parametro --to-source <ip_esterno> l'IP da utilizzare per i pacchetti uscenti
MASQUERADE se si usa un IP dinamico, nel qual caso occorre indicare con il parametro -o <nome_interfaccia> il nome dell'interfaccia di rete con la quale ci si connetterà ad Internet