LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam

NAT (Network address translation) è una tecnologia di traduzione degli indirizzi di rete. NAT ha risolto il problema più grande con IPv4: entro la metà degli anni '90, lo spazio degli indirizzi IPv4 avrebbe potuto essere completamente esaurito. Se la tecnologia NAT non fosse stata inventata, la crescita di Internet avrebbe rallentato notevolmente. Certo, è stato creato per oggi una nuova versione Protocollo IP - IPv6. Questa versione supporta un numero enorme di indirizzi IP, quindi l'esistenza di NAT è priva di significato. Tuttavia, molte organizzazioni utilizzano ancora il protocollo IPv4 nel loro lavoro e la transizione completa a IPv6 non avverrà presto. Pertanto, ha senso studiare la tecnologia NAT.

Network Address Translation NAT consente a un host IP non bianco di comunicare con altri host su Internet. Un indirizzo IP bianco è un indirizzo IP globale registrato, univoco su Internet. Esistono anche indirizzi IP grigi che vengono utilizzati su una rete privata e non vengono instradati su Internet. Pertanto, è necessaria la tecnologia NAT, che sostituirà l'indirizzo IP grigio con uno bianco. L'intervallo di "indirizzi IP grigi" è mostrato nella tabella.

La traduzione NAT sostituisce gli indirizzi IP privati ​​con indirizzi IP pubblici registrati in ogni pacchetto IP.

Eseguendo la traduzione NAT, il router cambia l'indirizzo IP di origine nel momento in cui il pacchetto lascia la rete privata. Il router cambia anche l'indirizzo di destinazione di ogni pacchetto che viene restituito alla rete privata. Il software Cisco IOS supporta diversi tipi di traduzione NAT:

  1. Traduzione NAT statico: esiste un IP pubblico per ogni indirizzo IP privato. Con la traduzione statica, un router NAT stabilisce semplicemente una corrispondenza uno a uno tra l'indirizzo IP privato e quello registrato per conto del quale sta parlando.
  2. Traduzione NAT dinamica: la traduzione degli indirizzi IP interni a quelli esterni avviene dinamicamente. Viene creato un pool di possibili indirizzi IP pubblici e gli indirizzi IP vengono selezionati dinamicamente da questo pool per la traduzione.
  3. PAT Port Address Translation - Scala per supportare più client con pochi indirizzi IP pubblici. PAT traduce l'indirizzo di rete in base alla porta TCP/UDP di destinazione.

Diamo un'occhiata più da vicino a ciascuno dei tipi di trasmissione.

Traduzione NAT statico fa una corrispondenza esatta tra l'indirizzo IP privato e pubblico. Diamo un'occhiata a un esempio.

L'ISP dell'azienda gli assegna un numero di rete registrato 200.1.1.0. Di conseguenza, il router NAT deve far apparire questo indirizzo privato come se fosse sulla rete 200.1.1.0. Per fare ciò, il router modifica l'indirizzo IP del mittente in pacchetti che vengono inoltrati da sinistra a destra, come mostrato in figura. In questo esempio, il router cambia l'indirizzo IP privato 10.1.1.1 nell'indirizzo IP pubblico 200.1.1.1. Un altro indirizzo privato 10.1.1.2 corrisponde a pubblico 200.1.1.2. Successivamente, diamo un'occhiata alla configurazione di NAT statico in Cisco.

Configurazione della traduzione NAT statica su apparecchiature Cisco rispetto ad altre opzioni, richiede la minima azione. In questo caso, è necessario stabilire una corrispondenza tra indirizzi IP locali (privati) e globali (pubblici). Inoltre, è necessario indicare al router quali interfacce utilizzare NAT in quanto potrebbe non essere abilitato su tutte le interfacce. In particolare, il router deve specificare ciascuna interfaccia e se è interna o esterna.

Il diagramma mostra che l'utente ha ricevuto dal provider l'indirizzo 100.0.0.0 della rete di classe C. Tutta questa rete con una maschera di 255.255.255.0 è configurata su un collegamento seriale tra l'utente e Internet. Poiché si tratta di un collegamento punto-punto, su questa rete vengono utilizzati solo 2 dei 254 indirizzi IP validi (possibili).

Configurazione per router NAT_GW:

NAT_GW> abilita NAT_GW # configura terminale - descrizione dell'interfaccia - imposta il gateway predefinito - descrizione dell'interfaccia - imposta Ip e maschera NAT_GW (config-if) #no spegnimento - accendi fisicamente l'interfaccia NAT_GW (config-if) #exit NAT_GW (config) #ip nat all'interno della fonte statica 192.168.1.2 100.0.0.1 NAT_GW (config) #ip nat all'interno della fonte statica 192.168.1.3 100.0.0.2 - mappatura indirizzi statici NAT_GW (config) #ip nat all'interno della fonte statica 192.168.1.4 100.0.0.3 - mappatura indirizzi statici

Le mappature statiche vengono create utilizzando il comando ip nat all'interno della fonte statica... Parola chiave dentro significa che NAT traduce gli indirizzi per gli host all'interno della rete. Parola chiave fonte significa che NAT traduce gli indirizzi IP in pacchetti che arrivano sulle sue interfacce interne. Parola chiave statico significa che questi parametri definiscono una voce statica che non verrà mai rimossa dalla tabella NAT a causa della scadenza di un periodo di tempo. Quando si creano voci NAT statiche, il router deve sapere quali interfacce sono interne e quali esterne. Sottocomandi dell'interfaccia ip nat dentro e ip nat fuori ogni interfaccia è opportunamente identificata.

Sono disponibili due comandi per visualizzare informazioni importanti su NAT. mostra le traduzioni ip nat, mostra le statistiche ip nat.

Il primo comando visualizza le tre voci NAT statiche create nella configurazione. Il secondo comando stampa informazioni statistiche come il numero di attivi questo momento voci nella tabella di traduzione. Questa statistica include anche il numero di re-hit (hit), che aumenta di uno per ogni pacchetto per il quale NAT deve tradurre gli indirizzi.

Passiamo a traduzione dinamica di indirizzi di rete NAT. La traduzione dinamica crea un pool di possibili indirizzi interni globali e definisce un criterio di corrispondenza per determinare quali indirizzi IP globali interni devono essere tradotti utilizzando NAT. Ad esempio, nel diagramma seguente, è stato impostato un pool di cinque indirizzi IP globali nell'intervallo 200.1.1.1 - 200.1.1.5. La traduzione NAT è anche configurata per tradurre tutti gli indirizzi interni locali che iniziano con ottetti 10.1.1

In configurazione della traduzione NAT dinamica su apparecchiature Ciscoè ancora necessario identificare ogni interfaccia, sia interna che esterna, ma non è più necessario impostare una mappatura statica. Per specificare gli indirizzi IP privati ​​da tradurre, la traduzione NAT dinamica utilizza gli elenchi di controllo degli accessi (ne ho scritto prima) e determina anche il pool di indirizzi IP pubblici registrati che verranno allocati da questo. Quindi, l'algoritmo per impostare la trasmissione dinamica:

  1. Configura le interfacce che saranno sulla sottorete interna usando il comando ip nat all'interno.
  2. Configura le interfacce che saranno sulla sottorete esterna usando il comando ip nat fuori.
  3. Configura ACL per i pacchetti in arrivo su interfacce interne per le quali dovrebbe essere applicato NAT
  4. Configurare un pool di indirizzi IP registrati pubblici utilizzando il comando della modalità di configurazione globale ip nat nome del pool first-address last-address netmask subnet-mask.
  5. Abilita la traduzione NAT dinamica specificando nel comando di configurazione globale ip nat all'interno dell'elenco dei sorgenti numero acl pool nome-piscina

Lo schema verrà utilizzato come l'ultima volta. Nuova configurazione per router NAT_GW:

NAT_GW> abilita - vai in modalità avanzata NAT_GW # configura terminale - vai alla modalità di configurazione NAT_GW (config) #interfaccia fa0 / 0 - configurare l'interfaccia verso la rete privata NAT_GW (config-if) #descrizione LAN - descrizione dell'interfaccia NAT_GW (config-if) #indirizzo ip 192.168.1.1 255.255.255.0 - imposta il gateway predefinito NAT_GW (config-if) #no spegnimento - accendi fisicamente l'interfaccia NAT_GW (config-if) #ip nat inside - configurare l'interfaccia come interna NAT_GW (config-if) #exit NAT_GW (config) #interface fa0 / 1 - impostazioni dell'interfaccia verso il provider NAT_GW (config-if) #descrizione ISP - descrizione dell'interfaccia NAT_GW (config-if) #indirizzo IP 100.0.0.253 255.255.255.0 - imposta Ip e maschera NAT_GW (config-if) #no spegnimento - accendi fisicamente l'interfaccia NAT_GW (config-if) #ip nat outside - configurare l'interfaccia come esterna NAT_GW (config-if) #exit NAT_GW (config) #ip nat pool testPool 100.0.0.1 100.0.0.252 netmask 255.255.255.0 - creare un pool dinamico NAT_GW (config) # access-list 1 permesso 192.168.1.1 0.0.0.255 - creare l'elenco di accesso 1, in cui permettiamo di trasmettere indirizzi IP dalla sottorete 192.168.1.1/24 NAT_GW (config) #ip nat all'interno dell'elenco dei sorgenti 1 pool testPool - attiva la trasmissione dinamica NAT_GW (config) #ip route 0.0.0.0 0.0.0.0 100.0.0.254 - percorso statico verso il provider

Il prossimo tipo di traduzione è la traduzione degli indirizzi di porta PAT (Port Address Translation). Parlerò di questo tipo di NAT nel prossimo articolo, quando collegheremo la sottorete locale a Internet. L'argomento è abbastanza ampio e importante. PAT è il tipo di NAT più popolare.


Iscriviti al nostro

NAT, o Network Address Translation, è un modo per riassegnare uno spazio di indirizzi a un altro modificando le informazioni sull'indirizzo di rete nel protocollo Internet o IP. Le intestazioni dei pacchetti cambiano mentre sono in transito attraverso i dispositivi di routing. Questo metodo è stato originariamente utilizzato per reindirizzare più facilmente il traffico sulle reti IP senza la necessità di numerare ciascun host. È diventato uno strumento importante e popolare per l'allocazione e il mantenimento dello spazio di indirizzi globale a fronte di una grave carenza di indirizzi IPv4.

Cos'è il NAT?

L'uso della traduzione degli indirizzi di rete consiste nel mappare ogni indirizzo da uno spazio di indirizzi a un indirizzo che si trova in uno spazio di indirizzi diverso. Ciò potrebbe essere necessario se il fornitore di servizi è cambiato e l'utente non ha l'opportunità di annunciare pubblicamente il nuovo percorso verso la rete. Di fronte all'esaurimento dello spazio di indirizzamento globale, la tecnologia NAT è stata sempre più utilizzata dalla fine degli anni '90. In genere questa tecnologia viene utilizzata insieme alla crittografia IP. La crittografia IP è un metodo per trasferire più indirizzi IP in un unico spazio. Questo meccanismo è implementato in un dispositivo di routing che utilizza tabelle di traduzione stateful per mappare indirizzi nascosti a un singolo indirizzo IP. Reindirizza anche tutti i pacchetti IP in uscita sull'uscita. Pertanto, questi pacchetti vengono visualizzati come in uscita dal dispositivo di routing. Le risposte di backlink vengono mappate all'indirizzo IP originale utilizzando regole memorizzate nelle tabelle di traduzione. A loro volta, le tabelle di traduzione vengono cancellate dopo poco tempo se il traffico non aggiorna il suo stato. Questo è il meccanismo NAT di base. Cosa significa questo? Questa tecnologia consente di organizzare la comunicazione tramite un router solo quando la connessione avviene in una rete crittografata, poiché questo crea tabelle di traduzione. All'interno di tale rete, un browser Web può visualizzare un sito al di fuori di esso, ma se installato al di fuori di esso, non può aprire una risorsa ospitata su di esso. La maggior parte dei dispositivi NAT oggi consente all'amministratore di rete di configurare le voci della tabella di traduzione per l'uso permanente. Questa funzione viene spesso indicato come port forwarding o NAT statico. Consente al traffico in uscita verso la rete "esterna" di raggiungere gli host designati sulla rete crittografata. A causa della popolarità del metodo utilizzato per preservare lo spazio degli indirizzi IPv4, il termine NAT è diventato quasi sinonimo di crittografia. Poiché la traduzione dell'indirizzo di rete modifica le informazioni sull'indirizzo dei pacchetti IP, ciò può avere gravi conseguenze per la qualità della connessione. Quindi richiede molta attenzione a tutti i dettagli dell'implementazione. I modi in cui viene utilizzato NAT differiscono l'uno dall'altro nel loro comportamento specifico in diverse situazioni che riguardano l'impatto sul traffico di rete.

NAT di base

Il tipo più semplice di NAT consente la traduzione uno a uno degli indirizzi IP. Il tipo principale di questa trasmissione è RFC-2663. In questo caso vengono modificati solo gli indirizzi IP e il checksum delle intestazioni IP. I tipi di traduzione di base possono essere utilizzati per connettere due reti IP con indirizzi incompatibili.

La maggior parte delle versioni NAT è in grado di mappare più host privati ​​su un singolo indirizzo IP designato pubblicamente. Una LAN in una configurazione tipica utilizza uno degli indirizzi IP "privati" assegnati per la sottorete. Su questa rete, il router ha un indirizzo privato nello spazio. Inoltre, il router si connette a Internet utilizzando un "indirizzo pubblico" assegnato dall'ISP. Mentre il traffico va da rete locale Internet, quindi l'indirizzo di origine in ogni pacchetto viene tradotto da privato a pubblico al volo. Il router tiene anche traccia dei dati di base su ogni connessione attiva. Ciò vale in particolare per informazioni quali indirizzo e porto di destinazione. Quando gli viene restituita la risposta, utilizza i dati di connessione che vengono salvati durante la fase di uscita. Ciò è necessario per determinare l'indirizzo privato della rete interna a cui indirizzare la risposta. Il vantaggio principale di questa funzionalità è che è una soluzione pratica al problema dell'esaurimento dello spazio degli indirizzi IPv4. Anche reti di grandi dimensioni possono essere collegate a Internet utilizzando un unico indirizzo IP. Tutti i datagrammi a pacchetto sulle reti IP hanno due indirizzi IP: l'indirizzo di origine e l'indirizzo di destinazione. Pacchetti che passano dalla rete privata alla rete uso comune, avrà un indirizzo di origine del pacchetto che cambia durante il passaggio da una rete pubblica a una privata. Sono possibili anche configurazioni più complesse.

Caratteristiche della configurazione NAT

La configurazione NAT può essere specifica. Potrebbero essere necessarie ulteriori modifiche per evitare il fastidio di tradurre i pacchi restituiti. La maggior parte del traffico Internet passerà attraverso UDP e TCP. I loro numeri vengono modificati in modo che gli indirizzi IP ei numeri di porta corrispondano quando i dati vengono restituiti. I protocolli che non sono basati su UDP o TCP richiedono metodi di traduzione diversi. Di norma, ICMP, o Internet Message Control Protocol, correla le informazioni trasmesse con la connessione esistente. Ciò significa che dovrebbero essere visualizzati utilizzando lo stesso indirizzo IP e numero originariamente impostato. Cosa deve essere considerato? La configurazione di NAT sul router non fornisce connettività end-to-end. Per questo motivo, tali router non possono partecipare ad alcuni protocolli Internet. I servizi che richiedono l'avvio di connessioni TCP dalla rete esterna o da utenti senza protocollo potrebbero semplicemente non essere disponibili. Se il router NAT non fa molti sforzi per supportare tali protocolli, i pacchetti in arrivo potrebbero non raggiungere mai la loro destinazione. Alcuni protocolli possono essere ospitati nella stessa trasmissione tra gli host partecipanti, a volte utilizzando un gateway a livello di applicazione. Tuttavia, la connessione non verrà stabilita quando entrambi i sistemi sono separati da Internet tramite NAT. Inoltre, l'uso del NAT complica i protocolli di tunneling come IPsec, in quanto modifica i valori nelle intestazioni che interagiscono con i controlli di integrità delle richieste.

NAT: un problema esistente

Il principio di base di Internet è la connettività end-to-end. Esiste dal suo sviluppo. Lo stato attuale della rete dimostra solo che NAT è una violazione di questo principio. In un ambiente professionale, ci sono serie preoccupazioni sull'uso diffuso della traduzione degli indirizzi di rete in IPv6. Pertanto, oggi viene sollevata la domanda su come eliminare questo problema. Poiché le tabelle dello stato di traduzione nei router NAT non sono intrinsecamente permanenti, i dispositivi sulla rete interna perdono la connettività IP in un periodo di tempo molto breve. Non dobbiamo dimenticare questa circostanza quando parliamo di cosa sia il NAT in un router. Ciò riduce significativamente il tempo di funzionamento dei dispositivi compatti che funzionano con batterie ricaricabili e batterie.

Scalabilità

NAT controlla anche solo le porte che possono essere rapidamente esaurite da applicazioni interne che utilizzano più connessioni simultanee. Queste possono essere richieste HTTP per pagine con molti oggetti incorporati. Questo problema può essere mitigato tenendo traccia dell'indirizzo IP nelle destinazioni oltre alla porta. Una porta locale può quindi essere condivisa da un gran numero di host remoti.

NAT: alcune complicazioni

Poiché tutti gli indirizzi interni sono camuffati da un indirizzo pubblico, è impossibile per gli host esterni avviare una connessione a uno specifico host interno senza impostare una configurazione speciale sul firewall. Questa configurazione dovrebbe reindirizzare le connessioni a una porta specifica. La telefonia IP, le videoconferenze e applicazioni simili devono utilizzare tecniche di attraversamento NAT per funzionare correttamente. La porta di traduzione Rapt e l'indirizzo di ritorno consentono a un host il cui indirizzo IP cambia di volta in volta di rimanere disponibile come server utilizzando un indirizzo IP fisso rete di casa... Ciò dovrebbe in linea di principio consentire alla configurazione del server di mantenere la connessione. Anche se questa soluzione non è l'ideale, può essere un'altra attrezzo utile nell'arsenale amministratore di rete quando si risolvono problemi relativi alla configurazione di un router NAT.

PAT o traduzione di indirizzi di porta

Port Address Translation è un'implementazione di Cisco Rapt che associa più indirizzi IP privati ​​a un singolo indirizzo pubblico. Pertanto, più indirizzi possono essere mappati come un indirizzo perché ciascuno viene tracciato utilizzando un numero di porta. PAT utilizza numeri di porta di origine IP globali interni univoci per distinguere la direzione del trasferimento dei dati. Questi numeri sono interi a 16 bit. Il numero totale di indirizzi interni che possono essere tradotti in un indirizzo esterno può teoricamente arrivare a 65536. In realtà, il numero di porte a cui può essere assegnato un singolo indirizzo IP è di circa 4000. PAT, di regola, cerca di mantenere l'originale porto dell'"originale"... Se è già in uso, Port Address Translation assegna il primo numero di porta disponibile, a partire dall'inizio del gruppo corrispondente. Quando non ci sono porte disponibili ed è presente più di un indirizzo IP esterno, PAT si sposta al successivo per allocare la porta di origine. Questo processo continuerà fino all'esaurimento dei dati disponibili. Il servizio Cisco visualizza l'indirizzo e la porta. Combina un indirizzo della porta di traduzione e dati per il tunneling di pacchetti IPv4 su una rete IPv6 interna. In sostanza lo è Opzione alternativa Carrier Grade NAT e DS-Lite, che supporta la porta IP e la traduzione degli indirizzi. Ciò evita i problemi associati alla creazione e al mantenimento di una connessione. Fornisce inoltre un meccanismo di transizione per la distribuzione di IPv6.

Metodi di traduzione

Esistono diversi modi principali per implementare la traduzione di un indirizzo di rete e di una porta. Alcuni protocolli applicativi richiedono di determinare l'indirizzo NAT esterno utilizzato all'altra estremità della connessione. Spesso è anche necessario studiare e classificare il tipo di trasmissione. In genere, ciò viene fatto perché è desiderabile tra due client dietro NAT separati creare un canale di comunicazione diretto. A tale scopo è stato sviluppato un protocollo speciale RFC 3489, che fornisce un semplice attraversamento UPD tramite NATS. Oggi è già considerato obsoleto, poiché al giorno d'oggi tali metodi sono considerati insufficienti per una corretta valutazione del funzionamento dei dispositivi. Nel 2008 è stata sviluppata la RFC 5389 e sono stati standardizzati nuovi metodi. Questa specifica è oggi chiamata Session Traversal. È un'utilità dedicata per NAT.

Stabilire una comunicazione bidirezionale

Ciascun pacchetto UDP e TCP contiene l'indirizzo IP di origine e il relativo numero di porta, nonché le coordinate della porta di destinazione. Il numero di porta è molto importante per ottenere servizi pubblici come la funzionalità del server di posta. Quindi, ad esempio, la porta 25 si connette al server di posta SMTP e la porta 80 si connette al software del server web. Anche l'indirizzo IP del server pubblico è essenziale. Questi parametri devono essere conosciuti in modo affidabile da quei nodi che intendono stabilire una connessione. Gli indirizzi IP privati ​​sono rilevanti solo sulle reti locali.

Il principio di funzionamento di un router (router)

Leggendo questo articolo, penso che tutti capiscano cos'è un router e perché è necessario, ma qualcuno ha pensato a come funziona? In questo articolo cercherò di spiegare i principi di base del router nel linguaggio più accessibile. Questo articolo sarà utile sia per gli amministratori di sistema che per gli utenti ordinari.

La funzione principale che funziona in qualsiasi router è NAT

NAT- La traduzione degli indirizzi di rete viene utilizzata per sostituire gli indirizzi IP. Nelle reti locali vengono utilizzati principalmente indirizzi del tipo 192.168.1.XXX o simili, e questo crea un problema di routing nell'Internet globale, poiché gli indirizzi IP sulla rete non devono essere duplicati. La soluzione a questo problema è NAT: i computer sulla rete locale si connettono all'interfaccia locale del router, ricevono indirizzi IP e un gateway da esso (il router funge da gateway) e l'interfaccia WAN del router si connette a Internet .

Ora diamo un'occhiata al principio della traduzione NAT:

  • Viene effettuata una richiesta da qualsiasi computer sulla rete locale, ad esempio, si tenta di accedere a qualsiasi sito: il computer invia questa richiesta all'indirizzo del gateway, cioè il nostro router;
  • Il router, ricevuta questa richiesta, registra il tuo computer come iniziatore della connessione, dopodiché una copia del tuo pacchetto viene creata e inviata all'indirizzo di destinazione, ma per conto del router, e con il suo indirizzo IP, e il tuo pacchetto è semplicemente distrutto;
  • Il server a cui è stata inviata la richiesta la elabora e invia una risposta, naturalmente all'indirizzo del router. E il router lo stava già aspettando, poiché ha creato un record che una risposta dovrebbe arrivare alla richiesta del tuo computer e la invia al tuo computer. Come puoi vedere, secondo questo schema, solo un computer della rete locale può essere l'iniziatore della connessione e la risposta dal server arriverà al computer solo se il router lo sta aspettando (risposta alla richiesta) . In altre parole, tutti i tentativi di connessione dall'esterno si fermeranno al router, e andranno a buon fine solo se il router mette a disposizione una risorsa sulla porta richiesta o ha delle regole di Port Forwarding configurate, di cui parleremo ora.

Port forwarding

Port forwarding- questo è essenzialmente lo stesso del NAT, ma nella direzione opposta, e quindi solo NAT statico, cioè determinate richieste solo a determinati computer, perché nella rete globale non possono conoscere gli indirizzi IP dietro il router. Ad esempio, hai creato un server FTP o HTTP sul tuo computer e vuoi fornire l'accesso a queste risorse, per questo devi registrarti questa regola nel router, che indicherà che tutti i pacchetti in arrivo alla porta desiderata (21 o 80 nel nostro caso) verranno trasmessi all'indirizzo IP del nostro computer su una porta specifica (la porta può essere modificata).

NAT - DMZ

NAT - DMZ- questo è assolutamente lo stesso del Port Forwarding, ma con la differenza che non è necessario scrivere una regola per ogni porta, è sufficiente impostare NAT - DMZ, che trasmetterà tutte le richieste in entrata al router WAN al desiderato computer. Ovviamente non è più possibile cambiare le porte.

Instradamento

Per semplificare l'idea di cosa sia, possiamo dire che è uguale al NAT, ma solo in entrambe le direzioni. Con questo schema, il router deve avere più di 2 interfacce LAN (non porte, ma interfacce), con spazi di indirizzi diversi, ad esempio, un'interfaccia IP ha 192.168.0.1 e l'altra ha 192.168.1.1. Pertanto, i computer su una rete riceveranno il tipo IP 192.168.0.XXX e su un'altra rete 192.168.0.XXX e i loro gateway saranno rispettivamente 192.168.0.1 e 192.168.1.1. Ecco come si ottiene il routing bidirezionale.

Non dimenticare di andartene

Ok, dimentichiamo questo testo per un po'.
In generale, le liste di accesso sono diverse:

Standard
- Esteso
- Dinamico
- Riflessivo
- Fasi temporali

Oggi concentreremo la nostra attenzione sui primi due e puoi leggerli tutti in modo più dettagliato su tsiska.

Traffico in entrata e in uscita

Per iniziare, cerchiamo di capire una cosa. Che cos'è il traffico in entrata e in uscita? Ne avremo bisogno in futuro. Il traffico in entrata è quello che arriva all'interfaccia dall'esterno.

In uscita è quello che viene inviato dall'interfaccia verso l'esterno.

Puoi applicare l'elenco di accesso sia al traffico in entrata, quindi i pacchetti indesiderati non arriveranno nemmeno al router e, di conseguenza, oltre alla rete, sia in uscita, quindi i pacchetti arrivano al router, elaborati da esso, raggiungono l'interfaccia di destinazione e solo cadere su di esso.

Un elenco di accesso standard controlla solo l'indirizzo del mittente. Esteso: indirizzo del mittente, indirizzo del destinatario e porta. Si consiglia di impostare ACL standard il più vicino possibile al destinatario (in modo da non tagliare più del necessario) e ACL estesi più vicino al mittente (per eliminare il traffico indesiderato il prima possibile).

Pratica

Passiamo subito alla pratica. A cosa lo limiteremmo nella nostra piccola rete Lift mi Up?

A) Server WEB. Consenti a tutti l'accesso sulla porta TCP 80 (protocollo HTTP). Per il dispositivo da cui verrà effettuato il controllo (abbiamo un amministratore), è necessario aprire telnet e ftp, ma lo daremo accesso completo... Tutti gli altri si spengono.

B) File server... Dobbiamo ottenere i residenti di Lift mi Ap su di esso tramite le porte per le cartelle condivise e tutto il resto tramite FTP.

C) Server di posta. Qui abbiamo SMTP e POP3 in esecuzione, ovvero le porte TCP 25 e 110. Apriamo anche l'accesso di controllo per l'amministratore. Blocchiamo gli altri.

D) Per il futuro server DNS, è necessario aprire la porta UDP 53

E) Consenti messaggi ICMP alla rete del server

E) Poiché abbiamo la rete Altro per tutte le persone non parti che non hanno inserito FEO, VET e Contabilità, li limiteremo tutti e daremo solo alcuni accessi (inclusi noi e l'amministratore)

g) Anche in questo caso, solo l'amministratore dovrebbe essere consentito nella rete di controllo e, naturalmente, la sua amata.

G) Non creeremo ostacoli alla comunicazione tra i dipendenti dei reparti.

a) Accesso al WEB-server

Qui abbiamo una politica che vieta tutto ciò che non è consentito. Pertanto, ora dobbiamo aprire qualcosa e chiudere tutto il resto.
Poiché stiamo proteggendo la rete di server, appenderemo anche l'elenco sull'interfaccia andando verso di loro, cioè su FE0 / 0.3.La domanda è solo su in o a fuori dobbiamo farlo? Se non vogliamo inviare pacchetti verso server che sono già sul router, allora questo sarà traffico in uscita. Cioè, gli indirizzi di destinazione (destinazione) saranno nella rete di server (di cui sceglieremo a quale server va il traffico) e gli indirizzi di origine (sorgente) possono essere qualsiasi - sia dalla nostra rete aziendale che da Internet .
Un'altra nota: poiché filtreremo per indirizzo di destinazione (alcune regole per il server WEB, altre per il server di posta), allora abbiamo bisogno di una lista di controllo degli accessi estesa, solo che ci consente di farlo.

Le regole nell'elenco di accesso vengono controllate in ordine dall'alto verso il basso fino alla prima corrispondenza. Non appena una delle regole ha funzionato, indipendentemente dal fatto che sia Consenti o Nega, il controllo si interrompe e l'elaborazione del traffico si basa sulla regola attivata.
Cioè, se vogliamo proteggere il server WEB, allora prima di tutto dobbiamo dare il permesso, perché se configuriamo nella prima riga negare qualsiasi ip- allora funzionerà sempre e il traffico non andrà affatto. Qualunque- questa è una parola speciale che indica l'indirizzo di rete e la maschera di ritorno 0.0.0.0 0.0.0.0 e significa che assolutamente tutti i nodi di qualsiasi rete rientrano nella regola. Un'altra parola speciale è ospite- significa la maschera 255.255.255.255 - cioè esattamente un singolo indirizzo specificato.
Quindi, la prima regola: consentire l'accesso a tutti sulla porta 80


msk-arbat-gw1 (config-ext-nacl) # commento WEB
qualsiasi host 172.16.0.2 eq 80

permettiamo ( permesso) Traffico TCP da qualsiasi host ( qualunque) ospitare ( ospite- esattamente un indirizzo) 172.16.0.2, indirizzato alla 80a porta.
Stiamo cercando di bloccare questo elenco di accesso sull'interfaccia FE0 / 0.3:

msk-arbat-gw1 (config-subif) # ip access-group Servers-out fuori

Controlliamo da uno qualsiasi dei nostri computer collegati:

Come puoi vedere la pagina si apre, ma per quanto riguarda il ping?

E quindi da qualsiasi altro nodo?

Il fatto è che dopo tutte le regole nel cisk ACL, un implicito negare qualsiasi ip(negazione implicita). Cosa significa questo per noi? Qualsiasi pacchetto che lascia l'interfaccia e non corrisponde a nessuna delle regole nell'ACL viene implicitamente negato e viene scartato. Cioè, almeno ping, almeno ftp, almeno tutto qui non funzionerà.

Andiamo oltre: devi dare pieno accesso al computer da cui verrà eseguito il controllo. Questo sarà il computer del nostro amministratore con l'indirizzo 172.16.6.66 dall'Altra rete.
Ogni nuova regola viene aggiunta automaticamente alla fine dell'elenco se esiste già:

msk-arbat-gw1 (config) #
msk-arbat-gw1 (config-ext-nacl) # permesso tcp host 172.16.6.66 host 172.16.0.2 intervallo 20 ftp
msk-arbat-gw1 (config-ext-nacl) # allow tcp host 172.16.6.66 host 172.16.0.2 eq telnet

È tutto. Controlliamo dal nodo desiderato (poiché telnet non è supportato dai server in RT, controlliamo su FTP):

Cioè, il messaggio FTP è arrivato al router e dovrebbe lasciare l'interfaccia FE0 / 0.3. Il router controlla e vede che il pacchetto corrisponde alla regola che abbiamo aggiunto e lo passa.

E da un nodo estraneo

Il pacchetto FTP non corrisponde a nessuna delle regole, ad eccezione dell'ip implicito allow any any, e viene scartato.

b) Accesso al file server

Qui bisognerebbe, prima di tutto, decidere chi sarà il “residente”, a chi deve essere consentito l'accesso. Naturalmente, questi sono coloro che hanno un indirizzo dalla rete 172.16.0.0/16 - solo loro avranno accesso.
Ora con cartelle condivise... Nella maggior parte dei sistemi moderni, per questo è già utilizzato il protocollo SMB, che necessita della porta TCP 445. Nelle versioni precedenti veniva utilizzato NetBios, che veniva alimentato tramite tre porte: UDP 137 e 138 e TCP 139. Previo accordo con il nostro amministratore, abbiamo configurerà la porta 445 (anche se il controllo in RT, ovviamente, non funzionerà). Ma oltre a questo, abbiamo bisogno di porte per FTP - 20, 21 e non solo per host interni, ma anche per connessioni da Internet:
msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.0.0 0.0.255.255 ospite 172.16.0.3 eq 445
msk-arbat-gw1 (config-ext-nacl) # allow tcp qualunque host 172.16.0.3 intervallo 20 21

Qui abbiamo riapplicato la costruzione gamma 20 21- per specificare più porte in una riga. Per FTP, in generale, solo la porta 21 non è sufficiente. Il fatto è che se lo apri solo, l'autorizzazione avrà luogo per te, ma il trasferimento dei file no.

0.0.255.255 - maschera con caratteri jolly. Parleremo un po 'più tardi di cosa si tratta.

c) Accesso al server di posta

Continuiamo a sviluppare la pratica - ora con il server di posta. Come parte dello stesso elenco di accesso, aggiungiamo nuovi record di cui abbiamo bisogno.
Invece dei numeri di porta per i protocolli diffusi, puoi specificare i loro nomi:
msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) #permit tcp qualsiasi host 172.16.0.4 eq pop3
msk-arbat-gw1 (config-ext-nacl) #permit tcp qualsiasi host 172.16.0.4 eq smtp

d) Server DNS

msk-arbat-gw1 (config) # ip access-list esteso Server-out
msk-arbat-gw1 (config-ext-nacl) # permesso udp 172.16.0.0 0.0.255.255 ospite 172.16.0.5 eq 53

e) ICMP

Resta da sistemare la situazione del ping. Non c'è niente di sbagliato nell'aggiungere regole alla fine dell'elenco, ma sarà in qualche modo esteticamente piacevole vederle all'inizio.
Usiamo un semplice trucco per questo. Per questo puoi usare editor di testo, Per esempio. Copia il pezzo ACL dallo show run lì e aggiungi le seguenti righe:
nessun ip access-list esteso Server-out
ip access-list esteso Server-out
consentire icmp qualsiasi qualsiasi
commento WEB



nota FILE


commento MAIL


nota DNS

Nella prima riga, eliminiamo l'elenco esistente, quindi lo creiamo di nuovo ed elenchiamo tutte le nuove regole nell'ordine di cui abbiamo bisogno. Con il comando nella terza riga, abbiamo consentito a tutti i pacchetti ICMP di passare da qualsiasi host a qualsiasi host.

Quindi copia tutto in blocco e incollalo nella console. L'interfaccia interpreta ogni riga come un comando separato e lo esegue. Pertanto, abbiamo sostituito il vecchio elenco con quello nuovo.
Controlliamo che ci sia un ping:

Perfettamente.

Questo trucco è utile per la configurazione iniziale o se sai esattamente cosa stai facendo. Sopra rete funzionante quando si configura l'ACL in remoto, si corre il rischio di rimanere senza accesso al componente hardware configurabile.

Per inserire una regola all'inizio o dove vuoi, puoi usare questo trucco:
ip access-list esteso Server-out
1 permesso icmp qualsiasi qualsiasi

Ogni regola nell'elenco è numerata con un determinato passaggio e se metti un numero davanti alla parola permetti / nega, la regola verrà aggiunta non alla fine, ma al posto che ti serve. Sfortunatamente, questa funzione non funziona in RT.
Se è improvvisamente necessario (tutti i numeri consecutivi tra le regole sono occupati), puoi sempre rinumerare le regole (in questo esempio, il numero della prima regola è 10 (il primo numero) e l'incremento è 10):
ip access-list risequence Server-out 10 10

Di conseguenza, l'elenco di accesso sulla rete del server sarà simile a questo:
ip access-list esteso Server-out
consenti icmp qualsiasi qualsiasi
commento WEB
consenti tcp qualsiasi host 172.16.0.2 eq www
permesso host tcp 172.16.6.66 host 172.16.0.2 intervallo 20 ftp
consenti host tcp 172.16.6.66 host 172.16.0.2 eq telnet
nota FILE
consenti tcp 172.16.0.0 0.0.255.255 host 172.16.0.3 eq 445
consenti tcp qualsiasi host 172.16.0.3 range 20 21
commento MAIL
consenti tcp qualsiasi host 172.16.0.4 eq pop3
consenti tcp qualsiasi host 172.16.0.4 eq smtp
nota DNS
permesso udp 172.16.0.0 0.0.255.255 host 172.16.0.5 eq 53

Ora il nostro amministratore ha accesso solo al server WEB. Dagli pieno accesso all'intera rete. Questo è il primo compito a casa.

f) I diritti degli utenti dell'Altra rete

Fino ad ora, avevamo bisogno tenere fuori qualcuno da qualche parte, quindi abbiamo prestato attenzione all'indirizzo di destinazione e abbiamo riagganciato l'elenco degli accessi al traffico in uscita dall'interfaccia.

Ora abbiamo bisogno non rilasciare Nota: nessuna richiesta dai computer dell'Altra rete deve essere esclusa. Beh, certo, ad eccezione di quelli che permettiamo specificamente.

msk-arbat-gw1 (config) # ip access-list extended Other-in

msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 qualsiasi



Qui non potremmo prima negare a tutti e poi consentire l'élite, perché assolutamente tutti i pacchetti rientrerebbero nella regola negare qualsiasi ip e permesso non funzionerebbe affatto.
Applichiamo all'interfaccia. Questa volta all'ingresso:
msk-arbat-gw1 (config) #int fa0 / 0.104
msk-arbat-gw1 (config-subif) #ip access-group Altro-in in

ovvero, tutti i pacchetti IP dall'host con l'indirizzo 172.16.6.61 o 172.16.6.66 possono essere inviati ovunque siano destinati. Perché utilizziamo anche qui l'elenco di accesso esteso? Dopotutto, sembrerebbe che controlliamo solo l'indirizzo del mittente. Perché abbiamo fornito l'accesso completo all'amministratore, ma l'ospite dell'azienda Lift mi Up, ad esempio, che entra nella stessa rete non ha assolutamente accesso a nient'altro se non a Internet.

g) Rete di controllo

Niente di complicato. La regola sarà simile a questa:
msk-arbat-gw1 (config) # ip access-list esteso Management-out
msk-arbat-gw1 (config-ext-nacl) # commento IAM
msk-arbat-gw1 (config-ext-nacl) # permesso ip host 172.16.6.61 172.16.1.0 0.0.0.255
msk-arbat-gw1 (config-ext-nacl) # commento ADMIN
msk-arbat-gw1 (config-ext-nacl) # permesso ip host 172.16.6.66 172.16.1.0 0.0.0.255

Questo ACL viene applicato all'esterno dell'interfaccia FE 0 / 0.2:
msk-arbat-gw1 (config) # int fa0 / 0.2
msk-arbat-gw1 (config-subif) #ip access-group Management-out

g) Niente più restrizioni

Pronto

Maschera e maschera inversa

Finora abbiamo fornito uno strano parametro nella forma 0.0.255.255 senza alcuna spiegazione, che somiglia sospettosamente a una subnet mask.
Un po' difficile da capire, ma è questa - la maschera inversa - che viene utilizzata per determinare gli host che corrisponderanno alla regola.
Per capire cos'è una maschera inversa, devi sapere cos'è una maschera normale.

Cominciamo con l'esempio più semplice.

Una rete normale con 256 indirizzi: 172.16.5.0/24, per esempio. Cosa significa questa voce?
E significa esattamente quanto segue

Indirizzo IP. Notazione decimale 172 16 5 0
Indirizzo IP. notazione binaria 10101100 00010000 00000101 00000000
11111111 11111111 11111111 00000000
255 255 255 0

Un indirizzo IP è un parametro a 32 bit diviso in 4 parti che sei abituato a vedere in notazione decimale.
Anche la maschera di sottorete è lunga 32 bit: in realtà è un modello, uno stencil a cui appartiene l'indirizzo di sottorete. Dove ci sono quelli nella maschera, il valore non può cambiare, cioè la parte 172.16.5 è completamente invariata e sarà la stessa per tutti gli host su questa sottorete, ma quella in cui vengono variati gli zeri.
Cioè, nel nostro esempio, 172.16.5.0/24 è l'indirizzo di rete e gli host saranno 172.16.5.1-172.16.5.254 (l'ultimo 255 viene trasmesso), perché 00000001 è 1 e 11111110 è 254 (stiamo parlando circa l'ultimo ottetto dell'indirizzo). / 24 significa che la lunghezza della maschera è 24 bit, cioè abbiamo 24 unità - la parte invariata e 8 zeri.
Un altro caso è quando abbiamo una maschera, ad esempio, 30 bit, non 24.
Ad esempio 172.16.2.4/30. Scriviamolo così:

Indirizzo IP. Notazione decimale 172 16 2 4
Indirizzo IP. notazione binaria 10101100 00010000 00000010 00000100
Maschera di sottorete. notazione binaria 11111111 11111111 11111111 11111100
Maschera di sottorete. Notazione decimale 255 255 255 252

Come puoi vedere, solo gli ultimi due bit possono cambiare per questa sottorete. L'ultimo ottetto può avere i seguenti 4 valori:
00000100 - indirizzo di sottorete (4 in decimale)
00000101 - indirizzo di nodo (5)
00000110 - indirizzo nodo (6)
00000111 - in onda (7)
Tutto al di fuori di questo è già una sottorete diversa

Cioè, ora dovrebbe essere un po' chiaro per te che la subnet mask è una sequenza di 32 bit, dove all'inizio ci sono uno, che significa l'indirizzo della sottorete, poi zero, che significa l'indirizzo dell'host. In questo caso, l'alternanza di zero e uno nella maschera non può alternarsi. Cioè, la maschera è 11111111.11100000.11110111.00000000 impossibile

Che cos'è un carattere jolly?
Per la stragrande maggioranza degli amministratori e di alcuni ingegneri, questo non è altro che l'inverso della solita maschera. Cioè, gli zeri impostano prima l'indirizzo della parte che deve corrispondere e gli uno, al contrario, la parte libera.
Cioè, nel primo esempio che abbiamo preso, se vuoi filtrare tutti gli host dalla sottorete 172.16.5.0/24, allora imposterai la regola nell'elenco di accesso:
…. 172.16.5.0 0.0.0.255
Perché la maschera inversa sarebbe simile a questa:

00000000.00000000.00000000.11111111

Nel secondo esempio con la rete 172.16.2.4/30, la maschera inversa sarà simile a questa: 30 zeri e due uno:

Maschera inversa. notazione binaria 00000000 00000000 00000000 00000011
Maschera inversa. Notazione decimale 0 0 0 3

Di conseguenza, il parametro nell'elenco di accesso sarà simile a questo:
…. 172.16.2.4 0.0.0.3
Più tardi, quando mangerai un cane su calcoli errati di maschere e maschere inverse, ricorderai i numeri più usati, il numero di ospiti in una particolare maschera, capirai che nelle situazioni descritte, si ottiene l'ultimo ottetto della maschera inversa sottraendo l'ultimo ottetto della maschera regolare da 255 (255-252 = 3), ecc. Nel frattempo, devi lavorare sodo e contare)

Ma in effetti, la maschera inversa è uno strumento un po' più ricco, qui puoi combinare indirizzi all'interno della stessa sottorete o persino combinare sottoreti, ma la differenza principale è che puoi alternare zero e uno. Ciò consente, ad esempio, di filtrare un host (o gruppo) specifico su più sottoreti con una riga.

Esempio 1

Dato: rete 172.16.16.0/24
Necessario: filtra i primi 64 indirizzi (172.16.16.0-172.16.16.63)
Soluzione: 172.16.16.0 0.0.0.63

Esempio 2

Dato: reti 172.16.16.0/24 e 172.16.17.0/24
Necessario: filtrare gli indirizzi da entrambe le reti
Soluzione: 172.16.16.0 0.0.1.255

Esempio 3

Dato: Reti 172.16.0.0-172.16.255.0
Necessario: filtra l'host con l'indirizzo 4 da tutte le sottoreti
Soluzione: 172.16.16.0 0.0.255.4

ACL funziona in immagini

Rete ipotetica:

1) Sul router RT1 sull'interfaccia FE0 / 1, tutto può entrare, tranne ICMP.

2) Sul router RT2, SSH e TELNET sono disabilitati sull'interfaccia FE0 / 1.

test
cliccabile
1) Ping da PC1 a Server1

2) TELNET da PC1 a Server1

3) SSH da PC1 a Server2

4) Ping da Server2 a PC1

Componenti aggiuntivi

1) Le regole per il traffico in uscita (out) non filtreranno il traffico del dispositivo stesso. Cioè, se è necessario negare l'accesso a tsiska stesso da qualche parte, sarà necessario filtrare il traffico in entrata su questa interfaccia (restituire il traffico da cui è necessario negare l'accesso).

2) C ACL dovrebbe essere più attento. Con un piccolo errore nella regola, l'ordine di configurazione sbagliato o anche un elenco mal concepito, potresti rimanere senza accesso al dispositivo.
Ad esempio, vuoi bloccare l'accesso ovunque per la rete 172.16.6.0/24, ad eccezione del tuo indirizzo 172.16.6.61, e impostare le regole in questo modo:

nega ip 172.16.6.0 0.0.0.255 qualsiasi
consenti host ip 172.16.6.61 qualsiasi

Non appena applichi l'ACL all'interfaccia, perdi immediatamente l'accesso al router, perché rientri nella prima regola e la seconda non è nemmeno controllata.
La seconda spiacevole situazione che ti può capitare: traffico che non avrebbe dovuto finire sotto l'ACL.
Immagina questa situazione: abbiamo un server FTP passivo nella nostra sala server. Per accedervi, hai aperto la porta 21 nell'ACL Server in uscita... Dopo aver stabilito la connessione iniziale, il server FTP comunica al client la porta su cui è pronto per inviare/ricevere file, ad esempio 1523. Il client tenta di stabilire una connessione TCP su questa porta, ma si imbatte in ACL Servers-out, dove non esiste tale autorizzazione: è così che finisce la storia di un trasferimento riuscito. Nel nostro esempio sopra, dove abbiamo configurato l'accesso al file server, abbiamo aperto l'accesso solo il 20 e il 21, perché questo è sufficiente per l'esempio. Nella vita reale, devi armeggiare. Alcuni esempi di configurazione ACL per casi comuni.

3) Dal secondo punto segue un problema molto simile e interessante.
Hai pensato, ad esempio, di riagganciare i seguenti ACL sull'interfaccia Internet:

access-list out permesso tcp host 1.1.1.1 host 2.2.2.2 eq 80
access-list in allow tcp host 2.2.2.2 any eq 80

Sembrerebbe: all'host con l'indirizzo 1.1.1.1 è consentito l'accesso sulla porta 80 al server 2.2.2.2 (la prima regola). E di ritorno dal server 2.2.2.2 sono consentite le connessioni interne.
Ma la sfumatura qui è che il computer 1.1.1.1 stabilisce una connessione SULL'80a porta, ma da qualche altra, ad esempio 1054, cioè il pacchetto di risposta dal server arriva al socket 1.1.1.1:1054, non cade sotto la regola in ACL su IN e scartato a causa del rifiuto implicito di ip qualsiasi.
Per evitare una situazione del genere e non aprire le porte con l'intero pacchetto, puoi ricorrere a questo trucco nell'ACL su in:
permesso host tcp 2.2.2.2 qualsiasi stabilito.

Dettagli di tale soluzione in uno dei seguenti articoli.

4) Parlando del mondo moderno, non puoi aggirare uno strumento come i gruppi di oggetti (gruppo di oggetti).

Diciamo che devi comporre un ACL che rilascia tre indirizzi specifici a Internet su tre porte identiche con la prospettiva di espandere il numero di indirizzi e porte. Come appare senza conoscere i gruppi di oggetti:

ip access-list esteso TO-INTERNET
consenti host tcp 172.16.6.66 qualsiasi eq 80
consenti host tcp 172.16.6.66 qualsiasi eq 8080
consenti host tcp 172.16.6.66 qualsiasi eq 443

Consenti host tcp 172.16.6.67 qualsiasi eq 80
consenti host tcp 172.16.6.67 qualsiasi eq 8080
consenti host tcp 172.16.6.67 qualsiasi eq 443

Consenti host tcp 172.16.6.68 qualsiasi eq 80
consenti host tcp 172.16.6.68 qualsiasi eq 8080
consenti host tcp 172.16.6.68 qualsiasi eq 443


All'aumentare del numero di parametri, diventa sempre più difficile mantenere un tale ACL ed è facile commettere errori durante la configurazione.
Ma se ci rivolgiamo ai gruppi di oggetti, allora assume la seguente forma:
servizio di gruppi di oggetti INET-PORTS
descrizione Porte consentite per alcuni host
tcp eq www
tcp eq 8080
TCP eq 443

Rete di gruppi di oggetti HOSTS-TO-INET
descrizione Host autorizzati a navigare in rete
ospite 172.16.6.66
ospite 172.16.6.67
ospite 172.16.6.68

Lista di accesso IP estesa INET-OUT
consenti gruppo di oggetti INET-PORTS gruppo di oggetti HOSTS-TO-INET any


a prima vista sembra un po' minaccioso, ma se lo guardi è molto comodo.

4) Informazioni molto utili per la risoluzione dei problemi possono essere ottenute dall'output del comando mostra liste di accesso ip% nome ACL%... Oltre all'elenco effettivo di regole per l'ACL specificato, questo comando mostra il numero di corrispondenze per ogni regola.

msk-arbat-gw1 # sh ip access-list nat-inet
Elenco di accesso IP esteso nat-inet





(4 partite (es))



E aggiungendo alla fine di ogni regola tronco d'albero, saremo in grado di ricevere messaggi su ogni partita nella console. (quest'ultimo non funziona in PT)

NAT

La traduzione degli indirizzi di rete è uno strumento indispensabile in azienda dal 1994. Molte sessioni su di esso sono interrotte e i pacchetti sono persi.
Ne hai bisogno più spesso per connettere la tua rete locale a Internet. Il fatto è che in teoria ci sono 255 * 255 * 255 * 255 = 4 228 250 625,4 miliardi di indirizzi. Anche se ogni abitante del pianeta avesse un solo computer, gli indirizzi non sarebbero più sufficienti. E qui, tranne che i ferri da stiro non sono collegati a Internet. Le persone intelligenti lo hanno capito nei primi anni '90 e, come soluzione temporanea, hanno suggerito di dividere lo spazio dell'indirizzo in pubblico (bianco) e privato (privato, grigio).
Questi ultimi comprendono tre gamme:

10.0.0.0/8
172.16.0.0/12
192.168.0.0/16

Puoi usarli liberamente sulla tua rete privata e quindi, ovviamente, verranno ripetuti. E l'unicità? A chi risponderà il WEB-server, che ha ricevuto una richiesta con l'indirizzo di ritorno 192.168.1.1? Rostelecom? Aziende Tatneft? O la tua stanza Dink? Sul grande Internet, nessuno sa nulla delle reti private: non vengono instradate.
È qui che entra in scena NAT. In generale, questo è un inganno, una messa a punto. Sul dispositivo push, il tuo indirizzo privato, in parole povere, viene semplicemente sostituito con un indirizzo bianco, che apparirà più avanti nel pacchetto mentre viaggia verso il server WEB. Ma gli indirizzi bianchi sono instradati molto bene e il pacchetto verrà sicuramente restituito al dispositivo pulsante.
Ma come farà, a sua volta, a capire cosa farne dopo? Qui ci occuperemo di questo.

Tipi di NAT

Statico

In questo caso, un indirizzo interno viene convertito in uno esterno. E allo stesso tempo, tutte le richieste che arrivano all'indirizzo esterno verranno trasmesse a quello interno. Come se questo host fosse il proprietario di questo indirizzo IP bianco.

Configurato dal seguente comando:

Router (config) # ip nat all'interno della fonte statica 172.16.6.5 198.51.100.2

Cosa sta succedendo:
1) Il nodo 172.16.6.5 indirizza il server WEB. Invia un pacchetto IP con 192.0.2.2 come indirizzo del destinatario e 172.16.6.5 come mittente.

2) Sulla rete aziendale, il pacchetto viene consegnato al gateway 172.16.6.1, dove è configurato NAT

3) In base al comando configurato, il router rimuove l'intestazione IP corrente e la modifica con una nuova, dove l'indirizzo bianco 198.51.100.2 appare già come indirizzo del mittente.


4) Sulla grande Internet, il pacchetto aggiornato raggiunge il server 192.0.2.2.

5) Vede che la risposta deve essere inviata a 198.51.100.2 E prepara un pacchetto IP di risposta. Come indirizzo del mittente, l'effettivo indirizzo del server è 192.0.2.2, l'indirizzo di destinazione è 198.51.100.2


6) Il pacchetto vola via Internet, e non il fatto che allo stesso modo.

7) Il comunicatore segnala che tutte le richieste all'indirizzo 198.51.100.2 devono essere reindirizzate a 172.16.6.5. Il router rimuove nuovamente il segmento TCP nascosto all'interno e imposta una nuova intestazione IP (l'indirizzo di origine non cambia, l'indirizzo di destinazione è 172.16.6.5).


8) Attraverso la rete interna, il pacchetto viene restituito all'iniziatore, che non sa nemmeno quali miracoli gli stessero accadendo alla frontiera.
E così sarà con tutti.
Inoltre, se la connessione viene avviata da Internet, i pacchetti automaticamente, passando attraverso il dispositivo di attivazione, passano all'host interno.

Questo approccio è utile quando si dispone di un server all'interno della rete che necessita di un accesso completo dall'esterno. Naturalmente, non è possibile utilizzare questa opzione se si desidera rilasciare trecento host su Internet tramite un indirizzo. Questa opzione NAT non ti aiuterà a preservare gli indirizzi IP bianchi, ma può essere comunque utile.

Dinamico

Hai un pool di indirizzi bianchi, ad esempio, il tuo provider ti ha assegnato una rete 198.51.100.0/28 con 16 indirizzi. Due di questi (il primo e l'ultimo) sono l'indirizzo di rete e l'indirizzo di trasmissione, altri due indirizzi sono assegnati all'apparecchiatura per fornire il routing. Puoi utilizzare i 12 indirizzi rimanenti per NAT e rilasciare i tuoi utenti attraverso di essi.
La situazione è simile al NAT statico: un indirizzo privato viene tradotto in uno esterno, ma ora quello esterno non è chiaramente fissato, ma verrà selezionato dinamicamente dall'intervallo specificato.
È configurato così:
Router (config) #ip nat pool lol_pool 198.51.100.3 198.51.103.14

Specificato un pool (intervallo) di indirizzi pubblici da cui verrà selezionato l'indirizzo per la nascita
Router (config) # access-list 100 permesso ip 172.16.6.0 0.0.0.255 any

Impostiamo un elenco di accesso che consente il passaggio di tutti i pacchetti con indirizzo sorgente 172.16.6.x, dove NS varia da 0-255.
Router (config) #ip nat all'interno dell'elenco dei sorgenti 100 pool lol_pool

Con questo comando, uniamo l'ACL creato e il pool.

Anche questa opzione non è universale, inoltre non puoi rilasciare i tuoi 300 utenti su Internet se non disponi di 300 indirizzi esterni. Una volta esauriti gli indirizzi bianchi, nessun nuovo potrà accedere a Internet. Allo stesso tempo, gli utenti che sono già riusciti a ottenere un indirizzo esterno per se stessi lavoreranno. Il team ti aiuterà a eliminare tutte le trasmissioni attuali e gli indirizzi esterni gratuiti. traduzione chiara ip nat *
Inoltre allocazione dinamica indirizzi esterni, questo NAT dinamico differisce dal NAT statico in quanto senza una configurazione separata di port forwarding, la connessione esterna a uno degli indirizzi del pool non è più possibile.

Molti a uno

Il tipo successivo ha diversi nomi: NAT Overload, Port Address Translation (PAT), IP Masquerading, Many-to-One NAT.
Il cognome parla da sé: attraverso un indirizzo esterno molti privati ​​entrano nel mondo. Questo ti permette di risolvere il problema con la mancanza di indirizzi esterni e liberare tutti nel mondo.
Qui sarebbe necessario dare una spiegazione di come funziona. Si può immaginare come due indirizzi privati ​​vengano tradotti in uno solo, ma come fa un router a capire chi deve inoltrare un pacchetto restituito da Internet a questo indirizzo?
Tutto è molto semplice:
Supponiamo che ci siano pacchetti provenienti da due host sulla rete interna al driver. Entrambi con una richiesta al server WEB 192.0.2.2.
I dati degli host hanno questo aspetto:

Il router scopre il pacchetto IP dal primo host, ne estrae il segmento TCP, lo stampa e scopre da quale porta viene stabilita la connessione. Ha un indirizzo esterno 198.51.100.2, a cui cambierà l'indirizzo dalla rete interna.
Poi sceglie un porto franco, ad esempio 11874. E poi cosa fa? Raggruppa tutti i dati a livello di applicazione in un nuovo segmento TCP, dove 80 rimane come porta di destinazione (è per questo che il server WEB è in attesa di connessioni) e la porta del mittente cambia da 23761 a 11874. Questo segmento TCP è incapsulato in un nuovo pacchetto IP in cui l'indirizzo IP del mittente cambia da 172.16.6.5 a 198.51.100.2.
Lo stesso accade per il pacchetto dal secondo host, viene selezionata solo la prossima porta libera, ad esempio 11875. “Libera” significa che non è ancora occupata con altre connessioni di questo tipo.
I dati che vengono inviati a Internet ora avranno questo aspetto.

Nella sua tabella NAT, inserisce i dati di mittenti e destinatari

Per un server WEB si tratta di due richieste completamente diverse, che deve elaborare singolarmente. Successivamente, invia una risposta simile a questa:

Quando uno di questi pacchetti raggiunge il nostro router, abbina i dati in questo pacchetto con le sue voci nella tabella NAT. Se viene trovata una corrispondenza, si verifica la procedura opposta: il pacchetto e il segmento TCP vengono riportati ai loro parametri originali solo come destinazione:

E ora i pacchetti vengono consegnati sulla rete interna ai computer di avvio, che non sanno nemmeno che da qualche parte i loro dati sono stati trattati così duramente alla frontiera.

Ciascuna delle tue richieste è una connessione separata. Cioè, hai provato ad aprire una pagina WEB - questo è il protocollo HTTP usando la porta 80. Per fare ciò, il tuo computer deve stabilire una sessione TCP con un server remoto. Tale sessione (TCP o UDP) è definita da due socket: indirizzo IP locale: porta locale e indirizzo IP remoto: porta remota. In una situazione normale, hai una connessione computer-server, nel caso di NAT, ci saranno due connessioni: il router-server e il computer pensa di avere una sessione computer-server.

L'impostazione è leggermente diversa: con l'overload di parole aggiuntivo:

Router (config) # access-list 101 permesso 172.16.4.0 0.0.0.255
Router (config) #ip nat all'interno dell'elenco dei sorgenti 101 interfaccia fa0 / 1 sovraccarico

Allo stesso tempo, ovviamente, è possibile configurare il pool di indirizzi:
Router (config) #ip nat pool lol_pool 198.51.100.2 198.51.103.14
Router (config) # access-list 100 permesso 172.16.6.0 0.0.0.255
Router (config) #ip nat all'interno dell'elenco dei sorgenti 100 pool lol_pool sovraccarico

Port forwarding

Altrimenti, dicono anche port forwarding o mappatura.
Quando abbiamo iniziato a parlare di NAT, abbiamo avuto una traduzione uno a uno e tutte le richieste provenienti dall'esterno sono state reindirizzate automaticamente all'host interno. In questo modo, sarebbe possibile esporre il server all'esterno di Internet.
Ma se non hai una tale opportunità - sei limitato negli indirizzi bianchi o non vuoi esporlo all'esterno con l'intero gruppo di porte, cosa fare?
È possibile specificare che tutte le richieste che arrivano a un indirizzo bianco specifico e a una porta del router specifica debbano essere reindirizzate alla porta corretta dell'indirizzo interno desiderato.
Router (config) #ip nat all'interno del sorgente statico tcp 172.16.0.2 80 198.51.100.2 80 estensibile

L'utilizzo di questo comando significa che una richiesta TCP da Internet all'indirizzo 198.51.100.2 sulla porta 80 verrà reindirizzata all'indirizzo interno 172.16.0.2 sulla stessa porta 80. Ovviamente puoi anche inoltrare UDP e reindirizzare da una porta all'altra. Ciò può essere utile, ad esempio, se si dispone di due computer a cui è necessario accedere tramite RDP dall'esterno. RDP utilizza la porta 3389. Non è possibile inoltrare la stessa porta a host diversi (quando si utilizza lo stesso indirizzo esterno). Pertanto, puoi farlo:
Router (config) # ip nat all'interno del sorgente statico tcp 172.16.6.61 3389 198.51.100.2 3389
Router (config) # ip nat all'interno del sorgente statico tcp 172.16.6.66 3389 198.51.100.2 3398

Quindi, per accedere al computer 172.16.6.61, avvia una sessione RDP sulla porta 198.51.100.2:3389 e su 172.16.6.66 - 198.51.100.2:3398. Il router stesso disperderà tutto dove deve essere.

A proposito, questo comando è un caso speciale del primissimo: ip nat all'interno di source static 172.16.6.66 198.51.100.2. Solo in questo caso stiamo parlando di inoltrare tutto il traffico e, nei nostri esempi, di porte specifiche del protocollo TCP.

Ecco come funziona il NAT in termini generali. Sono stati scritti molti articoli sulle sue caratteristiche, pro/contro, ma non possono essere ignorati.

Punti deboli e punti di forza di NAT

+

- Prima di tutto NAT salva gli indirizzi IP pubblici. In realtà per questo è stato creato. Attraverso un indirizzo, teoricamente è possibile rilasciare più di 65.000 indirizzi grigi (per numero di porte).
- In secondo luogo, PAT e NAT dinamico sono in una certa misura un firewall, che impedisce alle connessioni esterne di raggiungere i computer finali, che potrebbero non avere il proprio firewall e antivirus. Il fatto è che se un pacchetto arriva dall'esterno al dispositivo di serraggio che non è previsto o consentito qui, viene semplicemente scartato.
Affinché il pacchetto possa essere ignorato ed elaborato, devono essere soddisfatte le seguenti condizioni:
1) Deve esserci una voce nella tabella NAT per questo indirizzo esterno, specificato come indirizzo del mittente nel pacchetto
E
2) La porta del mittente nel pacchetto deve corrispondere alla porta per questo indirizzo bianco nel record
E
3) La porta di destinazione nel pacchetto è la stessa della porta nella voce.
O
Il port forwarding è configurato.
Ma non è necessario considerare NAT esattamente come un firewall: non è altro che un ulteriore vantaggio.

- Terzo, NAT nasconde la struttura interna della rete da occhi indiscreti: quando si traccia un percorso dall'esterno, non si vedrà nulla oltre il dispositivo di spinta.

-

NAT ha alcuni svantaggi. I più tangibili sono forse i seguenti:
- Alcuni protocolli non possono funzionare tramite NAT senza stampelle. Ad esempio, FTP o protocolli di tunneling (nonostante sia semplice impostare FTP in laboratorio, nella vita reale questo può creare un sacco di problemi)
- Un altro problema risiede nel fatto che da un indirizzo ci sono molte richieste a un server. Molti lo hanno assistito, quando vai in qualche Rapidshare e lui dice che c'era già una connessione dal tuo IP, pensi che "sta mentendo, cane", ma il tuo vicino sta già facendo schifo. Per lo stesso motivo, ci sono stati problemi con ICQ, quando i server si sono rifiutati di registrarsi.
- Un problema che non è molto urgente ora: il carico sul processore e RAM... Poiché la quantità di lavoro è piuttosto grande rispetto al semplice routing (è necessario non solo guardare l'intestazione IP, è necessario rimuoverla, rimuovere l'intestazione TCP, aggiungerla alla tabella, fissare nuove intestazioni) nei piccoli uffici ci sono problemi con questo.
Mi sono imbattuto in una situazione del genere.
Una possibile soluzione è spostare la funzione NAT su un PC separato o su un dispositivo specializzato, ad esempio un Cisco ASA.
Per i grandi giocatori, i cui router girano 3-4 BGP full-view, ora questo non è un problema.

Cos'altro hai bisogno di sapere?
- Il NAT viene utilizzato principalmente per fornire l'accesso a Internet agli host con indirizzi privati. Ma ci sono anche altri usi: la comunicazione tra due reti private con spazi di indirizzi sovrapposti.
Ad esempio, la tua azienda acquista una filiale ad Aktyubinsk. Il tuo indirizzo è 10.0.0.0-10.1.255.255 e loro hanno 10.1.1.0-10.1.10.255. Gli intervalli si sovrappongono chiaramente, non sarai in grado di configurare il routing, perché lo stesso indirizzo potrebbe apparire ad Aktyubinsk e nella tua sede.
In questo caso, NAT è configurato alla giunzione. Poiché non abbiamo indirizzi grigi, possiamo selezionare, ad esempio, l'intervallo 10.2.1.0-10.2.10.255 ed eseguire una trasmissione uno a uno:
10.1.1.1-10.2.1.1
10.1.1.2-10.2.1.2

10.1.10.255-10.2.10.255

Nei giocattoli di grandi dimensioni per adulti, NAT può essere implementato su una scheda separata (e spesso lo è) e non funzionerà senza di essa. E sulle ghiandole dell'ufficio, al contrario, c'è quasi sempre.

Con l'adozione diffusa di IPv6, la necessità di NAT diminuirà. Già ora, i grandi clienti iniziano a interessarsi alla funzionalità di NAT64: questo è quando si ha accesso al mondo tramite IPv4 e la rete interna è già su IPv6

Naturalmente, questo è solo uno sguardo superficiale al NAT e c'è ancora un mare di sfumature in cui l'autoeducazione ti aiuterà a non affogare.

Pratica NAT

Cosa ci richiede la realtà?
1) La rete di controllo non ha alcun accesso a Internet
2) Gli host della rete VET hanno accesso solo a siti specializzati, ad esempio Linkmeup.ru
3) Le adorabili signore del reparto contabilità devono aprire una finestra sul mondo delle banche clienti.
4) La FEO non dovrebbe essere rilasciata da nessuna parte, tranne che per il direttore finanziario
5) Nell'Altra rete, il nostro computer e il computer dell'amministratore - daremo loro pieno accesso a Internet. Tutti gli altri possono essere aperti previa richiesta scritta.
6) Non dimentichiamoci delle filiali di San Pietroburgo e Kemerovo. Per semplicità, configureremo l'accesso completo per enikis da queste sottoreti.
7) Con i server, una canzone separata. Configurare il port forwarding per loro. Tutto ciò di cui abbiamo bisogno:
a) Il server WEB deve essere disponibile sulla porta 80
b) Server di posta il 25 e il 110
c) Il file server è accessibile dal mondo tramite FTP.
8) I computer dell'amministratore e del nostro devono essere accessibili da Internet tramite RDP. In realtà, questo è il modo sbagliato - per connessione remotaè necessario utilizzare una connessione VPN e già essere sulla rete locale utilizzare RDP, ma questo è un argomento per un articolo completamente diverso.

Per prima cosa, prepariamo un sito di prova:

La connessione a Internet sarà organizzata tramite il collegamento esistente fornito dal provider.
Va alla rete del provider. Ti ricordiamo che tutto in questo cloud è una rete astratta, che di fatto può essere composta da decine di router e centinaia di switch. Ma abbiamo bisogno di qualcosa di gestibile e prevedibile, quindi abbiamo messo un altro router qui. Da un lato, c'è un collegamento ad esso dallo switch, dall'altro c'è un server su Internet.

Abbiamo bisogno dei seguenti server:
1. Due banche clienti per contabili (sperbank.ru, mmm-bank.ru)
2. Linkmeup.ru per PTOshniki
3. Yandex (yandex.ru)

Per tale connessione, alzeremo un altro vlan a msk-arbat-gw1. Il suo numero, ovviamente, è coerente con il provider. Lascia che sia VLAN 6
Supponiamo che il fornitore ci fornisca sottorete 198.51.100.0/28... I primi due indirizzi vengono utilizzati per organizzare il collegamento (198.51.100.1 e 198.51.100.2) e il resto viene utilizzato come pool per NAT. Tuttavia, nessuno ci impedisce di utilizzare l'indirizzo 198.51.100.2 per il pool. Facciamolo: piscina: 198.51.100.2-198.51.100.14
Per semplicità, supponiamo che i nostri server pubblici si trovino sulla stessa sottorete:
192.0.2.0/24 .
Sai già come impostare un collegamento e indirizzi.
Poiché abbiamo un solo router nella rete del provider e tutte le reti sono collegate direttamente ad esso, non è necessario configurare il routing.
Ma il nostro msk-arbat-gw1 ha bisogno di sapere dove inviare i pacchetti a Internet, quindi abbiamo bisogno di un percorso predefinito:

msk-arbat-gw1 (config) # ip route 0.0.0.0 0.0.0.0 198.51.100.1

Ora in ordine

Per prima cosa, impostiamo il pool di indirizzi

msk-arbat-gw1 (config) # ip nat pool main_pool 198.51.100.2 198.51.100.14 netmask 255.255.255.240

Ora raccogliamo l'ACL:
msk-arbat-gw1 (config) # ip access-list esteso nat-inet

1) Rete di controllo

non ha affatto accesso a Internet
Pronto

2) Ospiti della rete VET

Avere accesso solo a siti specializzati, ad esempio Linkmeup.ru
msk-arbat-gw1 (config-ext-nacl) # allow tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq 80

3) Contabilità

Diamo accesso a tutti gli host su entrambi i server
msk-arbat-gw1 (config-ext-nacl) # permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.3
msk-arbat-gw1 (config-ext-nacl) # permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.4

4) FEO

Diamo il permesso solo al CFO - questo è solo un host.
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.4.123 qualsiasi

5) Altro

I nostri computer con accesso completo
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.61 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.6.66 qualsiasi

6) Filiali a San Pietroburgo e Kemerovo

Lascia che gli indirizzi dell'Enikiev siano gli stessi: 172.16.x.222
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.16.222 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.17.222 qualsiasi
msk-arbat-gw1 (config-ext-nacl) # allow ip host 172.16.24.222 qualsiasi

Ecco come appare ora l'ACL per intero:
ip access-list esteso nat-inet
commento PTO
permesso tcp 172.16.3.0 0.0.0.255 host 192.0.2.2 eq www
commento CONTABILITA'
permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.3
permesso ip 172.16.5.0 0.0.0.255 host 192.0.2.4
commento FEO
consenti host ip 172.16.4.123 qualsiasi
commento IAM
consenti host ip 172.16.6.61 qualsiasi
commento ADMIN
consenti host ip 172.16.6.66 qualsiasi
commento SPB_VSL_ISLAND
consenti host ip 172.16.16.222 qualsiasi
commento SPB_OZERKI
consenti host ip 172.16.17.222 qualsiasi
commento KMR
consenti host ip 172.16.24.222 qualsiasi

Lanciare:

msk-arbat-gw1 (config) # ip nat all'interno dell'elenco dei sorgenti nat-inet pool main_pool overload

Ma la felicità non sarà completa senza personalizzare le interfacce:
Sull'interfaccia esterna, devi dare il comando ip nat fuori
Interno: ip nat dentro
msk-arbat-gw1 (config) # int fa0 / 0.101
msk-arbat-gw1 (config) # int fa0 / 0.102
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.103
msk-arbat-gw1 (config-subif) # ip nat inside
msk-arbat-gw1 (config) # int fa0 / 0.104
msk-arbat-gw1 (config-subif) # ip nat inside

Msk-arbat-gw1 (config) # int fa0 / 1.6
msk-arbat-gw1 (config-subif) # ip nat outside

Ciò consentirà al router di capire dove aspettarsi che i pacchetti vengano elaborati e dove inviarli in seguito.

Affinché i server su Internet siano accessibili tramite il nome di dominio, sarebbe bello per noi ottenere un server DNS sulla nostra rete:


Naturalmente, è necessario registrarlo su quei dispositivi da cui controlleremo l'accesso:

Lo spettacolo deve continuare!

Tutto è disponibile dal computer dell'amministratore:

Dalla rete PTO, è possibile accedere solo al sito Web linkmeup.ru tramite la porta 80 (HTTP):



Nella rete FEO, solo 4.123 esce nel mondo (findirector)



Nel reparto contabilità lavorano solo i siti delle banche clienti. Ma, poiché l'autorizzazione è data completamente al protocollo IP, è possibile eseguire il ping:


7) Server

Qui dobbiamo configurare il port forwarding in modo che sia possibile accedervi da Internet:

a) Server web

msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.2 80 198.51.100.2 80

Verifichiamo subito, ad esempio, di poterlo fare da un PC di prova con l'indirizzo 192.0.2.7.
Ora niente funzionerà, perché per la rete di server non abbiamo un'interfaccia configurata per msk-arbat-gw1:
msk-arbat-gw1 (config) # int fa0 / 0.3
msk-arbat-gw1 (config-subif) # ip nat inside

E adesso:

b) File server

msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.3 20 198.51.100.3 20
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.3 21 198.51.100.3 21

Per questo, in ACL Servers-out, abbiamo aperto anche le porte 20-21 per tutti

c) Server di posta

msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.4 25 198.51.100.4 25
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.0.4 110 198.51.100.4 110

Inoltre non è difficile da controllare. Seguire le istruzioni:
Per prima cosa, impostiamo il server di posta. Indichiamo il dominio e creiamo due utenti.

Configuriamo un computer dalla nostra rete:

Da fuori:

Preparare una lettera:

Sull'host locale, fare clic su Ricevi:

8) Accesso tramite RDP ai computer dell'amministratore e al nostro

msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.6.61 3389 198.51.100.10 3389
msk-arbat-gw1 (config) # ip nat all'interno del sorgente statico tcp 172.16.6.66 3389 198.51.100.10 3398

Sicurezza

Infine, un'osservazione. Molto probabilmente, il dispositivo di tensionamento guarda il tuo IP nat all'esterno dell'interfaccia all'esterno - su Internet. Pertanto, non sarebbe male riagganciare l'ACL su questa interfaccia, dove neghi, permetti, ciò di cui hai bisogno. Non ci soffermeremo su questo problema in questo articolo.

Questo completa la prima conoscenza con la tecnologia NAT.
Come un altro DZ, rispondi alla domanda perché non c'è accesso a Internet dai computer degli Enikis a San Pietroburgo e Kemerovo. Dopotutto, li abbiamo già aggiunti all'elenco di accesso.

Queste sono tecnologie completamente diverse. Non confonderli.

Cos'è NAT

NAT è un termine collettivo che si riferisce a una tecnologia per la traduzione di indirizzi di rete e/o protocolli. I dispositivi NAT vengono eseguiti sul passaggio di pacchetti di traduzione con la sostituzione di indirizzi, porte, protocolli, ecc.

Esistono concetti più ristretti di SNAT, DNAT, masquerading, PAT, NAT-PT, ecc.

perché NAT è necessario, come viene utilizzato

Per visualizzare la rete interna su Internet

  • attraverso il pool di indirizzi esterni
  • tramite un indirizzo esterno

Per sostituire un indirizzo IP esterno con un altro (reindirizzamento del traffico)

Per il bilanciamento del carico tra server identici con indirizzi IP diversi.

Per il collegamento di due reti locali con indirizzamento interno sovrapposto.

come funziona il NAT

s + d NAT (unione di rami - male!)

mappatura delle porte, mappatura delle porte

Vantaggi e svantaggi

Incompatibile con alcuni protocolli. Una specifica implementazione NAT deve supportare l'ispezione del protocollo richiesto.

NAT ha la proprietà di "schermare" la rete interna dal mondo esterno, ma non può essere utilizzato al posto di un firewall.

Configurazione su Cisco IOS

Router e firewall Supporto Cisco Vari tipi NAT, a seconda del set di opzioni software. Il metodo più utilizzato è il NAT con il binding di indirizzi locali interni a diverse porte dello stesso indirizzo esterno (PAT nella terminologia Cisco).

Per configurare NAT su un router, è necessario: o Determinare il traffico che deve essere tradotto (utilizzando liste di accesso o mappe di percorso);

IP access-list esteso permesso LOCALE ip 10.0.0.0 0.255.255.255 any

Route-map corrispondenza INT1 indirizzo IP interfaccia corrispondenza LOCALE FastEthernet0 / 1.1

L'elenco di accesso LOCALE seleziona tutto il traffico dalla rete 10.

La mappa del percorso INT1 seleziona il traffico della lista di accesso LOCALE in uscita tramite la sottointerfaccia Fa 0 / 1.1

o Determinare a quali indirizzi esterni trasmettere. Seleziona un pool di indirizzi esterni. Un indirizzo è sufficiente per PAT.

Ip nat pool GLOBAL 212.192.64.74 212.192.64.74 netmask 255.255.255.0

Specifica un pool di indirizzi esterni denominato GLOBAL. C'è solo un indirizzo nel pool.

o Abilita NAT per gli indirizzi interni ed esterni selezionati.

Ip nat all'interno della mappa del percorso di origine INT1 pool GLOBAL overload

Consente a NAT di tradurre gli indirizzi di origine nell'interfaccia interna. Verrà trasmesso solo il traffico che soddisfa le condizioni della mappa del percorso INT1. L'indirizzo esterno sarà preso dal pool GLOBAL.

Ip nat inside source statico tcp 10.0.0.1 23 212.192.64.74 23 extend

"Port roll" statico o "pubblicazione di servizi". Nel traffico in entrata verso l'indirizzo 212.192.64.74 sulla porta tcp 23, la destinazione verrà sostituita con l'indirizzo 10.0.0.1 e la porta 23.

o Assegnare interfacce interne ed esterne.

Interfaccia FastEthernet0/0 ip nat interna interfaccia FastEthernet0/1.1 ip nat esterna

Fa 0/0 è designato come interno per NAT.

La sottointerfaccia Fa 0 / 1.1 è assegnata esterna per NAT.

O Debug e diagnostica:

Spedisci traduzioni nat - visualizzazione della tabella delle traduzioni correnti; cancella traduzioni ip nat - elimina tutte le traduzioni correnti; debug ip nat - abilita i messaggi di debug (annulla tutto - disabilita il debug).

Esempi di

Ecco alcuni esempi demo per l'emulatore Cisco Packet Tracer.

Un semplice schema per portare una piccola rete su Internet attraverso un pool di indirizzi esterni

Un semplice schema per portare la rete su Internet tramite un indirizzo esterno

Schema di interconnessione per reti con indirizzamento sovrapposto

Come funziona il NAT

L'ordine in cui vengono applicate le regole NAT è diverso da diversi produttori e su apparecchiature varie. Ecco l'ordine di applicazione dei criteri NAT per i router su Cisco IOS:

Dall'interno all'esterno

Se IPSec controlla la decrittografia dell'elenco di accesso all'ingresso - per CET (Cisco Encryption Technology) o IPSec controlla l'elenco di accesso all'ingresso controlla i limiti della velocità di ingresso contrassegnare per la crittografia) controllare l'elenco di accesso all'output ispezionare (Controllo di accesso basato sul contesto (CBAC)) Crittografia dell'intercettazione TCP Accodamento

Dall'esterno all'interno

Se IPSec, controlla la decrittografia dell'elenco di accesso all'input - per CET o IPSec controlla l'elenco di accesso all'input controlla i limiti della velocità di input account di input reindirizza alla cache web NAT dall'esterno all'interno (traduzione da globale a locale) policy routing routing crypto (controlla la mappa e contrassegna per la crittografia) controlla lista di accesso output ispeziona CBAC TCP intercetta crittografia Accodamento

Canale Internet da un provider tramite NAT

Semplice implementazione NAT con un solo provider

Prenotazione del canale Internet da due provider che utilizzano NAT, ip sla

Dato: otteniamo Internet per diversi computer dal provider ISP1. Ci hanno dato l'indirizzo 212.192.88.150. L'accesso a Internet è organizzato da questo indirizzo IP tramite NAT.

Compito: connettere un provider di backup - ISP2. Ci darà l'indirizzo 212.192.90.150. Organizzare il bilanciamento del traffico: consentire il traffico web tramite ISP1, altro traffico tramite ISP2. In caso di guasto di uno dei provider, lasciare che tutto il traffico passi attraverso un canale live.

Qual è la difficoltà del compito? traduzioni ip nat chiare?

schema

config

1 traduzione chiara ip nat *

Trovato e testato un tale pezzo di EEM. Non tutte le versioni di IOS generano un evento.. Occorre fare chiarezza.

! applet gestore eventi NAT-TRACK evento syslog pattern "TRACKING-5-STATE" azione 0.1 comando cli "enable" azione 0.2 attesa 3 azione 0.3 comando cli "cancella traduzione ip nat *" azione 0.4 syslog msg "Traduzione NAT cancellata dopo la modifica dello stato della traccia "!

2 Se l'interfaccia spetta al provider, è probabile che il suo gateway effettui il ping attraverso il secondo

! nome utente NOME password 0 PASSWORD abilita segreto 0 CONFIG PASSWORD! ! controllo del login alla linea del router vty 0 4 login local! ! DHCP ip dhcp pool Rete LAN Intranet Mask router predefinito Gateway DNS-server 10.11.12.13! DNS - inventato fasullo - NON dalla nostra rete locale! ! ! Ping monitor all'indirizzo gateway del provider-1! Attendi 100 ms per una risposta! Ping con una frequenza di 1 secondo ip sla monitor 1 tipo protocollo eco ipIcmpEcho GatewayProv1 sorgente-interfaccia InterfaceOnProv1 timeout 100 frequenza 1! ! Ping monitor per ISP-2 ip sla monitor 2 tipo protocollo eco ipIcmpEcho GatewayProv2 sorgente-interfaccia InterfaceNaProv2 timeout 50 frequenza 1! ! Lancio dei giochi di ping 1 e 2, ora e per sempre ip sla monitor pianifica 1 vita per sempre ora di inizio ora ip sla monitor pianifica 2 vita per sempre ora di inizio ora! ! Tracce 10 e 20: monitoraggio dello stato dei pin di ping! Reagisce allo stato Giù o Su con un ritardo di 1 secondo. traccia 10 rtr 1 ritardo raggiungibilità giù 1 su 1! traccia 20 rtr 2 ritardo raggiungibilità giù 1 su 1! ! ! Instrada verso tutte le reti esterne su entrambi i provider! I percorsi sono legati alle tracce! e sarà attivato solo se la traccia è nello stato Up! quelli. se il gateway per il provider corrispondente è disponibile ip route 0.0.0.0 0.0.0.0 GatewayPro1 track 10 ip route 0.0.0.0 0.0.0.0 GatewayPro2 track 20! ! ! int fa 0/0 no chiuso! ! Sub-interfacce verso provider esterni! contrassegnato come esterno per l'interfaccia NAT FastEthernet0 / 0.1 descrizione ISP1 racchiude dot1q NumberVlanProv1 indirizzo IP ipOnProv1 Mask ip nat outside! interfaccia FastEthernet0/0.2 descrizione Incapsulamento ISP2 dot1Q NumeroVlanProv2 indirizzo ip ipOnProv2 Maschera ip nat esterno! ! Interfaccia intranet! contrassegnato come interno per NAT! Binding routing policy Interfaccia PBR FastEthernet0 / 1 indirizzo ip ip ! Liste di accesso dall'interno verso l'esterno! Per il traffico web e per tutto il resto ip access-list esteso permesso LOCALE ip intranet qualsiasi! ip access-list estesa WEB permesso tcp intNetwork qualsiasi eq www permesso tcp intranet qualsiasi eq 443! ip access-list esteso TUTTO permesso ip qualsiasi qualsiasi! ! ! difficile mappa radice PBR! Se il traffico dalla LAN al Web! quindi assegnagli il primo provider come gateway! Altrimenti, altro traffico LAN! designare il secondo provider come gateway. ! Quando si assegna un gateway, route-map PBR Le tracce vengono controllate permetti 10 corrispondenze indirizzo IP WEB set ip next-hop verifica-disponibilità GatewayPro1 1 traccia 10! route-map permesso PBR 20 corrispondenza indirizzo IP TUTTI set ip next-hop verifica-disponibilità GatewayPro2 1 traccia 20! ! ! difficile mappa radice ISP1! funziona se il traffico proviene dalla LAN! tenta di uscire attraverso l'interfaccia Fa0 / 0.1 route-map ISP1 permesso 10 corrispondere indirizzo IP LOCALE interfaccia di corrispondenza FastEthernet0 / 0.1! ! difficile mappa radice ISP2! funziona se il traffico proviene dalla LAN! tenta di uscire attraverso l'interfaccia Fa0 / 0.2 route-map ISP2 permesso 10 corrispondere indirizzo IP LOCALE interfaccia di corrispondenza FastEthernet0 / 0.2! ! ! Finalmente NAT ;-)! ! Traffico dalla LAN al primo provider Natit attraverso la prima interfaccia ip nat all'interno dell'interfaccia source route-map ISP1 FastEthernet0 / 0.1 sovraccarico! ! Traffico dalla LAN al secondo provider Natit attraverso la seconda interfaccia ip nat all'interno della sorgente route-map interfaccia ISP2 FastEthernet0/0.2 sovraccarico! ! Trasferisci traffico a DNS fittizio a Google-DNS ip nat outside source static 8.8.8.8 10.11.12.13 no-alias! ! inoltro dalla porta interna 3389 alla porta esterna 1111 ip nat all'interno della sorgente static tcp host interna 3389 esterna 1111 estensibile ip nat all'interno della sorgente statica tcp host interna 3389 esterna 1111 estensibile! !

Varie

CGN (carrier grade nat) con un pool speciale di indirizzi privati

NAT come ALG (gateway a livello di applicazione), (protocolli di testo normale es. SIP)

LA CAMPANA

C'è chi ha letto questa notizia prima di te.
Iscriviti per ricevere gli ultimi articoli.
E-mail
Nome
Cognome
Come vuoi leggere La Campana?
Niente spam