NAT con iptables: differenze tra le versioni

Riga 93: Riga 93:
</pre>
</pre>
==Iptables in profondità==
==Iptables in profondità==
Lo script precedente utilizza delle variabili impostate all'inizio dello script stesso, ma possono essere specificati dei valori anche direttamente all'interno dei comandi <tt>iptables</tt>.<br>
Il primo comando iptables che troviamo è:
<pre>
iptables -t nat -A POSTROUTING -d ! ${LOCALNET} -j SNAT --to ${EXTERNIP}
</pre>
Il comando imposta il SNAT, cioè indirizza verso internet i pacchetti generati dalle macchine della LAN.<br>
Vediamo di capirci qualcosa di più:
* <tt>-t nat</tt> specifica che il tipo di regola è network address translation (NAT), cioè IP masquerading
* <tt>-A POSTROUTING</tt> appende una regola alla catena POSTROUTING: la regola sarà processata dopo tutte le altre regole esistenti
* <tt>-d ! ${LOCALNET}</tt> indica ogni pacchetto destinato a un indirizzo IP non facente parte di ${LOCALNET}
* <tt>-j SNAT</tt> indica di saltare alla regola SNAT
* <tt>--to ${EXTERNIP}</tt> specifica che ogni pacchetto che lascia la rete deve avere indirizzo IP ${EXTERNIP}
Tradotto in italiano, la regola suona più o meno così: prendi ogni pacchetto la cui destinazione è esterna alla LAN e sparalo su internet, dopo aver cambiato il suo indirizzo IP di provenienza con l'indirizzo IP del firewall Debian.<br>