Sommario

Introduzione

Prerequisiti

Requisiti

Componenti usati

Premesse

Scopo

Descrizione

Configurazione

Esempio di rete

Passi

Verifica

Risoluzione dei problemi

Limitazioni

Introduzione

In questo documento viene descritto come configurare Network Address Translation (NAT) per il bilanciamento del carico del traffico TCP sui router Cisco IOS®.

Prerequisiti

Requisiti

Nessun requisito specifico previsto per questo documento.

Componenti usati

Il documento può essere consultato per tutte le versioni software o hardware. Questo documento è relativo a tutti i router e gli switch Cisco con Cisco IOS.

Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.

Premesse

Scopo

Gli utenti che accedono al server locale dall'esterno di Internet accederanno al server utilizzando un solo URL o indirizzo IP. Tuttavia, il dispositivo NAT viene utilizzato per caricare e condividere il traffico utente su più server identici con contenuto con mirroring.

Descrizione

Gli utenti esterni A e B accedono al contenuto del server Web con l'indirizzo IP visibile esterno 172.16.2.3 (indirizzo IP virtuale dei server). Il router NAT converte il traffico destinato alla versione 172.16.1.3 negli indirizzi IP interni 10.1.1.1, 10.1.1.2 e 10.1.1.3 in modo round robin e lo inoltra al rispettivo server. Ogni nuova sessione avviata dall'utente esterno viene convertita nell'indirizzo IP del server fisico successivo.

Configurazione

Esempio di rete

Passi

1. L'utente A avvia una connessione TCP con l'indirizzo IP 172.16.2.3 del server virtuale.

2. Alla ricezione della richiesta di connessione, il router NAT crea una voce di conversione NAT che alloca il successivo indirizzo IP reale del server disponibile (ad esempio, 10.1.1.1).

3. Il router NAT sostituisce l'indirizzo IP di destinazione con l'indirizzo IP reale allocato e inoltra il pacchetto.

4. Il server riceve il pacchetto e risponde all'origine.

5. Il router NAT riceve il pacchetto restituito dal server ed esegue la ricerca nella tabella NAT. Il router quindi converte l'indirizzo di origine nell'indirizzo IP del server virtuale (172.16.2.3) e inoltra il pacchetto.

6. L'utente B avvia una sessione TCP con l'indirizzo IP virtuale del server 172.16.2.3. Dopo aver ricevuto la richiesta di connessione, il router NAT converte questo indirizzo nell'indirizzo IP reale del server successivo disponibile (ad esempio, 10.1.1.2) e quindi inoltra il pacchetto al server.

Poiché il protocollo NAT statico è bidirezionale nell'altra direzione, la destinazione del pacchetto verrà tradotta. Quando si esegue questa forma di NAT, la connessione viene attivata tramite invio di pacchetti TCP. L'invio del protocollo ICMP (Internet Control Message Protocol) potrebbe non attivare la conversione NAT.

Il traffico non TCP viene indirizzato al primo indirizzo del pool.

A differenza delle interfacce statiche NAT e statiche PAT di origine, il router non risponde alle richieste ARP sull'indirizzo globale, a meno che tale indirizzo non sia assegnato alla relativa interfaccia. Potrebbe pertanto essere necessario aggiungerlo a un'interfaccia come quella secondaria. Non è possibile reindirizzare le porte con questo metodo di conversione (ad esempio, 80 e 1087). Le porte devono corrispondere.

Nota: L'indirizzo IP del pool NAT non deve essere uguale all'indirizzo IP dell'interfaccia esterna. Per illustrare la stessa situazione, l'esempio usa un indirizzo IP di un blocco 172.16.2.x diverso dall'effettiva subnet IP dell'interfaccia 172.16.1.x.

1. Definire un pool di indirizzi contenente gli indirizzi dei server reali.
ip nat pool NATPOOL 10.1.1.1 10.1.1.3 prefix-length 24 type rotary

2. Definire un elenco degli accessi che consenta l'indirizzo del server virtuale.
access-list 1 permit host 172.16.2.3

3. Abilita una traduzione dinamica degli indirizzi di destinazione interni.
ip nat inside destination list

pool

ip nat inside destination  list 1 pool NATPOOL

4. Definire le interfacce NAT interna ed esterna.
Interface gig0/0

ip address 10.1.1.4 255.255.255.0

Ip nat inside

Interface gig0/1

ip address 172.16.1.1 255.255.255.248

Ip nat outside

Gli indirizzi IP 10.1.1.1, 10.1.1.2 e 10.1.1.3 vengono ora trasmessi a rotazione quando si cerca di accedere all'indirizzo IP 172.16.2.3

Verifica

Per verificare questa condizione, avviare più sessioni TCP dagli host esterni all'indirizzo IP virtuale. Debug IP NAT ttranslate/show ip nat translation output può essere utilizzato per la verifica.

Router#

Router#

*Jul 24 13:27:41.193: NAT*: s=192.168.1.1, d=172.16.2.3->10.1.1.3 [22864]

*Jul 24 13:27:41.196: NAT*: s=10.1.1.3->172.16.2.3, d=192.168.1.1 [18226]

Router#

*Jul 24 13:27:44.329: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35533]

*Jul 24 13:27:44.331: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14573]

*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35534]

*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35535]

*Jul 24 13:27:44.332: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35536]

*Jul 24 13:27:44.333: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14574]

*Jul 24 13:27:44.365: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14575]

*Jul 24 13:27:44.365: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14576]

*Jul 24 13:27:44.368: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35537]

Router#

*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35538]

*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35539]

*Jul 24 13:27:44.369: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35540]

*Jul 24 13:27:44.371: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14577]

*Jul 24 13:27:44.574: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14578]

Router#

*Jul 24 13:27:46.474: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14579]

*Jul 24 13:27:46.478: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35541]

*Jul 24 13:27:46.478: NAT*: s=192.168.2.1, d=172.16.2.3->10.1.1.1 [35542]

*Jul 24 13:27:46.479: NAT*: s=10.1.1.1->172.16.2.3, d=192.168.2.1 [14580]

Router#sh ip nat tr

Pro Inside global      Inside local       Outside local      Outside global

tcp 172.16.2.3:23      10.1.1.1:23        192.168.2.1:49703  192.168.2.1:49703

tcp 172.16.2.3:23      10.1.1.2:23        192.168.2.1:50421  192.168.2.1:50421

tcp 172.16.2.3:80      10.1.1.3:80        192.168.1.1:26621  192.168.1.1:26621

Router#

Risoluzione dei problemi

Al momento non sono disponibili informazioni specifiche per la risoluzione dei problemi di questa configurazione.

Limitazioni

- Non è in grado di rilevare eventuali errori di un server interno del gruppo. Ciò significa che Cisco IOS inoltrerà sempre il traffico ai server del gruppo, a prescindere dal loro stato operativo.

- Non è in grado di determinare i carichi effettivi dei server interni, pertanto non è in grado di eseguire il bilanciamento del carico in modo efficiente.