NAT con iptables: differenze tra le versioni

m
nessun oggetto della modifica
(verificato, sintassi iptables non è cambiata; comunque in futuro sarà da scriverne un'altra per nftables probabilmente - iptables ancora disponibile, ma è raccomandata la migrazione a nftables)
mNessun oggetto della modifica
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
{{Versioni compatibili | NO_REVISION | squeeze | wheezy | jessie | stretch | buster}}
{{Versioni compatibili | NO_REVISION | wheezy | jessie | stretch | buster}}
==Scenario==
==Scenario==
Abbiamo una macchina Debian che vogliamo usare come gateway per Internet, per poter fornire uno o più dei seguenti servizi:
Abbiamo una macchina Debian che vogliamo usare come gateway per Internet, per poter fornire uno o più dei seguenti servizi:
Riga 56: Riga 56:
case "$1" in
case "$1" in
   start)
   start)
         iptables -t nat -A POSTROUTING -d ! ${LOCALNET} -j SNAT --to ${EXTERNIP}
         iptables -t nat -A POSTROUTING ! -d ${LOCALNET} -j SNAT --to ${EXTERNIP}
         iptables -t nat -A PREROUTING --dst ${EXTERNIP} -p tcp --dport 22 -j DNAT --to-destination ${SSHHOST}
         iptables -t nat -A PREROUTING --dst ${EXTERNIP} -p tcp --dport 22 -j DNAT --to-destination ${SSHHOST}
         echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
         echo 1 > /proc/sys/net/ipv4/conf/all/forwarding
Riga 88: Riga 88:
Il primo comando iptables che troviamo nello script è:
Il primo comando iptables che troviamo nello script è:
<pre>
<pre>
iptables -t nat -A POSTROUTING -d ! ${LOCALNET} -j SNAT --to ${EXTERNIP}
iptables -t nat -A POSTROUTING ! -d ${LOCALNET} -j SNAT --to ${EXTERNIP}
</pre>
</pre>
Il comando imposta il SNAT, cioè indirizza verso internet i pacchetti generati dalle macchine della LAN.<br>
Il comando imposta il SNAT, cioè indirizza verso internet i pacchetti generati dalle macchine della LAN.<br>
Riga 94: Riga 94:
* <code>-t nat</code> specifica che il tipo di regola è network address translation (NAT), cioè IP masquerading
* <code>-t nat</code> specifica che il tipo di regola è network address translation (NAT), cioè IP masquerading
* <code>-A POSTROUTING</code> appende una regola alla catena <code>POSTROUTING</code>: la regola sarà processata dopo tutte le altre regole esistenti
* <code>-A POSTROUTING</code> appende una regola alla catena <code>POSTROUTING</code>: la regola sarà processata dopo tutte le altre regole esistenti
* <code>-d ! ${LOCALNET}</code> indica ogni pacchetto destinato a un indirizzo IP non facente parte di <code>${LOCALNET}</code>
* <code>! -d ${LOCALNET}</code> indica ogni pacchetto destinato a un indirizzo IP non facente parte di <code>${LOCALNET}</code>
* <code>-j SNAT</code> indica di saltare alla regola <code>SNAT</code>
* <code>-j SNAT</code> indica di saltare alla regola <code>SNAT</code>
* <code>--to ${EXTERNIP}</code> specifica che ogni pacchetto che lascia la rete deve avere indirizzo IP <code>${EXTERNIP}</code>
* <code>--to ${EXTERNIP}</code> specifica che ogni pacchetto che lascia la rete deve avere indirizzo IP <code>${EXTERNIP}</code>
Riga 119: Riga 119:
{{Autori
{{Autori
|Autore=[[Utente:Ferdybassi|Ferdybassi]] 17:35, 4 gen 2010 (CET)
|Autore=[[Utente:Ferdybassi|Ferdybassi]] 17:35, 4 gen 2010 (CET)
|Verificata_da=
:[[Utente:HAL 9000|HAL 9000]] ([[Discussioni utente:HAL 9000|discussioni]]) 13:08, 13 mar 2021 (UTC)
|Numero_revisori=1
}}
}}


[[Categoria:Firewall]]
[[Categoria:Firewall]]
3 581

contributi