1 / 25

N etwork A ddress T ranslation & Port Forwarding

N etwork A ddress T ranslation & Port Forwarding. I protocolli per far lavorare le reti private in Internet. prof. F. Cesarin. O biettivi, D estinatari e P rerequisiti. Obiettivi

nova
Télécharger la présentation

N etwork A ddress T ranslation & Port Forwarding

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Address Translation&Port Forwarding I protocolli per far lavorare lereti private in Internet... prof. F. Cesarin

  2. Obiettivi, Destinatarie Prerequisiti Obiettivi Comprendere i protocolli che rendono possibile lo scambio di dati tra due o più sottoreti LAN di Internet quando si adoperano applicativi client/server Acquisire competenze sulla configurazione di rete per un applicativo server di una sottorette che accetta richieste daInternet e i relativi problemi di sicurezza Destinatari Classi V di Informatica Industriale per l’Obiettivo 1 e 2 Gruppo Scelto tra gli allievi delle classi V per approfondire FireWall, VPN e Virtualizzazione Applicazioni Dagli applicativi standard di Internet (http, ftp, smtp, etc) ai vantaggi offerti dagli Application Services Provider (gli applicativi più diffusi in questo tipo di servizio sono gli ERP, i CRM, gli applicativi di e-commerce, di e-procurement, di data warehousing, di business intelligence e, in taluni casi, applicativi per l'automazione di ufficio) Dalle reti Peer-to-Peer (eMule, multiplayer game servers, etc) alle VPN Prerequisiti Conoscenza delle reti LAN Consigliata la conoscenza del TCP/IP Consigliata la conoscenza base di qualche programma client/server come FTP o Telnet Network Address Translation & Port Forwarding

  3. Contenuti Introduzione Richiami sul protocollo IP e le porte di comunicazione Cenni ai Router Internet e il problema degli indirizzi Pubblici/Privati NAT a lavoro Port Forwarding Bibliografia Network Address Translation & Port Forwarding

  4. Introduzione [1/2] Nello studio dei protocolli di rete, Internet viene spesso indicata con una nuvoletta… …e quando questa scompare, appare una ragnatela di interconnessioni tra particolari apparati di rete, i Router, con i loro complessi algoritmi di instradamento la cui conoscenza difficilmente interessa a chi non è addetto ai lavori o deve semplicemente configurare aspetti più semplici ma tuttavia importanti per il funzionamento delle applicazioni tra sottoreti!!! Infatti vedremo altre funzionalità dei Router, in parte automatiche, come il NAT, e altre manuali, come il Port Forwarding, che sono essenziali per il livello applicazione e le relative sessioni client/server tra sottoreti di Internet!!! Network Address Translation & Port Forwarding

  5. Introduzione [2/2] Ogni computer, se fosse connesso direttamente a Internet, avrebbe un suo unico indirizzo IP… …ma se lo stesso computer, come accade negli ambiti lavorativi, fa parte di una LAN connessa a Internet, allora deve condividere questo unico indirizzo esterno con gli altri computer della sua stessa rete e questo situazione viene ovviamente gestita dal protocollo di NAT che svolge un ruolo di intermediario tra indirizzi interni e quello esterno sfruttando le porte del protocollo TCP/IP Premessa una conoscenza di base delle reti LAN, accenneremo il protocollo IP, quindi i Router, poi alle porte di comunicazione e al livello applicativo, tutto ciò per meglio comprendere come opera il protocollo NAT all’interno dei Router… Network Address Translation & Port Forwarding

  6. Il protocolloIP [1/5] Il protocollo IP stabilisce che ogni computer (o host) di una stessa rete deve possedere un unico identificativo espresso su 32 bit (4 byte), o, in modo equivalente, ma più leggibile, su una quaterna di byte, detta quaterna di Ottetti, in rappresentazione decimale e separati da un punto: A.B.C.Dcon A, B, C e D che assumono valori da 0 a 255 Per motivi di gestione delle reti, i valori 0 e 255 non sono sempre adoperabili come vedremo in seguito e quindi esempi sicuramente validi di indirizzi IP possono essere 10.0.0.1 oppure192.168.0.254 Inoltre, il protocollo IP stabilisce che lo stesso indirizzofornisca informazioni sulla rete di appartenenzain base a una classificazione gerarchica fattasui primi Ottetti di un indirizzo IP… Network Address Translation & Port Forwarding

  7. Il protocollo IP [2/5] La classificazione standard riportata nella tabella a lato indica quale tipo di indirizzamento scegliere in base alla grandezza della rete Ad esempio, una rete di classe C, del tipo 192.168.10, può contenere fino a un massimo di 254 host con il seguente intervallo di indirizzi da 192.168.10.1 a 192.168.10.254 • Questa classificazione, però, presenta suddivisioni non adeguate a reti di dimensioni intermedie (ad esempio, per reti di 1000 host la classe C è troppo piccola e quella B è troppo grande): • a tal fine è stato introdotto il Subnet Mask (maschera di sottorete) come un ulteriore parametro di rete che, attraverso una sequenza di altrettanti 32 bit, consente di stabilire fino a quale bit dei più significativi di un indirizzo IP è da considerarsi di rete e il restante per gli host • un esempio classico di Subnet Mask è il valore 255.255.255.0 che individua nei primi 3 ottetti l’indirizzo della rete e sull’ultimo quello relativo agli host consentendo lo stesso intervallo di indirizzamento di una classe C… • Esempi di sottoreti possono essere: • quella dell’operatore FastWeb dove la Subnet Mask è 255.255.248.0 con un intervallo di 8*256-2 host possibili e i primi 21 bit riservati alla sottorete • quella di una rete PowerLine o BlueTooth con un massimo di 2 host per cui la Subnet Mask è 255.255.255.252 Network Address Translation & Port Forwarding

  8. Il protocollo IP [3/5] Nelle reti di calcolatori, le porte sono lo strumento utilizzato per realizzare la multiplazione delle connessioni a livello di trasporto (liv. 4 del modello OSI), ovvero per permettere ad un calcolatore di effettuare più connessioni contemporanee verso altri calcolatori, facendo in modo che i dati contenuti nei pacchetti in arrivo vengano indirizzati al processo (programma in esecuzione) che li sta aspettando. Le porte sono numeri (in TCP e UDP sono a 16 bit) utilizzati per identificare una particolare connessione di trasporto tra quelle al momento attive su un calcolatore. I pacchetti appartenenti ad una connessione saranno quindi identificati dalla quadrupla [<indirizzo IP sorgente>, <indirizzo IP destinazione>, <porta sorgente>, <porta destinazione>]. I pacchetti nella direzione opposta avranno ovviamente sorgente e destinazione scambiati. Per poter inviare con successo un pacchetto con una certa porta destinazione, ci deve essere un processo che è "in ascolto" su quella porta, ovvero che ha chiesto al sistema operativo di ricevere connessioni su quella porta. L'operazione di impegnare una porta TCP o UDP da parte di un processo è detta "bind", dal nome della chiamata di sistema Unix che la realizza. La porta sorgente utilizzata in una connessione viene scelta dal calcolatore che inizia la connessione tra una di quelle al momento non impegnate. Network Address Translation & Port Forwarding

  9. Il protocollo IP [4/5] Esegui “ipconfig” x conoscere la config. di rete di questo computer Verrà fornito l’indirizzo IP, la subnet-mask e l’indirizzo IP del gateway di cui parleremo più avanti. Esegui “Tcpview” x conoscere le porte di comunicazione dei processi attivi. In Internet, c'è una convenzione per cui ad alcuni numeri di porta sono associati determinati protocolli di livello applicativo. Ad esempio, se voglio contattare il server HTTP eventualmente in esecuzione su un certo calcolatore, so che devo tentare di stabilire una connessione verso la porta 80. Le porte conosciute sono assegnate dall'Internet Assigned Numbers Authority (IANA), sono quelle inferiori a 1024, e sono generalmente utilizzate a livello di sistema operativo o di processi di sistema. In genere rimangono in ascolto su queste porte applicazioni con funzioni di server. Alcuni esempi possono essere le applicazioni che utilizzino protocolli FTP (21), SSH (22), TELNET (23), SMTP (25) e HTTP (80). Sono dette porte ben note. La tabella delle Classi per gli indirizzamenti IP viene qui riproposta per farne riferimento durante l’esecuzione del comando IPconfig. Network Address Translation & Port Forwarding

  10. Il protocollo IP [5/5] Come abbiamo visto, il protocollo IP è un protocollo che consente indirizzamenti gerarchici che stabiliscono regole di appartenenza di un host ad una rete indipendentemente dalla struttura fisica della stessa rete e ciò non era possibile adoperando i MAC Address in quanto sono semplici indirizzi seriali Per meglio comprendere definitivamente la differenza tra indirizzo IP e indirizzo MAC, supponiamo che gli host siano delle persone, l’indirizzo IP è paragonabile alla Nazione, Città, Via e Civico di residenza + il Nome della persona mentre l’indirizzo MAC è paragonabile al Codice Fiscale di una persona che per quanto la identifichi non consente informazioni immediate sulla sua raggiungibilità fisica, in pratica, il Codice Fiscale di una persona non contiene informazioni su dove andare per trovare tale persona A questo punto sono necessari nuovi dispositivi per gestire l’indirizzamento IP basandosi su funzionalità assimilabili a un servizio postale: i Router. Network Address Translation & Port Forwarding

  11. I Router[1/4] Il protocollo IP è stato progettato avendo in mente l’idea di un sistema di reti mondiale dove: la strutturazione gerarchica degli indirizzamenti consente l’individuazione degli host tra più reti interconnesse, come appena visto l’affidabilità basata sulla ridondanza delle interconnessioni consente di adoperare più strade per raggiungere uno stesso computer e ciò non era possibile con le tecnologie delle reti LAN su grandi distanze la scalabilità di un sistema mondiale consente di interconnettere nuovi nodi e quindi nuovi host senza minare la stabilità del sistema stesso Di fatto il protocollo IP è uno strato intermedio (livello 3 del modello OSI) tra i protocolli delle Reti appositamente inserito per “gestire” i dati che devono essere spostati da una LAN ad un’altra La gestione dello spostamento (instradamento) dei dati tra 2 o più reti è realizzata dai Router che interconnettono reti e altri Router consentendo di formare una rete che dispone di più strade per raggiungere uno stesso host Network Address Translation & Port Forwarding

  12. I Router[2/4] Dall’animazione sopra si può meglio comprendere come i dati, per raggiungere una destinazione, possono seguire anche più strade I Router gestiscono l’instradamento dei dati basandosi su delle Tabelle di Routing Queste tabelle, che possono essere Statiche (cioè inserite da un amministratore di rete) o Dinamiche (aggiornate continuamente da algoritmi di routing), consentono di indirizzare i dati verso altri Router “vicini” che “conoscono” la rete da raggiungere Network Address Translation & Port Forwarding

  13. I Router[3/4] Ma come è visto un Router dall’interno di una rete?! Innanzitutto un Router non è un dispositivo trasparente nella configurazione di una rete come può essere per molti dispositivi Switch Infatti necessità di un indirizzo IP appartenente a ogni rete a cui è collegato, cioè ha più interfacce di rete ciascuna con la sua configurazione Dunque, possedendo un proprio indirizzo IP per una rete a cui è collegato, potrebbe essere visto come un host su quella rete Di fatto anche un computer host può svolgere le funzioni di Router se possiede 2 o più interfacce e ne gestisce il traffico dati Ad ogni modo, che sia un computer o un dispositivo dedicato a fare il routing dei dati, entrambi sono visti dagli altri computer della stessa rete come una via di uscita verso altre reti, da cui il nome Gateway Di conseguenza, se un Router interconnette 2 reti, allora esso, avendo per entrambe un proprio indirizzo IP, è un Gateway dell’una rispetto all’altra ... Network Address Translation & Port Forwarding

  14. I Router [4/4] Osserviamo in questa simulazione che il Router0 ha 2 interfacce con indirizzamento diverso per ciascuna rete i pacchetti IP provenienti dal Pc 192.168.0.1 (ad esempio per un Ping) vengono correttamente instradati verso il Pc 10.0.0.1 ed in particolare questo non richiede alcuna manipolazione dei pacchetti in quanto per piccole reti non ci sono limiti di indirizzamento a patto di evitare duplicazioni comunque non ammesse 192.168.0.254 10.0.0.254 Network Address Translation & Port Forwarding

  15. Internet e il problema degli indirizzi Pubblici/Privati [1/3] Internet, com’è noto, rappresenta la rete mondiale basata sul protocollo IP, e per quanto detto in precedenza, si evidenziano le seguenti considerazioni: ogni computer ad essa collegato ha un suo unico indirizzo IP e quindi non sono ammessi duplicati la sua crescita esponenziale negli ultimi anni ha reso pressoché esaurita la disponibilità di ulteriori indirizzi IP (questo ha anche motivato la nascita di IPv6) a causa di questo, la società IANA (Internet Assigned Number Authority) che gestisce gli indirizzi IP, ne limita l’assegnazione alle varie società ISP (Internet Services Provider) e queste a loro volta rivendono a pagamento i singoli indirizzi IP per i computer da collegare a Internet addirittura, data la “continua” insufficienza di indirizzi, per molti ISP è stata fatta nel tempo la distinzione “a pagamento” traindirizzo Statico e Dinamico A questo punto, poiché l’esigenza di collegarsi conpiù postazioni da parte di enti, piccole e medieimprese, ecc, è irrefrenabile … Network Address Translation & Port Forwarding

  16. Internet e il problema degli indirizzi Pubblici/Privati [2/3] … si è pensato di ricorrere all’uso di indirizzi Privati (in contrapposizione a quelli Pubblici di Internet) per computer non presenti direttamente su Internet ma collegati a LAN che accedono alla grande rete attraverso un apposito Router che: possiede almeno 2 interfacce, una per la LAN, e quindi con un indirizzo privato appartenente a tale rete, e l’altra per Internet, con dunque un IP pubblico assegnato da un ISP e, mediante il protocollo NAT (Network AddressTranslation), traduce gli indirizzi della LAN nell’unico IP pubblico conservando traccia di tale traduzione (ma come?! è quanto vedremo in seguito) A questo punto, la configurazione degli indirizzi privati, essendo tradotti, potrebbe essere qualunque, ma tale pratica è sconsigliata per evitare sovrapposizioni tra indirizzi pubblici e privati qualora non ci fosse il NAT,e vengono individuati e proposti 3 blocchi di indirizzi privati (e quindi non usati in Internet), ciascuno per le prime 3 Classi degli indirizzi IP (tabella a lato) Network Address Translation & Port Forwarding

  17. Internet e il problema degli indirizzi Pubblici/Privati [3/3] A questo punto riEseguiamo “IPconfig” x conoscere la configurazione di rete per questo computer Ad esempio, se l’indirizzo visualizzato inizia con 192.168, allora questo computer fa parte di una LAN privata e ha un GateWay con indirizzo sull’interfaccia interna appartenente alla stessa rete. Attenzione, però, si potrebbe anche non ricavare un indirizzo di una classe privatama … http://www.iana.org/assignments/ipv4-address-space/ ! La tabella degli intervalli per gli indirizzi privati viene qui riproposta per farne riferimento durante l’esecuzione dei comandi di rete. • E infine apriamo la pagina web “CesarinFabio.it“ per conoscere con quale IP si è visti su Internet • Se questo IP non coincide con quello ricavato dalla config. di rete, allora significa che si è su una rete privata e si è visti su Internet con l’IP pubblico assegnato all’interfaccia esterna dell’ultimo GateWay di frontiera… • È possibile eseguire “tracert CesarinFabio.it“ per avere più informazioni su punti di passaggio (attenzione, i punti di passaggio, in quanto nodi di una rete, specialmente per quelli intermedi, potrebbero non essere sempre gli stessi) per raggiungere il sito tracciato! Network Address Translation & Port Forwarding

  18. NAT a lavoro[1/4] Il protocollo NAT lavora a livello 3 e 4 del Modello OSI intervenendo sul singolo pacchetto IP in uscita da una rete locale verso Internet e agendo sull’indirizzo Sorgente, e la relativa Porta, e trascrivendo tale manipolazione in un apposita tabella detta “Lookup Table” (tecnica detta del Source NAT o Port Address Tanslation) Per semplicità, data una rete LAN privata collegata mediante un apposito Router (con NAT attivo) a Internet per i pacchetti in partenza da uno degli host della Lan verso Internet, il Router in questione ne analizza l’intestazione IP e sostituisce: l’indirizzo sorgente con quello proprio sulla rete di destinazione e la porta sorgente con un identificativo dell’indirizzo sorgente sostituito registrando tali sostituzioni nella “lookup table” LAN Privata IP Pubblico fornito dal ISP 11.0.0.1 Pacchetti in partenza da 192.168.0.1 IP sorgente 192.168.0.1Porta sorgente 1074 IP destinazione A.B.C.DPorta destinazione X Lookup Table del NAT192.168.0.1 : 1074 -> 5001 IP sorgente 11.0.0.1 Porta sorgente 5001 Network Address Translation & Port Forwarding

  19. NAT a lavoro [2/4] Abbiamo visto i pacchetti in partenza da un host di una LAN privata Ora vediamo i pacchetti in risposta a quelli partiti proponendo come esempio la classica navigazione web… si ha un PC di una LAN privata, con indirizzo 192.168.0.1 e IP pubblico195.210.91.83, che deve realizzare una navigazione web uno dei siti web da sfogliare si trova su un computer pubblico con IP 212.48.4.217 e Web Server in ascolto sulla porta 80 195.210.91.83 LAN Privata Pacchetti in partenzaper richiesta sito web IP sorg. 192.168.0.1 Porta sorg. 1074 IP dest. 212.48.4.217 Porta dest. 80 Pacchetti in rispostaper richiesta sito web IP sorg. 212.48.4.217 Porta sorg. 80 IP dest. 195.210.91.83 Porta dest. 5001 Lookup Table del NAT 192.168.0.1 : 1074 > 5001 IP sorg. 195.210.91.83 Porta sorg. 5001 IP dest. 212.48.4.217 Porta dest. 80 Lookup Table del NAT 192.168.0.1 : 1074 > 5001 IP sorg. 212.48.4.217 Porta sorg. 80 IP dest. 192.168.0.1 Porta dest. 1074 Network Address Translation & Port Forwarding

  20. NAT a lavoro [3/4] Abbiamo appena visto che i pacchetti in risposta provenivano da un Web Server presente su un computer collegato direttamente a Internet Adesso invece il Web Server si trova sulla macchina 10.0.0.2 che fa parte di una LAN privata ed è sempre in ascolto sulla porta 80: il NAT presentato prima sarà sufficiente per raggiungere tale macchina ammesso di conoscere l’IP pubblico della LAN 2 ?! LAN Privata 1 LAN Privata 2 212.48.4.217 195.210.91.83 Pacchetti in partenzaper richiesta sito web IP sorg. 192.168.0.1 Porta sorg. 1074 IP dest. 212.48.4.217 Porta dest. 80 L’IP di destinazione deve essere pubblico perché quelli privati non sono visibili su Internet! Problema sul Router1 ?! E’ arrivato: IP sorg. 195.210.91.83 Porta sorg. 5001 IP dest. 212.48.4.217 Porta dest. 80 A quale host di questa LAN deve essere girato ?! Lookup Table del NAT 192.168.0.1:1074 > 5001 IP sorg. 195.210.91.83 Porta sorg. 5001 IP dest. 212.48.4.217 Porta dest. 80 Network Address Translation & Port Forwarding

  21. Considerazioni sul NAT [4/4] Dunque il Source NAT (o Port Address Translation) non è sufficiente come protocollo gestito in automatico per realizzare la perfetta comunicazione client/server di applicativi presenti su host di diverse lan private e si renderà necessario un intervento manuale detto Port Forwarding che vedremo a breve Ad ogni modo il NAT altera l’idea iniziale degli indirizzi IP e di Internet Il NAT è usato anche nei FireWall La Lookup Table viene ripulita da connessioni non più adoperate mediante meccanismi di scadenza Network Address Translation & Port Forwarding

  22. Il Port Forwarding [1/3] Il Port Forwarding (o Destination NAT) è stato pensato per rendere accessibile dall’esterno gli host di una rete privata fornendo all’amministratore di rete la possibilità di configurare, sempre con la tecnica della porte, i computer raggiungibili da richieste esterne Alcuni dispositivi predispongono un Port Forwarding bilanciato, che per semplicità non tratteremo ma che aumenta l’affidabilità di un servizio disponibile su più host di una stessa rete privata Nel seguito tratteremo un Port Forwarding semplice: consideriamo ancora un Web Server su una macchina con IP 10.0.0.2 che fa parte di una LAN privata e sia sempre in ascolto sulla porta 80: stavolta, però, predisponiamo un Port Forrwarding sul Router1! LAN Privata 1 LAN Privata 2 212.48.4.217 Port Forwarding Table 80 > 10.0.0.2 : 80 195.210.91.83 Network Address Translation & Port Forwarding

  23. Il Port Forwarding [2/3] A seguito del Port Forwarding sul Router 1, la connessione già accennata viene ad instaurarsi tra web-client e web-server LAN Privata 1 LAN Privata 2 212.48.4.217 Port Forwarding Table 80 > 10.0.0.2 : 80 195.210.91.83 In base al Port Forwardingil pacchetto diventa IP sorg. 195.210.91.83 Porta sorg. 5001 IP dest. 10.0.0.2 Porta dest. 80 Pacchetti in partenzaper richiesta sito web IP sorg. 192.168.0.1 Porta sorg. 1074 IP dest. 212.48.4.217 Porta dest. 80 L’IP di destinazione deve essere pubblico perché quelli privati non sono visibili su Internet! Lookup Table del NAT 192.168.0.1:1074 > 5001 IP sorg. 195.210.91.83 Porta sorg. 5001 IP dest. 212.48.4.217 Porta dest. 80 Pacchetti in rispostaper richiesta sito web IP sorg. 10.0.0.2 Porta sorg. 80 IP dest. 195.210.91.83 Porta dest. 5001 Network Address Translation & Port Forwarding

  24. Il Port Forwarding [3/3] L’uso di NAT e Port Forwarding garantisce certamente un maggior livello di sicurezza. Indipendentemente dal NAT e dal Port Forwarding, l’uso di IP pubblici Dinamici assegnati dai contratti Flat di molti Provider ADSL rende inaffidabile la raggiungibilità di qualunque applicativo server non garantendo un servizio stabile (ad esempio un Web Server in una rete aziendale o un Game Server in una rete domestica) Ulteriori argomenti da approfondire sono i FireWall, le VPN e la nuova frontiera della Virtualizzazione. Network Address Translation & Port Forwarding

  25. “Cisco Networking Academy Program” – Cisco Systems Inc – Pearson Education Italia – 2004 “Internet e Reti di Calcolatori” – Douglas Comer - Pearson Education Italia - 2000 PC Professionale n. 204 – Gianluca Marcoccia – Mondadori – 2008 Articoli di Wikipedia.it Documentazione del Modem-ADSL/Router/Switch NetGear DG 814 AONet Srl – www.aonet.it Bibliografia e altririferimenti Network Address Translation & Port Forwarding

More Related