Che cos'è il port forwarding?
Esistono molti progetti che utilizzano il tuo computer come server per altri dispositivi. Quando sei all'interno della tua rete, molte cose funzioneranno bene. Ma alcune app, se vuoi accedervi quando sei fuori dalla tua rete, rendono le cose molto più pelose. Iniziamo dando un'occhiata al perché è così.
Come il tuo router gestisce le richieste e utilizza le porte
Ecco una mappa di una semplice rete domestica. L'icona a forma di nuvola rappresenta l'Internet più grande e l'indirizzo IP (Internet Protocol) pubblico o anteriore. Questo indirizzo IP rappresenta la tua intera famiglia dal mondo esterno, come un indirizzo stradale, 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 visti nella parte inferiore dell'immagine. Se il tuo indirizzo IP pubblico è come un indirizzo, pensa agli indirizzi IP interni come i numeri degli appartamenti per quell'indirizzo.
Questo grazie a un meraviglioso bit di magia di routing, noto come Network Address Translation (NAT). Questa funzione si verifica a livello del router in cui il NAT agisce come un agente di traffico, indirizzando il flusso del traffico di rete attraverso il router in modo che un singolo indirizzo IP pubblico possa essere condiviso tra tutti i dispositivi dietro il router. A causa del NAT, tutti i membri della tua famiglia possono richiedere contemporaneamente siti Web e altri contenuti Internet e verranno tutti consegnati al dispositivo giusto.
Allora, dove entrano le porte in questo processo? Le porte sono un vecchio ma utile retaggio dei primi tempi del network computing. Nel passato, quando i computer potevano eseguire solo un'applicazione alla volta, bastava puntare un computer su un altro computer sulla rete per collegarli come se fossero in esecuzione la stessa applicazione. Una volta che i computer sono diventati sofisticati per eseguire più applicazioni, i primi scienziati informatici hanno dovuto lottare con il problema di garantire applicazioni connesse alle applicazioni giuste. Così sono nati i porti.
Alcune porte hanno applicazioni specifiche che sono standard in tutto il settore dell'informatica. Quando si recupera una pagina Web, ad esempio, 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 si invia una richiesta http su una porta diversa, ad esempio 143, il server Web non la riconoscerà perché non la ascolta (anche se potrebbe esserlo qualcos'altro, come un server di posta IMAP che utilizza tradizionalmente tale porta).
Altre porte non hanno usi preassegnati e puoi usarli per quello che vuoi. Per evitare di interferire con altre applicazioni conformi allo standard, è meglio utilizzare numeri più grandi per queste configurazioni alternative. Ad esempio, Plex Media Server utilizza la porta 32400 e i server Minecraft utilizzano 25565, entrambi i numeri che rientrano in questo territorio "fair game".
Ogni porta può essere utilizzata tramite TCP o UDP. TCP, o Transmission Control Protocol, è quello che viene usato più comunemente. UDP, o User Datagram Protocol, è meno utilizzato nelle applicazioni domestiche con un'eccezione principale: BitTorrent. A seconda di cosa sta ascoltando, ci si aspetta che le richieste vengano fatte nell'uno o nell'altro di questi protocolli.
Perché è necessario inoltrare le porte
Quindi, perché esattamente avresti bisogno di inoltrare le porte? Mentre alcune applicazioni sfruttano il NAT per impostare le proprie porte e gestire tutte le configurazioni per te, ci sono ancora molte applicazioni che non lo fanno, e avrai bisogno di dare una mano al tuo router quando si tratta di collegare servizi e applicazioni.
Nello schema seguente stiamo iniziando con una premessa semplice. Sei sul tuo laptop da qualche parte nel mondo (con un indirizzo IP di 225.213.7.42) e vuoi collegarti alla tua rete domestica per accedere ad alcuni file. Se si collega semplicemente l'indirizzo IP di casa (127.34.73.214) a qualsiasi strumento che si sta utilizzando (un client FTP o un'applicazione desktop remota, ad esempio), e tale strumento non sfrutta le funzionalità di router avanzate che abbiamo appena menzionato, sei fuori di fortuna. Non saprà dove inviare la richiesta e non accadrà nulla.
Questo, a proposito, è agrande funzione di sicurezza. Se qualcuno si connette alla rete domestica e non è connesso a una porta valida, tuvolere la connessione per essere respinta. Questo è l'elemento firewall del tuo router che fa il suo lavoro: respingere le richieste indesiderate. Se la persona che bussa alla tua porta virtuale, tuttavia, sei tu, allora il rifiuto non è così benvenuto e dobbiamo fare un piccolo ritocco.
Per risolvere questo problema, vuoi dire al tuo router "hey: quando ti accedo con questo programma, dovrai inviarlo a questo dispositivo su questa porta".Con queste istruzioni, il router si assicurerà di poter accedere al computer e all'applicazione corretti sulla rete domestica.
L'utilità del port forwarding non finisce qui! È anche possibile utilizzare il port forwarding per modificare i numeri di porta dei servizi esistenti per maggiore chiarezza e praticità. Ad esempio, supponiamo tu abbia due server Web in esecuzione sulla tua rete domestica e vuoi 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 sia per un personale progetto.
Ora che sappiamo quale sia il port forwarding e perché potremmo volerlo usare, diamo un'occhiata ad alcune piccole considerazioni sul port forwarding prima di immergerci effettivamente nella sua configurazione.
Considerazioni prima di configurare il router
Ci sono alcune cose da tenere a mente prima di sedersi per configurare il router e farle funzionare in anticipo è garantito per ridurre la frustrazione.
Imposta l'indirizzo IP statico per i tuoi dispositivi
Prima di tutto, tutte le regole di port forwarding si sgretolano se le assegni a dispositivi con indirizzi IP dinamici assegnati dal servizio DHCP del tuo router. Scopriamo i dettagli di ciò che DHCP è in questo articolo su DHCP rispetto alle assegnazioni di indirizzi IP statici, ma qui vi forniremo il riassunto rapido.
Il router ha un pool di indirizzi che riserva solo per distribuire i dispositivi quando si uniscono e lasciano la rete. Pensa a come ottenere un numero in una tavola calda quando arrivi - il tuo laptop si unisce, boom, ottiene l'indirizzo IP 192.168.1.98. Il tuo iPhone si unisce, boom, ottiene l'indirizzo 192.168.1.99. Se si portano i dispositivi offline per un periodo di tempo o il router viene riavviato, l'intera lotteria per l'indirizzo IP ricomincia.
In circostanze normali questo è più che soddisfacente. Il tuo iPhone non si cura di quale indirizzo IP interno ha. Ma se hai creato una regola di port forwarding che dice che il tuo server di gioco si trova su un determinato indirizzo IP e poi il router ne dà 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 assegna una regola di port forwarding. Il modo migliore per farlo è attraverso il router: consulta questa guida per maggiori informazioni.
Conosci il tuo indirizzo IP (e imposta un indirizzo DNS dinamico)
Oltre a utilizzare assegnazioni IP statiche per i dispositivi pertinenti all'interno della tua rete, devi anche essere a conoscenza del tuo indirizzo IP esterno: puoi trovarlo visitando whatismyip.com mentre sei sulla tua rete domestica. Sebbene sia possibile che tu abbia 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 fornitore di servizi internet non abbia dato esplicitamente un indirizzo IP pubblico statico). In altre parole, non è possibile fare affidamento sull'input dell'indirizzo IP numerico in qualsiasi strumento remoto che si sta utilizzando (e non si può fare affidamento assegnando l'indirizzo IP a un amico).
Ora, mentre potresti passare attraverso la seccatura di controllare manualmente quell'indirizzo IP ogni volta che esci da casa e intendi lavorare lontano da casa (o ogni volta che il tuo amico si connetterà al tuo server Minecraft o simili), questo è un grande mal di testa. Invece, ti consigliamo vivamente di configurare un servizio di DNS dinamico che ti permetta di collegare il tuo (cambiando) indirizzo IP di casa a un indirizzo memorabile come mysuperawesomeshomeserver.dynu.net. Per ulteriori informazioni su come configurare un servizio DNS dinamico con la rete domestica, consulta 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, abbiamo ricevuto molte e-mail nel corso degli anni da genitori frustrati che hanno configurato il port forwarding in modo che i loro bambini possano giocare a Minecraft con i loro amici. In quasi tutti i casi, il problema è che nonostante abbia configurato correttamente le regole di port forwarding sul router, qualcuno ha ignorato la richiesta del firewall di Windows chiedendo se fosse OK se la piattaforma Java (che esegue Minecraft) potesse accedere a Internet più grande.
Tieni presente che sui computer che eseguono firewall locali e / o software antivirus che includono la protezione del firewall, è probabile che tu debba confermare che la connessione che hai configurato è a posto.
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 precise per il tuo router esatto, la realtà è che ogni produttore di router ha il proprio software e il modo in cui il software sembra può variare anche tra i modelli di router. Piuttosto che tentare di catturare ogni variazione, ne metteremo in evidenza alcuni per darti un'idea del menu e incoraggiarti a cercare il manuale o i file della guida in linea per il tuo router specifico per trovare le specifiche.
In generale, cercherete qualcosa chiamato - avete indovinato - "Port Forwarding". Potrebbe essere necessario cercare tra 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:
Una volta individuato il menu, è ora di impostare la regola effettiva.
Fase due: creare una regola di port forwarding
Dopo aver appreso tutto sul port forwarding, impostare un DNS dinamico per il tuo indirizzo IP di casa e tutto il resto del lavoro, il passo importante - la creazione della regola reale - è 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 appena creato.
Alcuni firmware del router, incluso il DD-WRT più avanzato che utilizziamo nello screenshot qui sopra, ti consentiranno di specificare un valore "Sorgente" che è un elenco di indirizzi IP a cui stai limitando la porta in avanti per motivi di sicurezza. Puoi usare questa funzione se lo desideri, ma ti avverto che introduce una nuova serie 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.
Quindi dovrai inserire la porta esterna. Questa è la porta che sarà aperta sul router e rivolta verso Internet. Puoi usare qualsiasi numero che desideri qui tra 1 e 65353, ma praticamente la maggior parte dei numeri più bassi sono occupati da servizi standard (come server di posta elettronica e 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 essere sicuro, usare 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.
Terzo passaggio: prova la regola di port forwarding
Il modo più ovvio per testare se il tuo port forward ha funzionato è connettersi usando la routine intesa per la porta (ad es. I tuoi amici collegano il loro client Minecraft al tuo server di casa), ma non è sempre una soluzione immediatamente disponibile se non sei via da casa.
Per fortuna, c'è un pratico piccolo checker disponibile online su YouGetSignal.com. Possiamo testare per vedere se il nostro port forward di Minecraft ha preso semplicemente facendo in modo che il port tester provi a connettersi ad esso. Inserisci il tuo indirizzo IP e il numero di porta e fai clic su "Verifica".
È un po 'complicato configurare il port forwarding, ma finché si assegna un indirizzo IP statico al dispositivo di destinazione e si imposta un server DNS dinamico per l'indirizzo IP di casa, è un compito che è necessario visitare solo una volta per in futuro avrai libero accesso senza problemi alla tua rete.