Ci sono molte domande sul "port forwarding" , ma non sembra esserci uno che indichi chiaramente che cosa è e per cosa viene utilizzato. Così:
Che cos'è il port forwarding?
A cosa serve e perché dovrei averne bisogno?
Ci sono molte domande sul "port forwarding" , ma non sembra esserci uno che indichi chiaramente che cosa è e per cosa viene utilizzato. Così:
Che cos'è il port forwarding?
A cosa serve e perché dovrei averne bisogno?
Risposte:
Per spiegare davvero il port forwarding, devi prima capire un po 'di più su ciò che fa il tuo router . Il tuo fornitore di servizi Internet assegna un indirizzo IP alla tua connessione Internet. Tutti i computer su Internet necessitano di un indirizzo IP univoco, ma in casa sono presenti più computer e un solo indirizzo. Quindi come funziona?
Se sai di cosa si tratta e vuoi solo sapere come farlo : http://portforward.com/ ha un tutorial con schermate per letteralmente centinaia di router diversi. La documentazione è nascosta dietro una pagina di annuncio per il loro strumento portconfig automatico. (Basta cliccare un po 'intorno e lo troverai.)
Il router di casa ha una funzione chiamata Network Address Translation, o NAT, integrata. All'interno della rete, i computer hanno indirizzi come 192.168.1.100. Tutti gli indirizzi nell'intervallo 192.168. * (O nell'intervallo 10. *) sono indirizzi " privati " o " riservati " . Questi indirizzi sono ufficialmente assegnati da IANA per essere utilizzati all'interno di reti private. Il router assegna automaticamente tale indirizzo a ciascun computer collegato tramite DHCP . Questi indirizzi sono il modo in cui i computer della tua rete comunicano con il router e tra di loro.
Il router ha un'interfaccia di rete separata che lo collega a Internet. Questa interfaccia ha un indirizzo molto diverso assegnato dal tuo ISP. Questo è l'unico indirizzo che ho menzionato prima e il tuo router lo utilizza per comunicare con altri computer su Internet. I computer all'interno della rete dispongono di indirizzi IP privati non instradabili , il che significa che se inviano pacchetti direttamente a Internet, i pacchetti verranno automaticamente eliminati (i pacchetti con indirizzi privati non possono attraversare Internet per motivi di stabilità). Ma il tuo router ha un indirizzo instradabile . La traduzione dell'indirizzo di rete, come suggerisce il nome, si traduce tra questi due tipi di indirizzi, consentendo a più computer all'interno della rete di apparire su Internet come un computer con un indirizzo.
Anche se questo può sembrare complicato, in realtà è abbastanza semplice come lo fa il tuo router. Ogni volta che un computer all'interno della tua rete desidera connettersi a un computer su Internet, invia la richiesta di connessione al router (sa di inviarlo al router perché il suo parametro Gateway predefinito è impostato sull'indirizzo del router). Il router accetta quindi la richiesta di connessione (una "richiesta SYN" in TCP / IP) e modifica l'indirizzo di origine ("risposta" o indirizzo di ritorno) e lo cambia dall'IP privato del computer all'IP pubblico dell'IP router, in modo che la risposta venga inviata al router. Quindi prende nota in un database (chiamato tabella NAT ) che la connessione è stata avviata, in modo da ricordarla in seguito.
Quando la risposta ritorna dal computer remoto (un "SYN-ACK"), il router cerca nella sua tabella NAT e vede che una connessione a quell'host su quella porta era stata precedentemente avviata da un computer privato sulla tua rete, cambia la destinazione indirizzo all'indirizzo privato del computer e lo inoltra all'interno della rete. In questo modo, i pacchetti possono continuare a transitare avanti e indietro tra le reti, con il router che cambia gli indirizzi in modo trasparente affinché funzioni. Al termine della connessione, il router la rimuove semplicemente dalla tabella NAT.
Questo potrebbe essere un po 'più facile da visualizzare con una metafora - diciamo che sei uno spedizioniere negli Stati Uniti che lavora con clienti cinesi. Devono inviare pacchi a molti clienti negli Stati Uniti, ma è più facile per motivi doganali / burocratici inviare pacchi in un solo posto. Quindi, un pacchetto arriva da uno dei tuoi clienti in Cina (la rete privata, in questo esempio) con una destinazione effettiva da qualche parte negli Stati Uniti (Internet). Modifichi l'etichetta dell'indirizzo sulla scatola all'indirizzo statunitense (pubblico) e cambi l'indirizzo di ritorno sul tuo indirizzo pubblico (dal momento che non può essere restituito direttamente in Cina senza disturbare il cliente) e consegnarlo al servizio postale . Se il cliente restituisce il prodotto, arriva a te. Lo guardi nei tuoi registri e vedi da quale compagnia proveniva la Cina,
Funziona benissimo, ma c'è un piccolo problema. Cosa succede se un cliente deve inviare qualcosa all'azienda, diciamo un vaglia postale in pagamento per qualcosa? Oppure, supponiamo che un computer su Internet avvii una connessione con il router (una richiesta SYN), diciamo a un server web che si trova nella rete. La lettera / pacchetto contiene solo l'indirizzo pubblico del router, quindi il router in realtà non sa dove inviarlo! potrebbe essere destinato a qualsiasi computer della rete privata o a nessuno di essi. Potresti aver riscontrato questo problema quando chiami il telefono di casa di qualcuno: quando ti chiamano non è un problema, ma quando li chiami non c'è modo per loro di sapere chi è la chiamata, quindi la persona sbagliata potrebbe rispondere.
Mentre è abbastanza facile per gli umani risolverlo, è molto più complicato per i computer, perché non tutti i computer della tua rete conoscono tutti gli altri computer.
Il port forwarding è il modo in cui risolviamo questo problema: è un modo per dire al tuo router a quale computer all'interno della rete dovrebbero essere indirizzate le connessioni in entrata. Abbiamo tre modi diversi per farlo:
Diamo un'occhiata a un esempio di utilizzo. Molti videogiochi multiplayer (ad esempio Counter Strike) ti consentono di eseguire un server di gioco sul tuo computer a cui altre persone possono connettersi per giocare con te. Il tuo computer non conosce tutte le persone che vogliono giocare, quindi non può connettersi a loro - invece, devono inviare nuove richieste di connessione al tuo computer da Internet.
Se non hai impostato nulla sul router, riceverà queste richieste di connessione ma non saprebbe quale computer all'interno della rete avesse il server di gioco, quindi le ignorerebbe (o, più specificamente, invierebbe indietro un pacchetto che indica che non può connettersi). Fortunatamente, conosci il numero di porta che sarà presente nelle richieste di connessione per il server di gioco. Quindi, sul router, si imposta una porta in avanti con il numero di porta previsto dal server di gioco (ad esempio, 27015) e l'indirizzo IP del computer con il server di gioco (ad esempio, 192.168.1.105).
Il router saprà inoltrare le richieste di connessione in entrata a 192.168.1.105 all'interno della rete e i computer esterni potranno connettersi.
Un altro esempio potrebbe essere una rete locale con due macchine, in cui la seconda con IP 192.168.1.10 ospita un sito Web che utilizza Apache. Pertanto, il router dovrebbe inoltrare le richieste della porta in entrata 80 a questa macchina. Utilizzando il port forwarding, entrambe le macchine possono funzionare contemporaneamente nella stessa rete.
I videogiochi sono forse il luogo più comune in cui gli utenti comuni incontreranno il port forwarding, sebbene la maggior parte dei giochi moderni utilizzi UPnP in modo da non doverlo fare manualmente (invece, è completamente automatico). Dovrai farlo ogni volta che vuoi essere in grado di collegarti direttamente a qualcosa nella tua rete (piuttosto che attraverso un intermediario su Internet). Ciò potrebbe includere l'esecuzione del proprio server Web o la connessione tramite Remote Desktop Protocol a uno dei computer.
Una delle cose belle di NAT è che fornisce un po 'di sicurezza integrata e senza sforzo. Molte persone vagano su Internet alla ricerca di macchine vulnerabili ... e lo fanno tentando di aprire connessioni con varie porte. Queste sono connessioni in entrata, quindi, come discusso in precedenza, il router le lascerà cadere. Ciò significa che in una configurazione NAT, solo il router stesso è vulnerabile agli attacchi che coinvolgono connessioni in entrata. Questa è una buona cosa, perché il router è molto più semplice (e quindi meno probabile che sia vulnerabile) rispetto a un computer che esegue un sistema operativo completo con un sacco di software. Dovresti tenere presente, quindi, che DMZing un computer all'interno della tua rete (impostandolo come destinazione DMZ) perdi quel livello di sicurezza per quel computer: ora è completamente aperto alle connessioni in entrata da Internet, quindi è necessario proteggerlo come se fosse direttamente collegato. Naturalmente, ogni volta che si inoltra una porta, il computer all'estremità ricevente diventa vulnerabile su quella porta specifica. Quindi assicurati di eseguire un software aggiornato che sia ben configurato.