Come inoltrare le porte sul router

Sebbene i router moderni gestiscano automaticamente la maggior parte delle funzioni, alcune applicazioni richiedono di inoltrare manualmente una porta a tale applicazione o dispositivo. Fortunatamente, è davvero semplice se sai dove guardare.

Che cos'è il port forwarding?

Ci sono molti progetti che abbiamo trattato che utilizzano il tuo computer come server per altri dispositivi. Quando sei all'interno della tua rete, la maggior parte delle cose funzionerà bene. Ma alcune app, se vuoi accedervi quando sei fuori dalla tua rete, rendono le cose molto più complicate. Cominciamo dando un'occhiata al motivo per cui è così.

In che modo il router gestisce le richieste e utilizza le porte

Ecco una mappa di una semplice rete domestica. L'icona a forma di nuvola rappresenta la rete Internet più ampia e il tuo indirizzo IP pubblico o rivolto in avanti. Questo indirizzo IP rappresenta tutta la tua famiglia dal mondo esterno, come un indirizzo, in un certo senso.

L'indirizzo rosso 192.1.168.1 è l'indirizzo del router all'interno della rete. Gli indirizzi aggiuntivi appartengono tutti ai computer visualizzati nella parte inferiore dell'immagine. Se il tuo indirizzo IP pubblico è come un indirizzo stradale, pensa agli indirizzi IP interni come i numeri degli appartamenti per quell'indirizzo.

Il diagramma solleva una domanda interessante a cui potresti non aver pensato prima. In che modo tutte le informazioni da Internet arrivano al dispositivo giusto all'interno della rete? Se visiti howtogeek.com sul tuo laptop, come va a finire sul tuo laptop e non sul desktop di tuo figlio se l'indirizzo IP pubblico è lo stesso per tutti i dispositivi?

Questo grazie a una meravigliosa magia di instradamento nota come NAT (Network Address Translation). Questa funzione si verifica a livello di router dove il NAT agisce come un traffic cop, dirigendo il flusso del traffico di rete attraverso il router in modo che un unico indirizzo IP pubblico possa essere condiviso tra tutti i dispositivi dietro il router. Grazie al NAT, tutti i componenti della tua famiglia possono richiedere siti Web e altri contenuti Internet contemporaneamente e verranno tutti consegnati al dispositivo giusto.

Allora da dove vengono le porte in questo processo? Le porte sono un vecchio ma utile residuo dei primi giorni di elaborazione in rete. Ai tempi, quando i computer potevano eseguire solo un'applicazione alla volta, tutto ciò che dovevi fare era puntare un computer su un altro computer sulla rete per connetterli poiché avrebbero eseguito la stessa applicazione. Una volta che i computer sono diventati sofisticati per eseguire più applicazioni, i primi scienziati informatici hanno dovuto affrontare il problema di garantire che le applicazioni fossero collegate alle applicazioni giuste. Così sono nati i porti.

Alcune porte hanno applicazioni specifiche che sono standard in tutto il settore informatico. Quando si scarica una pagina Web, ad esempio, questa utilizza la porta 80. Il software del computer ricevente sa che la porta 80 viene utilizzata per servire i documenti http, quindi ascolta lì e risponde di conseguenza. Se invii una richiesta http su una porta diversa, ad esempio 143, il server web non la riconoscerà perché non è in ascolto lì (anche se potrebbe esserci qualcos'altro, come un server di posta IMAP che tradizionalmente utilizza quella porta).

Altre porte non hanno usi pre-assegnati e puoi usarle per quello che vuoi. Per evitare di interferire con altre applicazioni rispettose degli standard, è meglio utilizzare numeri maggiori per queste configurazioni alternative. Plex Media Server utilizza la porta 32400, ad esempio, ei server Minecraft utilizzano 25565, entrambi i numeri che rientrano in questo territorio del "gioco leale".

Ogni porta può essere utilizzata tramite TCP o UDP. TCP, o Transmission Control Protocol, è quello che viene utilizzato più comunemente. UDP, o User Datagram Protocol, è meno utilizzato nelle applicazioni domestiche con una grande eccezione: BitTorrent. A seconda di ciò che è in ascolto, si aspetterà che le richieste vengano effettuate in uno o nell'altro di questi protocolli.

Perché è necessario inoltrare le porte

Allora perché esattamente dovresti inoltrare le porte? Mentre alcune applicazioni sfruttano il NAT per impostare le proprie porte e gestire tutta la configurazione per te, ci sono ancora molte applicazioni che non lo fanno e dovrai dare una mano al tuo router quando si tratta di connettere servizi e applicazioni .

Nel diagramma sottostante iniziamo con una semplice premessa. Sei sul tuo laptop da qualche parte nel mondo (con un indirizzo IP 225.213.7.32) e desideri connetterti alla tua rete domestica per accedere ad alcuni file. Se inserisci semplicemente il tuo indirizzo IP di casa (127.34.73.214) in qualsiasi strumento tu stia utilizzando (un client FTP o un'applicazione desktop remota, ad esempio) e quello strumento non sfrutta quelle funzionalità avanzate del router che abbiamo appena menzionato, sei sfortunato. Non saprà dove inviare la tua richiesta e non accadrà nulla.

Questa, a proposito, è  un'ottima funzionalità di sicurezza. Se qualcuno si connette alla tua rete domestica e non è connesso a una porta valida, vuoi che la connessione venga  rifiutata. Questo è l'elemento firewall del tuo router che fa il suo lavoro: rifiutare le richieste indesiderate. Se la persona che bussa alla tua porta virtuale, tuttavia, sei tu, allora il rifiuto non è così gradito e dobbiamo fare un piccolo ritocco.

Per risolvere questo problema, vuoi dire al tuo router "ehi: quando ti accedo con questo programma, dovrai inviarlo a questo dispositivo su questa porta". Con queste istruzioni in atto, il router si assicurerà che tu possa accedere al computer e all'applicazione corretti sulla tua rete domestica.

Quindi, in questo esempio, quando sei in giro e utilizzi il tuo laptop, utilizzi porte diverse per effettuare le tue richieste. Quando accedi all'indirizzo IP della tua rete domestica utilizzando la porta 22, il tuo router di casa sa che dovrebbe andare a 192.168.1.100 all'interno della rete. Quindi, il demone SSH sulla tua installazione Linux risponderà. Allo stesso tempo, è possibile effettuare una richiesta sulla porta 80, che il router invierà al server Web all'indirizzo 192.168.1.150. Oppure puoi provare a controllare a distanza il laptop di tua sorella con VNC e il tuo router ti connetterà al tuo laptop a 192.168.1.200. In questo modo, puoi connetterti facilmente a tutti i dispositivi per i quali hai impostato una regola di port forward.

L'utilità del port forwarding non finisce qui! Puoi anche utilizzare il port forwarding per modificare i numeri di porta dei servizi esistenti per chiarezza e comodità. Ad esempio, supponiamo che tu abbia due server web in esecuzione sulla tua rete domestica e desideri che uno sia prontamente e ovviamente accessibile (ad esempio è un server meteo che vuoi che le persone siano in grado di trovare facilmente) e l'altro server web è per un personale progetto.

Quando accedi alla tua rete domestica dalla porta pubblica 80, puoi dire al tuo router di inviarlo alla porta 80 sul server meteo 192.168.1.150, dove sarà in ascolto sulla porta 80. Ma puoi dirlo al tuo router che quando si accede tramite la porta 10.000, dovrebbe andare alla porta 80 sul server personale, 192.168.1.250. In questo modo, il secondo computer non deve essere riconfigurato per utilizzare una porta diversa, ma puoi comunque gestire il traffico in modo efficace e, allo stesso tempo, lasciando il primo server web collegato alla porta 80, rendi più facile per le persone l'accesso al tuo suddetto progetto di server meteorologico.

Ora che sappiamo cos'è il port forwarding e perché potremmo volerlo utilizzare, diamo un'occhiata ad alcune piccole considerazioni sul port forwarding prima di immergerci nella sua configurazione effettiva.

Considerazioni prima di configurare il router

Ci sono alcune cose da tenere a mente prima di sedersi per configurare il router e eseguirle in anticipo è garantito per ridurre la frustrazione.

Imposta l'indirizzo IP statico per i tuoi dispositivi

Prima di tutto, tutte le tue regole di port forwarding andranno in pezzi se le assegni a dispositivi con indirizzi IP dinamici assegnati dal servizio DHCP del tuo router. Analizzeremo i dettagli di cosa sia DHCP in questo articolo su DHCP e assegnazioni di indirizzi IP statici, ma ti forniremo un breve riepilogo qui.

CORRELATO: Come impostare indirizzi IP statici sul router

Il tuo router ha un pool di indirizzi che riserva solo per essere distribuito ai dispositivi quando entrano ed escono dalla rete. Pensa che è come ricevere un numero a una tavola calda quando arrivi: il tuo laptop si unisce, boom, riceve l'indirizzo IP 192.168.1.98. Il tuo iPhone si unisce, boom, riceve l'indirizzo 192.168.1.99. Se metti offline quei dispositivi per un periodo di tempo o il router viene riavviato, l'intera lotteria degli indirizzi IP si verifica di nuovo.

In circostanze normali questo va più che bene. Al tuo iPhone non importa quale indirizzo IP interno ha. Ma se hai creato una regola di port forwarding che dice che il tuo server di gioco si trova a un certo indirizzo IP e poi il router gliene fornisce uno nuovo, quella regola non funzionerà e nessuno sarà in grado di connettersi al tuo server di gioco. Per evitare ciò, è necessario assegnare un indirizzo IP statico a ciascun dispositivo di rete a cui si sta assegnando una regola di port forwarding. Il modo migliore per farlo è tramite il router: consulta questa guida per maggiori informazioni.

Conosci il tuo indirizzo IP (e imposta un indirizzo DNS dinamico)

Oltre a utilizzare le assegnazioni di IP statici per i dispositivi rilevanti all'interno della tua rete, vuoi anche essere a conoscenza del tuo indirizzo IP esterno: puoi trovarlo visitando whatismyip.com mentre sei sulla rete domestica. Sebbene sia possibile che tu possa avere lo stesso indirizzo IP pubblico per mesi o anche più di un anno, il tuo indirizzo IP pubblico può cambiare (a meno che il tuo provider di servizi Internet non ti abbia fornito esplicitamente un indirizzo IP pubblico statico). In altre parole, non puoi fare affidamento sulla digitazione del tuo indirizzo IP numerico in qualsiasi strumento remoto che stai utilizzando (e non puoi fare affidamento sul dare quell'indirizzo IP a un amico).

CORRELATO: Come accedere facilmente alla rete domestica da qualsiasi luogo con DNS dinamico

Ora, mentre potresti passare attraverso la seccatura di controllare manualmente quell'indirizzo IP ogni volta che esci di casa e intendi lavorare fuori casa (o ogni volta che il tuo amico si connetterà al tuo server Minecraft o simili), è un grande mal di testa. Invece, ti consigliamo vivamente di configurare un servizio DNS dinamico che ti consentirà di collegare il tuo indirizzo IP di casa (che cambia) a un indirizzo memorabile come mysuperawesomeshomeserver.dynu.net. Per ulteriori informazioni su come configurare un servizio DNS dinamico con la rete domestica, guarda il nostro tutorial completo qui.

Prestare attenzione ai firewall locali

Una volta impostato il port forwarding a livello di router, è possibile che sia necessario modificare le regole del firewall anche sul computer. Ad esempio, nel corso degli anni abbiamo ricevuto molte e-mail da genitori frustrati che impostano il port forwarding in modo che i loro figli possano giocare a Minecraft con i loro amici. In quasi tutti i casi, il problema è che, nonostante l'impostazione corretta delle regole di port forwarding sul router, qualcuno ha ignorato la richiesta del firewall di Windows chiedendo se andava bene se la piattaforma Java (che esegue Minecraft) poteva accedere a Internet.

Tieni presente che sui computer che eseguono un firewall locale e / o un software antivirus che include la protezione firewall, probabilmente dovrai confermare che la connessione che hai impostato va bene.

Fase uno: individuare le regole di port forwarding sul router

Esausto da tutte le lezioni di networking? Non preoccuparti, è finalmente giunto il momento di configurarlo e ora che conosci le basi, è piuttosto semplice.

Per quanto ci piacerebbe fornire istruzioni esatte per il tuo router esatto, la realtà è che ogni produttore di router ha il proprio software e l'aspetto del software può persino variare tra i modelli di router. Piuttosto che tentare di catturare ogni variazione, ne evidenzieremo alcune per darti un'idea dell'aspetto del menu e ti incoraggiamo a cercare i file del manuale o della guida in linea del tuo router particolare per trovare le specifiche.

In generale, stai cercando qualcosa chiamato, hai indovinato, "Port Forwarding". Potrebbe essere necessario guardare attraverso le diverse categorie per trovarlo, ma se il tuo router è buono, dovrebbe essere lì.

Per confronto, ecco come appare il menu di port forwarding sul router D-Link DIR-890L:

Ed ecco come appare il menu di port forwarding sullo stesso router che esegue il popolare firmware DD-WRT di terze parti:

Come puoi vedere, la complessità tra le due visualizzazioni varia notevolmente, anche sullo stesso hardware. Inoltre, la posizione è completamente diversa all'interno dei menu. In quanto tale, è molto utile se cerchi le istruzioni esatte per il tuo dispositivo utilizzando il manuale o una query di ricerca.

Una volta individuato il menu, è il momento di impostare la regola effettiva.

Fase due: creare una regola di port forwarding

Dopo aver appreso tutto sul port forwarding, la configurazione di un DNS dinamico per il tuo indirizzo IP di casa e tutto il resto del lavoro che è stato svolto in questo, il passaggio importante - creare la regola effettiva - è praticamente una passeggiata nel parco. Nel menu di port forwarding sul nostro router, creeremo due nuove regole di port forwarding: una per il server musicale Subsonic e una per un nuovo server Minecraft che abbiamo appena configurato.

Nonostante le differenze di posizione su diversi software del router, l'input generale è lo stesso. Quasi universalmente, chiamerai la regola di port forwarding. È meglio nominarlo semplicemente come è il server o il servizio e poi aggiungerlo se necessario per chiarezza (ad esempio "Webserver" o "Webserver-Weather" se ce n'è più di uno). Ricordi il protocollo TCP / UDP di cui abbiamo parlato all'inizio? Dovrai anche specificare TCP, UDP o Entrambi. Alcune persone sono molto impegnate a scoprire esattamente quale protocollo utilizza ogni applicazione e servizio e ad abbinare le cose perfettamente per motivi di sicurezza. Saremo i primi ad ammettere che siamo pigri in questo senso e quasi sempre scegliamo "Entrambi" per risparmiare tempo.

Alcuni firmware del router, incluso il DD-WRT più avanzato che stiamo utilizzando nella schermata sopra, ti consentiranno di specificare un valore "Source" che è un elenco di indirizzi IP a cui stai limitando il port forward per motivi di sicurezza. Puoi utilizzare questa funzione se lo desideri, ma tieni presente che introduce una serie completamente nuova di mal di testa poiché presume che gli utenti remoti (incluso te quando sei lontano da casa e gli amici che si connettono) abbiano indirizzi IP statici.

Successivamente dovrai inserire la porta esterna. Questa è la porta che sarà aperta sul router e rivolta verso Internet. Puoi utilizzare qualsiasi numero che desideri qui tra 1 e 65353, ma praticamente la maggior parte dei numeri inferiori sono occupati da servizi standard (come e-mail e server web) e molti dei numeri più alti sono assegnati ad applicazioni abbastanza comuni. Con questo in mente, ti consigliamo di scegliere un numero superiore a 5.000 e, per maggiore sicurezza, di utilizzare Ctrl + F per cercare questo lungo elenco di numeri di porta TCP / UDP per assicurarti di non selezionare una porta in conflitto con un servizio esistente che stai già utilizzando.

Infine, inserisci l'indirizzo IP interno del dispositivo, la porta su quel dispositivo e (se applicabile) attiva la regola. Non dimenticare di salvare le impostazioni.

Fase tre: testare la regola di port forwarding

Il modo più ovvio per verificare se il tuo port forward ha funzionato è connettersi utilizzando la routine prevista per la porta (ad esempio, fai in modo che il tuo amico colleghi il suo client Minecraft al tuo server di casa), ma non è sempre una soluzione immediatamente disponibile se non sei lontano da casa.

Per fortuna, c'è un pratico piccolo controllo delle porte disponibile online su YouGetSignal.com. Possiamo verificare se il port forwarding del nostro server Minecraft è stato eseguito semplicemente facendo tentare al tester della porta di connettersi ad esso. Inserisci il tuo indirizzo IP e il numero di porta e fai clic su "Verifica".

Dovresti ricevere un messaggio, come visto sopra, del tipo "La porta X è aperta su [Il tuo IP]". Se la porta viene segnalata come chiusa, ricontrolla sia le impostazioni nel menu di inoltro della porta sul router sia i dati dell'IP e della porta nel tester.

È un po 'una seccatura configurare il port forwarding, ma fintanto che assegni un indirizzo IP statico al dispositivo di destinazione e imposti un server DNS dinamico per il tuo indirizzo IP di casa, è un'attività che devi visitare solo una volta goditi l'accesso senza problemi alla tua rete in futuro.