Informalmente si parla di "aprire le porte sul router", ma in realtà sarebbe più corretto "inoltrare le porte del router verso il PC". Indipendentemente dal nome che scegliamo di utilizzare, la procedura universalmente nota come "port forwarding" ha uno scopo ben preciso: far sì che un computer collegato ad Internet tramite router possa essere raggiunto dall'esterno. Nello specifico, questa configurazione è indispensabile per ottenere la massima velocità con i programmi di filesharing, controllare il sistema da remoto, rendere disponibili i file tramite FTP, erogare un piccolo sito web direttamente dal proprio computer ed in una miriade di altre situazioni. In questa guida vedremo come raggiungere l'obbiettivo in modo pratico, ottenendo il miglior risultato con il minor numero di complicazioni possibile.
nota: questa è la nostra guida "generale", per aprire le porte su qualsiasi router. Abbiamo però proposto anche le seguenti guide, specifiche per alcuni modelli:
- router TIM HUB: Guida: come aprire le porte TCP/UDP su router TIM fibra (TIM HUB)
- router ASUS: Guida: come aprire le porte TCP/UDP su router ASUS
Un minimo di teoria
Lo scopo di questo articolo è prettamente "pratico", ma prima di vedere dove cliccare è indispensabile capire alcune meccaniche essenziali.
[nota: sì, il paragrafo è oltremodo semplicistico e fa rabbrividire gli estimatori di un testo sacro come "Reti di calcolatori e Internet. Un approccio top-down (Kurose-Ross)". D'altro canto, questa brevissima trattazione è finalizzata unicamente a rendere chiara la procedura pratica]
Pensiamo, ad esempio, di voler predisporre tutto quanto di modo che sia possibile utilizzare il nostro computer di casa/ufficio da qualsiasi parte del mondo. Una delle migliori soluzioni per il controllo remoto è già integrata nelle edizioni professionali di Windows e prende il nome di Desktop remoto. Il componente funziona accettando la connessione da un altro computer, ovvero quello davanti al quale saremo fisicamente seduti e del quale utilizzeremo mouse e tastiera.
In questo caso, il nostro computer di casa/ufficio ricopre il ruolo di server, mentre quello dal quale staremo operando funziona da client. Affinché la connessione fra i due possa avvenire è necessario che server e client dispongano di un canale di comunicazione condiviso, identificato da un numero di porta. Il server, quindi, apre una porta il cui numero è noto alla controparte client (3389
, nel caso di Desktop remoto) e aspetta che qualcuno vi si connetta per richiedere il servizio.
Fino a quando i due computer fanno parte della stessa rete locale (LAN) vi può essere un unico impedimento: il firewall attivo sul computer nel ruolo di server potrebbe bloccare la connessione (d'altro canto, è esattamente questo il suo scopo!). Basta però configurarlo di modo da lasciar passare il traffico sulla determinata porta in uso e la comunicazione può avvenire senza problemi.
Le cose si complicano dal momento in cui i due computer sono separati da uno o più router. Sostanzialmente, infatti, si crea una situazione nella quale il tentativo di connessione del client è sempre rivolto al router, e non al PC server
È quindi necessario configurare il router di modo che inoltri, appunto, la connessione al "vero" interlocutore. "Aprire le porte sul router" significa esattamente creare questa regola, che suona più o meno così: "router! quando ricevi un tentativo di connessione sulla porta X sappi che è destinata al computer dalle nostra rete che ha come indirizzo IP il seguente: Y".
"chiavette" e "routerini" con SIM 3G/4G
Per motivi architetturali fuori dal nostro controllo, il PC che ricopre il ruolo di server deve essere connesso ad Internet tramite ADSL, fibra o altra banda larga veicolata tramite cavo. La connettività tramite chiavette e routerini con SIM dati (3G/4G eccetera) non vanno bene per il server, poiché -banalizzando fortemente- ogni SIM si collega a propria volta ad un router dell'operatore che poi non inoltra le porte di nostro interesse al PC.
Accedere tramite chiavetta va invece benissimo sul fronte client, dove il 3G/4G può essere impiegato senza problemi per raggiungere il server.
Esemplificando: potete tranquillamente utilizzare lo smartphone via rete mobile per raggiungere il desktop di casa connesso via ADSL, ma non sarebbe possibile il viceversa.
Passo 1: assegnazione di un indirizzo IP immutabile
Come primissimo passo, dobbiamo fare in modo che il PC nel ruolo di server abbia un indirizzo IP locale noto e immutabile. Possiamo raggiungere lo scopo in due modi:
- più facile e veloce, meno "flessibile" (compatibile con tutti ma indicato sopratutto per i PC "fissi"): Guida: come configurare manualmente l'indirizzo IP di Windows
- più difficile, ma ottimale in tutte le situazioni: Come fare in modo che un PC ottenga sempre lo stesso indirizzo IP locale dal modem/router
Passo 2: scoprire la porta
Per aprire una porta dobbiamo conoscere il suo identificativo. I principali numeri da ricordare sono:
20
e21
: server FTP - vedi "Configurare un server FTP con Windows: La Grande Guida a FileZilla Server"22
: SSH, SCP e SFTP - vedi tag "SSH"80
: server Web (HTTP) - vedi "Installare e configurare un server web: La Grande Guida ad Apache, MySQL, PHP su Windows e Linux"3389
: Desktop remoto - vedi "Lavorare con il proprio PC Windows da lontano: la Grande Guida a Desktop remoto (Remote desktop)"5900
: VNC - vedi "Controllare il PC da remoto: la Grande Guida a VNC"
» Leggi anche: Porta 80 aperta! cosa significa? Guida riepilogativa ai principali numeri di porta TCP per la comunicazione in rete
Altri programmi, come eMule, µTorrent ed altri client di scambio file scelgono porte casuali la prima volta che vengono avviati. Per scoprirle, è necessario spulciare fra le opzioni alla ricerca del valore
In caso si incontrassero difficoltà nel recuperare questa informazione, una ricerca su Google sulla falsariga di nomeprogramma port number
ritorna quasi sempre l'informazione desiderata.
Come ultima spiaggia, possiamo usare un programma come CurrPorts per visualizzare tutte le porte in uso sul computer, fino a rintracciare quella che ci interessa.
Passo 3: configurare il router o lavorare con "UPnP PortMapper"
Dobbiamo ora decidere ora quale tecnica adottare per configurare il router.
La prima strada, affrontata nel resto dell'articolo, prevede di agire tramite l'interfaccia web. Si tratta della modalità "classica", quella che crea meno problemi e che consente di raggiungere il risultato con certezza.
Se però proprio non si riesce, esiste un'alternativa: un programmino, chiamato UPnP PortMapper consente di aprire le porte sul router senza toccare l'interfaccia web. Per maggiori informazioni vedi "Guida: l'alternativa all'interfaccia web per aprire le porte sul router/modem si chiama "UPnP PortMapper"".
Passo 4: aprire l'interfaccia di configurazione del router
Per accedere al pannello di configurazione del router dobbiamo scoprire il suo indirizzo IP locale, quindi immetterlo nel browser per raggiungere l'interfaccia web. In molti casi l'operazione è immediata: basta infatti tentare con i valori predefiniti http://192.168.0.1 oppure http://192.168.1.1.
In caso la pagina non risponda, consultare "Guida: come aprire la pagina di configurazione del modem/router ADSL e scoprire l'indirizzo IP locale".
Una volta aperta la pagina giusta è necessario fornire le credenziali ed eseguire login. Se non le avete mai modificate, tentare immettendo la parola admin
sia come username, sia come password: è il default utilizzato da molti produttori. Se ancora non funziona, date un'occhiata sul fondo del router: spesso i valori predefiniti sono stampati lì
Passo 5: trovare la sezione dedicata
Una volta "dentro", viene la parte meno immediata di tutta la procedura: individuare la sezione dedicata, appunto, al "port forwarding". Poiché ogni router impiega un'interfaccia proprietaria e, spesso, differente addirittura da modello a modello, è necessario spulciare le varie sezioni a caccia di un riferimento a Port forwarding
oppure Virtual server
, oppure NAT
. La schermata dalla quale operare sarà simile a quella riportata di seguito (catturata dal mio router TP-LINK Archer D7):
La tabella riepiloga le porte attualmente configurate per l'inoltro: quelle aggiunte in seguito compariranno qui. Nell'esempio soprariportato è configurata una sola porta (32976
) da inoltrarsi ad un determinato computer (192.168.0.55
).
Passo 6: aggiungere una nuova regola
Dovete ora aggiungere una nuova regola che, come trattato in apertura, inoltri tutto il traffico destinato ad una determinata porta verso il PC nel ruolo di server.
Il pulsante da premere mostra quasi sempre l'etichetta Add
oppure Add port
o Add service
e conduce ad un modulo nel quale i campi da compilare sono:
Service port
: il numero di porta che desideriamo aprireInternal port
: limitatevi a ripetere qui lo stesso numero di porta che desiderate aprireIP Address
: l'indirizzo IP interno del computer al quale inoltrare le connessioniProtocol
: indica il protocollo associato alla porta da aprire. Se è disponibile una voceAll
oppureTCP and UDP
scegliete quella per la massima semplicità. Se invece dovete obbligatoriamente sceglierne uno,TCP
è quasi sempre la scelta giusta
Nella schermata seguente, ad esempio, ho configurato la porta 3389
utilizzata da Desktop remoto per essere inoltrata dal router al mio computer fisso con IP 192.168.0.2
.
Concludete l'operazione salvando le modifiche ed accertatevi che la nuova regola sia ora presente nella tabella riepilogativa.
Passo 7: verifica con Shields Up e connessione da client
La porta è ora configurata correttamente e sarà inoltrata al PC indicato. Il modo più rapido per verificare che tutto funzioni come ci aspettiamo è tramite il servizio Shields Up!:
- collegatevi all'indirizzo grc.com/shieldsup
- cliccate
Proceed
- immettete nel campo testuale in basso i numeri di porta delle porte che desiderate testare separati da virgole
- confermate con
Invio
Nella schermata precedente, ho eseguito il test su 20, 21, 80, 3389, 5900
, anche se il router è configurato solamente per inoltrare le porte ad un PC dotato di server FTP (porta 21
) e Desktop remoto (porta 3389
). Come si vede, quindi, solo queste due sono effettivamente rilevate come "aperte".
Se il test di Shields Up restituisce un esito positivo ci sono ottime possibilità che tutto sia in ordine. Potete quindi procedere con la connessione al servizio che avete appena configurato tramite il client. Ovviamente, dovendo attraversare Internet, dovrete indicare l'indirizzo IP pubblico del router oppure (scelta consigliata) affidarvi ad un servizio di Dynamic DNS per ottenere un nome a dominio.
Se qualcosa non funziona...
Quando tutto sembra essere configurato correttamente ma il servizio continua a non rispondere c'è solo una cosa da fare: armarsi di questa "checklist" e... trovare l'inghippo.
Appendice: no, "UPnP" non è (quasi mai) la soluzione ottimale
Concludiamo l'articolo con un breve richiamo ad una tecnologia relativamente recente che avrebbe dovuto eliminare la necessità di configurare manualmente il router ma che, in realtà, non è realmente in grado di farlo: Universal Plug and Play (UPnP). Lo scopo più generale di UPnP è consentire ai dispositivi di auto-configurarsi in modo appropriato per stabilire la comunicazione ma, fra le specifiche, vi è anche la capacità di gestire l'apertura delle porte sul router in modo trasparente all'utente. Un'applicazione compatibile UPnP in esecuzione sul PC nel ruolo di server può così configurare il router (se a propria volta compatibile UPnP) e aprire autonomamente le porte di cui ha bisogno.
Purtroppo, però, non sempre il tutto funziona alla perfezione ed è comunque necessario che l'applicazione supporti esplicitamente UPnP: alcuni programmi di peer-to-peer lo fanno, ma né Desktop remoto, né la maggior parte degli altri software di stampo "server" sono dotati di questa caratteristica. Come a dire: sì, è una bella idea, ma il "modo giusto" di aprire le porte sul router rimane configurando manualmente l'apparecchio. Per maggiori informazioni:
» Leggi: Guida a UPnP: che cos'è UPnP sul router? come si usa UPnP? come attivare UPnP?