Port forwarding
# Port forwarding

Nelle reti informatiche il port forwarding è l'operazione che permette il trasferimento dei dati (forwarding) da un computer ad un altro tramite una specifica porta di comunicazione. Questa tecnica può essere usata per permettere ad un utente esterno di raggiungere un host con indirizzo IP privato (all'interno di una LAN) mediante una porta dell'IP pubblico dello stesso. Per eseguire questa operazione si ha bisogno di un router in grado di eseguire una traduzione automatica degli indirizzi di rete, detta NAT.

## Descrizione

Questo permette a computer esterni di connettersi a uno specifico computer della rete locale, a seconda della porta usata per la connessione.Ad esempio:

* il forwarding della porta 8000 dal router a un computer interno permette a quel computer di usare il sistema Shoutcast.

Nei sistemi Linux, il port forwarding può essere realizzato tramite il sistema netfilter/iptables. Per tale sistema sarà necessario modificare la tabella nat aggiungendo l'obiettivo DNAT alla catena PREROUTING, e l'obiettivo SNAT alla catena POSTROUTING.

Operativamente, l'utente dal browser del proprio PC con un indirizzo "http:// IP del router" accede alle opzioni di configurazione del router, nel quale dichiara una sincronizzazione fra una porta del router e la corrispondente nel proprio PC.

Ad esempio nei programmi di file sharing, si potranno dichiarare le porte TCP1, UDP2, TCP3 (per l'accesso remoto). Le tre porte andranno impostate nel PC come predefinite per i protocolli TCP e UDP, e per l'accesso da remoto; nel router in una scheda per il port forwarding si dovranno inserire una start port del router e una end port, quella del PC, che saranno sincronizzate.

Perché il router riconosca il computer, è necessario creare un indirizzo IP statico. L'utente deve configurare sul PC l'ip del router come gateway predefinito, nel router sceglie un indirizzo IP fra quelli disponibili, nella configurazione del router trascrive l'IP scelto nell'elenco degli IP statici e vi aggiorna di conseguenza il range IP degli indirizzi disponibili.

Fisicamente l'indirizzo IP del computer a cui accedere tramite reindirizzamento di una porta sarà espresso come IP:numero porta (ad esempio 192.168.1.1:4421).

