Linux: Amministrazione sistema, Documentazione, HowTo, Tutorial, Recensioni, Manuale, Programmi, Software
LinuxGuide.it - Amministrazione Linux, Documentazione, HowTo, Tutorial, Recensioni, FAQ, Guide, News, Open Source...
Amministrazione sistema
 Amministrazione sistema Fondamentis  Fondamentis
 Amministrazione sistema Ambiente di sistema  Ambiente di sistema
 Amministrazione sistema Comandi Linux  Comandi Linux
 Amministrazione sistema Boot loader  Boot loader
 Amministrazione sistema Filesystem  Filesystem
 Amministrazione sistema Backup  Backup
 Amministrazione sistema Gruppi e Utenti  Gruppi e Utenti
 Amministrazione sistema Permessi  Permessi
 Amministrazione sistema Archivi e file compressi  Archivi e file compressi
 Amministrazione sistema Pacchetti (rpm, deb...)  Pacchetti (rpm, deb...)
 Amministrazione sistema Periferiche  Periferiche
 Amministrazione sistema Autenticazione utenti  Autenticazione utenti
 Amministrazione sistema Rete  Rete
 Amministrazione sistema Servizi di Rete (Server)  Servizi di Rete (Server)
 Amministrazione sistema Sviluppo  Sviluppo
 
Tutorial & HowTo
 Tutorial & HowTo Applicazioni  Applicazioni
 Tutorial & HowTo Internet  Internet
 Tutorial & HowTo Rete  Rete
 
FAQ Linux
 FAQ Linux Amministrazione sistema  Amministrazione sistema
 FAQ Linux Reti e rete  Reti e rete
 FAQ Linux Programmi  Programmi
 FAQ Linux X Window System  X Window System
 FAQ Linux Applicazioni  Applicazioni
 FAQ Linux Stampa  Stampa
 FAQ Linux Editoria  Editoria
 FAQ Linux I Caratteri font  I Caratteri font
 FAQ Linux Immagini  Immagini
 FAQ Linux Masterizzazione  Masterizzazione
 FAQ Linux Audio  Audio
 FAQ Linux Programmazione  Programmazione
 FAQ Linux Hardware  Hardware
 
Recensioni
 Recensioni Anno 2008  Anno 2008
 
Software Linux
Software Linux Giochi  Giochi
Software Linux Grafica  Grafica
Software Linux Internet  Internet
Software Linux Multimedia  Multimedia
Software Linux Rete  Rete
Software Linux Server  Server
Software Linux Sicurezza  Sicurezza
Software Linux Sistema  Sistema
Software Linux Sviluppo  Sviluppo
 
News Letter
Per essere sempre aggiornato!
 
 
RSS Feed
News in tempo reale!
 
Seguici su Facebook
Unisciti al nostro Linux Facebook Group
 
Popular tags
 
 
 
 
 
 
 
Home page Amministrazione sistema Rete
Cerca:
 Categoria: Amministrazione sistema > Rete

Linux: NAT translation con IPTABLES

 
è stato letto: 2403 volte
voto: 5 / 17
rating:
Vota OK questo articolo Vota KO questo articolo (vota questo articolo)
 
tag: nat, snat, dnat, masquerade, iptables
 
Condividiamo documentazione, howto, info, news, articoli, manuali linux Condividi questo documento su:
 

NAT




Introduzione
Il NAT è una tecnica che permette di manipolare l'indirizzo sorgente(SNAT) o l'indirizzo di destinazione(DNAT) del pacchetto IP quando questo viaggia sulla rete. In genere i collegamenti che effettuano il NAT ricordano come hanno manipolato il pacchetto, e quindi quando arriva un pacchetto di risposta dall'altra parte, viene effettuato su quest'ultimo la manipolazione inversa, in questo modo tutto funziona.


Le ragioni per cui viene utilizzato il NAT sono le seguenti:
1) connessioni di più client a Internet attraverso un solo IP address pubblico. Tipico delle connessioni modem o xdsl dove sia ha un solo IP pubblico.
2) quando si desidera cambiare l'IP address di destinazione sui pacchetti che giungono alla nostra rete. Questo quando si ha un solo IP address pubblico e si vuol far raggiungere dall'esterno uno o più servizi all'interno della propria rete privata.
3) quando si ha la necessità di far dialogare reti in over-lapping o duplicate.
4) quando si vuole attivare un Trasparent Proxy ovvero redirigere i pacchetti destinati a Internet verso un Web Proxy evitando così di configurare manualmente l'indirizzo del proxy sui ogni singolo client della propria rete.
5) quando si ha l'esigenza di implementare un Port-Forwarding e quindi di alterare le porte dei protocolli di trasporto TCP/UDP.


Tipi di NAT - SNAT(SourceNAT) e DNAT(DestinationNAT)
Il Source NAT si ha quando si riscrive l'indirizzo IP sorgente del pacchetto IP. SNAT opera in fase di post-routing, giusto dopo che il pacchetto venga trattato dal processo di routing pronto per essere immesso sulla rete.
Il Masquerading o Mascheramento è anch'essa una tecnica di SNAT dove tutti i pacchetti provenienti dai client interni alla rete privata vengono mascherati in un solo IP address, solitamente implementato in connessioni dial-up PPP o xdsl dove si dispone di un unico IP publico.

Il Destination NAT si ha quando si riscrive l'indirizzo IP di destinazione del pacchetto IP. DNAT opera in fase di pre-routing, giusto prima che il pacchetto venga indirizzato al processo di routing. Port-Forwarding, Load-Sharing e il Trasparent-Proxy sono tutte tecniche di DNAT.

Configurare il NAT
Prima di procedere con la configurazione di una regola NAT, ricordiamoci sempre di attivare l'IP Forwarding:
# echo 1 > /proc/sys/net/ipv4/ip_forward
Per maggiori info sull'IP Forwarding, consultare la sezione Routing.

SNAT
Mascherare tutti i pacchetti in uscita dall'interfaccia eth1 con lo stesso l'IP address assegnato all'interfaccia eth1:

# iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

Alterare in "192.168.100.254" qualsiasi indirizzo IP sorgente proveniente dall'interfaccia eth0:

# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.100.254

Impostare un pool di indirizzi con cui mascherare tutti i pacchetti in uscita dall'interfaccia eth0 in un range che va da 10.0.0.1 a 10.0.0.14:

# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.0.0.1-10.0.0.14

DNAT
Alterare in "192.168.200.1" l'indirizzo di destinazione di tutti pacchetti IP in ingresso sull'interfaccia eth0:

# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.200.1

Alterare l'indirizzo IP di destinazione solo del traffico HTTP in "172.16.10.1" porta "8080".Tipica configurazione per Trasparent-Proxy

# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to-destination 172.16.10.1:8080

Redirect di tutti i pacchetti diretti all'indirizzo 192.168.100.1 verso l'IP 172.16.20.1

# iptables -t nat -A OUTPUT -d 192.168.100.1 -j DNAT --to-destination 172.16.20.1

Redirect dei pacchetti diretti all'indirizzo 192.168.100.1sulla porta 23(Telnet) verso l'IP 10.10.10.125 porta 23(Telnet)

# iptables -t nat -A OUTPUT -d 192.168.100.1 -p tcp --dport 23 -j DNAT --to-destination 10.10.10.125:23

Abilitare una serie di host interni alla rete 10.10.10.x a ricevere connessioni Telnet mediante un unico IP address esterno "192.168.100.1" e mappando le porte esterne "2001", "2002" e "2003" a ciascun client interno:

# iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 2001 -j DNAT --to-destination 10.10.10.126:23
# iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 2002 -j DNAT --to-destination 10.10.10.127:23
# iptables -t nat -A PREROUTING -d 192.168.100.1 -p tcp --dport 2003 -j DNAT --to-destination 10.10.10.128:23

Visualizzare le tabelle NAT

# iptables -t nat -L

Ripulire le tabelle NAT

# iptables -t nat -F

 
 
 
Ultimo aggiornamento: 2009-06-25 09:56:54
 
 
 
 
Lascia un commento
no obbligatorio, non sarà mai mostrato

 
 
»Home | About | Legale | Privacy | Pubblicità | Contatti