Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoErminia Perini Modificato 10 anni fa
1
1/25 N etwork A ddress T ranslation & Port Forwarding I protocolli per far lavorare le reti private in Internet... prof. F. Cesarin
2
2/25Network Address Translation & Port Forwarding O biettivi, D estinatari e P rerequisiti Obiettivi 1. Comprendere i protocolli che rendono possibile lo scambio di dati tra due o più sottoreti LAN di Internet quando si adoperano applicativi client/server 2. Acquisire competenze sulla configurazione di rete per un applicativo server di una sottorette che accetta richieste da Internet e i relativi problemi di sicurezza Destinatari Classi V di Informatica Industriale per lObiettivo 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
3
3/25Network Address Translation & Port Forwarding C ontenuti 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
4
4/25Network Address Translation & Port Forwarding I ntroduzione [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!!!
5
5/25Network Address Translation & Port Forwarding I ntroduzione [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 allinterno dei Router…
6
6/25Network Address Translation & Port Forwarding I l protocollo IP [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.D con 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 indirizzo fornisca informazioni sulla rete di appartenenza in base a una classificazione gerarchica fatta sui primi Ottetti di un indirizzo IP…
7
7/25Network Address Translation & Port Forwarding I l 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 Classe Valori per gli ottetti di Rete Esempio intervallo per gli Host A 1 a 126 (127 x il Loopback) 1.0.0.1 a 1.255.255.254 B 128.0 a 191.255 128.0.0.1 a 128.0.255.254 C 192.0.0 a 223.255.255 192.168.0.1 a 192.168.0.254 D e E 224 a 255 Multicast e riservati Esempi di sottoreti possono essere: quella delloperatore 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 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 lindirizzo della rete e sullultimo quello relativo agli host consentendo lo stesso intervallo di indirizzamento di una classe C…
8
8/25Network Address Translation & Port Forwarding I l 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 [,,, ]. 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.
9
9/25Network Address Translation & Port Forwarding I l protocollo IP [4/5] Esegui ipconfig x conoscere la config. di rete di questo computeripconfig Verrà fornito lindirizzo IP, la subnet- mask e lindirizzo IP del gateway di cui parleremo più avanti. Esegui Tcpview x conoscere le porte di comunicazione dei processi attivi.Tcpview La tabella delle Classi per gli indirizzamenti IP viene qui riproposta per farne riferimento durante lesecuzione del comando IPconfig. Classe Valori per gli ottetti di Rete Esempio intervallo per gli Host A 1 a 126 (127 x il Loopback) 1.0.0.1 a 1.255.255.254 B 128.0 a 191.255 128.0.0.1 a 128.0.255.254 C 192.0.0 a 223.255.255 192.168.0.1 a 192.168.0.254 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.
10
10/25Network Address Translation & Port Forwarding I l 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, lindirizzo IP è paragonabile alla Nazione, Città, Via e Civico di residenza + il Nome della persona mentre lindirizzo 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 lindirizzamento IP basandosi su funzionalità assimilabili a un servizio postale: i Router.
11
11/25Network Address Translation & Port Forwarding I R outer [1/4] Il protocollo IP è stato progettato avendo in mente lidea di un sistema di reti mondiale dove: la strutturazione gerarchica degli indirizzamenti consente lindividuazione degli host tra più reti interconnesse, come appena visto laffidabilità 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 unaltra 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
12
12/25Network Address Translation & Port Forwarding I R outer [2/4] Dallanimazione sopra si può meglio comprendere come i dati, per raggiungere una destinazione, possono seguire anche più strade I Router gestiscono linstradamento 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
13
13/25Network Address Translation & Port Forwarding I R outer [3/4] Ma come è visto un Router dallinterno 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 delluna rispetto allaltra...
14
14/25Network Address Translation & Port Forwarding I R outer [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
15
15/25Network Address Translation & Port Forwarding I nternet e il problema degli indirizzi P ubblici/ P rivati [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 lassegnazione 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 tra indirizzo Statico e Dinamico A questo punto, poiché lesigenza di collegarsi con più postazioni da parte di enti, piccole e medie imprese, ecc, è irrefrenabile …
16
16/25Network Address Translation & Port Forwarding I nternet e il problema degli indirizzi P ubblici/ P rivati [2/3] … si è pensato di ricorrere alluso 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 laltra per Internet, con dunque un IP pubblico assegnato da un ISP e, mediante il protocollo NAT (Network Address Translation), traduce gli indirizzi della LAN nellunico IP pubblico conservando traccia di tale traduzione (ma come?! è quanto vedremo in seguito) per A 10 10.0.0.1 a 10.255.255.254 per B 172.16 a 172.31 172.16.0.1 a 172.16.255.254 per C 192.168.0 a 192.168.255 192.168.0.1 a 192.168.0.254 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)
17
17/25Network Address Translation & Port Forwarding I nternet e il problema degli indirizzi P ubblici/ P rivati [3/3] A questo punto riEseguiamo IPconfig x conoscere la configurazione di rete per questo computerIPconfig Ad esempio, se lindirizzo visualizzato inizia con 192.168, allora questo computer fa parte di una LAN privata e ha un GateWay con indirizzo sullinterfaccia interna appartenente alla stessa rete. Attenzione, però, si potrebbe anche non ricavare un indirizzo di una classe privata ma … http://www.iana.org/assignments/ipv4- address-space/ !http://www.iana.org/assignments/ipv4- address-space/ per A 10 10.0.0.1 a 10.255.255.254 per B 172.16 a 172.31 172.16.0.1 a 172.16.255.254 per C 192.168.0 a 192.168.255 192.168.0.1 a 192.168.0.254 La tabella degli intervalli per gli indirizzi privati viene qui riproposta per farne riferimento durante lesecuzione dei comandi di rete. E infine apriamo la pagina web CesarinFabio.it per conoscere con quale IP si è visti su InternetCesarinFabio.it 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 lIP pubblico assegnato allinterfaccia esterna dellultimo 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! tracert CesarinFabio.it
18
18/25Network Address Translation & Port Forwarding 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 sullindirizzo 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 lintestazione IP e sostituisce: lindirizzo sorgente con quello proprio sulla rete di destinazione e la porta sorgente con un identificativo dellindirizzo sorgente sostituito registrando tali sostituzioni nella lookup table LAN Privata Lookup Table del NAT 192.168.0.1 : 1074 -> 5001 IP sorgente 11.0.0.1 Porta sorgente 5001 IP Pubblico fornito dal ISP 11.0.0.1 Pacchetti in partenza da 192.168.0.1 IP sorgente 192.168.0.1 Porta sorgente 1074 IP destinazioneA.B.C.D Porta destinazioneX
19
19/25Network Address Translation & Port Forwarding 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 pubblico 195.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 partenza per richiesta sito web IP sorg.192.168.0.1 Porta sorg.1074 IP dest.212.48.4.217 Porta dest.80 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 risposta per 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.212.48.4.217 Porta sorg.80 IP dest.192.168.0.1 Porta dest.1074
20
20/25Network Address Translation & Port Forwarding 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 lIP pubblico della LAN 2 ?! LAN Privata 1LAN Privata 2 Pacchetti in partenza per richiesta sito web IP sorg.192.168.0.1 Porta sorg.1074 IP dest.212.48.4.217 Porta dest.80 LIP di destinazione deve essere pubblico perché quelli privati non sono visibili su Internet! 195.210.91.83 212.48.4.217 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 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 ?!
21
21/25Network Address Translation & Port Forwarding C onsiderazioni 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 lidea 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
22
22/25Network Address Translation & Port Forwarding I l P ort F orwarding [1/3] Il Port Forwarding (o Destination NAT) è stato pensato per rendere accessibile dallesterno gli host di una rete privata fornendo allamministratore 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 laffidabilità 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 1LAN Privata 2 195.210.91.83 212.48.4.217 Port Forwarding Table 80 > 10.0.0.2 : 80
23
23/25Network Address Translation & Port Forwarding I l P ort F orwarding [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 1LAN Privata 2 Pacchetti in partenza per richiesta sito web IP sorg.192.168.0.1 Porta sorg.1074 IP dest.212.48.4.217 Porta dest.80 LIP di destinazione deve essere pubblico perché quelli privati non sono visibili su Internet! 195.210.91.83 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 In base al Port Forwarding il pacchetto diventa IP sorg.195.210.91.83 Porta sorg.5001 IP dest.10.0.0.2 Porta dest.80 212.48.4.217 Port Forwarding Table 80 > 10.0.0.2 : 80 Pacchetti in risposta per richiesta sito web IP sorg.10.0.0.2 Porta sorg.80 IP dest.195.210.91.83 Porta dest.5001
24
24/25Network Address Translation & Port Forwarding I l P ort F orwarding [3/3] Luso di NAT e Port Forwarding garantisce certamente un maggior livello di sicurezza. Indipendentemente dal NAT e dal Port Forwarding, luso 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.
25
25/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 Network Address Translation & Port Forwarding B ibliografia e altri riferimenti
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.