SONiC Dell Networking: NAT (Network Address Translation)

Riepilogo: Questo articolo spiega la traduzione degli indirizzi di rete (NAT) in Dell Networking SONiC. Questo articolo utilizza uno switch con Dell SONiC 4.1.

Questo articolo si applica a Questo articolo non si applica a Questo articolo non è legato a un prodotto specifico. Non tutte le versioni del prodotto sono identificate in questo articolo.

Istruzioni

 
Prerequisiti
La denominazione dell'interfaccia standard viene utilizzata per dimostrare i concetti. Consultare l'articolo Dell 202172 Dell Networking serie S: Configurazione dell'interfaccia di base - SONiC 4.0 per ulteriori informazioni sulla denominazione dell'interfaccia


Indice

Introduzione

NOTA: La traduzione dell'indirizzo di rete (NAT) è disponibile solo nei bundle Cloud Standard, Cloud Premium, Enterprise Standard ed Enterprise Premium. NAT non è disponibile nel pacchetto Edge Standard.

La traduzione dell'indirizzo di rete abilita il processo che assegna un indirizzo IP pubblico ai dispositivi che accedono alle risorse all'esterno della rete. Il NAT conserva l'utilizzo dell'indirizzo IP nella rete locale.

Il NAT non è richiesto all'interno della rete per instradare il traffico tra indirizzi IP privati. Un gateway NAT traduce gli indirizzi IP privati dei dispositivi di rete locali in un indirizzo IP pubblico univoco a livello globale quando comunicano con i dispositivi remoti.
 
NOTA: La traduzione degli indirizzi di rete non è supportata su Z9432F-ON.
 

Abilita NAT

Per abilitare nat e immettere i comandi di configurazione NAT in modalità di configurazione NAT:
  • Per abilitare NAT:
sonic(config-nat)# enable

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# enable
  • Per disabilitare NAT:

DELLSONiC(config-nat)# no enable
 

Ordine di configurazione NAT

Una volta abilitata la funzione NAT, è possibile completare i seguenti passaggi in qualsiasi ordine:
  • Configurazione delle zone NAT
  • Aggiungere una voce NAT statica
  • Aggiungere una voce NAT statica con una porta L4
  • Creazione di un pool di indirizzi NAT
  • Configurare il binding NAT
  • Configurazione di un timeout NAT dinamico
 

Creare zone NAT

Per configurare una zona NAT nelle interfacce L3 in modo che la traduzione degli indirizzi NAT venga eseguita sui pacchetti quando un pacchetto attraversa una zona nelle interfacce configurate. Una zona NAT può essere configurata su qualsiasi interfaccia Ethernet, VLAN, port channel o loopback configurata con un indirizzo IP. L'intervallo di numeri di zona NAT è compreso tra 0 e 3.

La zona di origine di un pacchetto è la zona dell'interfaccia in entrata su cui viene ricevuto il pacchetto. La zona di destinazione del pacchetto è la zona dell'interfaccia dell'hop successivo L3 dalla ricerca della route L3 dell'indirizzo di destinazione.
  • Il traffico in entrata su un'interfaccia di origine viene inoltrato tramite la traduzione statica del DNAT (Destination Network Address Translation).
  • Il traffico in uscita inviato su un'interfaccia di destinazione viene tradotto dinamicamente tramite Source Network Address Translation (SNAT).
  • Le interfacce L3 sono nella zona NAT 0 per impostazione predefinita. La zona 0 NAT è considerata una zona interna.
 
  • Per creare una zona NAT:
sonic(conf-if-interface)# nat-zone <0..3>

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC (config)# interface Eth1/2
DELLSONiC (conf-if-Eth1/2)# ip address 20.20.20.20/24
DELLSONiC (conf-if-Eth1/2)# nat-zone 1
DELLSONiC (conf-if-Eth1/2)# exit
DELLSONiC (config)# interface Vlan 5
DELLSONiC (conf-if-Vlan5)# ip address 23.23.23.23/24
DELLSONiC (conf-if-Vlan5)# nat-zone 1
DELLSONiC (conf-if-Vlan5)# exit
DELLSONiC (config)# interface PortChannel 2
DELLSONiC (conf-if-po2)# ip address 25.25.25.25/24
DELLSONiC (conf-if-po2)# nat-zone 1
DELLSONiC (conf-if-po2)# exit
DELLSONiC (config)# interface Loopback 1
DELLSONiC (conf-if-lo1)# ip address 10.10.10.10/32
DELLSONiC (conf-if-lo1)# nat-zone 2
  • Eliminare una zona NAT:

sonic(conf-if-interface)# no nat-zone <0..3>

DELLSONiC (conf-if-lo1)# no nat-zone 2
 

Creare una voce NAT statica.

Per comunicare all'esterno della rete tramite Internet, un utente può configurare manualmente una voce NAT statica per sostituire un indirizzo IP locale con un indirizzo IP univoco a livello globale. Le unità NAT statiche possono essere create con o senza traduzione delle porte L4. Le unità NAT statiche con riferimento a una porta L4 possono convertire un indirizzo IP locale e un numero di porta TCP o UDP in un indirizzo IP globale con un numero di porta TCP o UDP.
  • Per creare un NAT statico senza traduzione della porta L4:
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
  • NAT (SNAT) di origine - Converte un indirizzo IP di origine nella rete locale in un indirizzo IP globale inviato a una rete esterna. I dispositivi remoti nelle reti esterne utilizzano l'indirizzo globale per accedere al dispositivo locale.
  • NAT di destinazione (DNAT): converte un indirizzo IP di destinazione in pacchetti, ricevuti da una rete esterna e attraversano la rete locale, in un indirizzo IP locale utilizzato nella rete locale. DNAT è l'impostazione predefinita.
  • twice_nat_id value - Esegue la traduzione degli indirizzi negli indirizzi IP di origine e di destinazione per le voci statiche con lo stesso valore.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# static basic 125.4.4.4 12.1.1.1
DELLSONiC(config-nat)# static basic 100.100.100.100 15.15.15.15 snat twice-nat-id 5
DELLSONiC(config-nat)# static basic 200.200.200.5 17.17.17.17 dnat twice-nat-id 5
  • Per creare un NAT statico con traduzione della porta L4:
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
  • NAT di origine (SNAT) - Converte un indirizzo IP di origine e una porta TCP/UDP nella rete locale in un indirizzo IP globale e una porta TCP/UDP che viene inviata a una rete esterna. I dispositivi remoti nelle reti esterne utilizzano l'indirizzo globale e la porta L4 per accedere al dispositivo locale.
  • NAT di destinazione (DNAT) - Converte un indirizzo IP di destinazione e una porta TCP/UDP in pacchetti, ricevuti da una rete esterna e attraversano la rete locale, in un indirizzo IP locale e una porta TCP/UDP utilizzata nella rete locale. DNAT è l'impostazione predefinita.
  • twice_nat_id value - Esegue la traduzione degli indirizzi negli indirizzi IP di origine e di destinazione per le voci statiche con lo stesso valore ID.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# static udp 148.56.7.7 8991 10.11.1.12 2000
DELLSONiC(config-nat)# static tcp 123.3.4.1 901 11.11.1.1 1000
DELLSONiC(config-nat)# static tcp 65.55.46.6 106 20.0.0.6 206 dnat twice-nat-id 200
DELLSONiC(config-nat)# static tcp 65.55.45.5 100 20.0.0.5 200 snat twice-nat-id 200
  • Eliminare una voce statica NAT:
sonic(conf-nat)# no static basic global-ip
sonic(conf-nat)# no static {tcp | udp} global-ip global-port

DELLSONiC(config-nat)# no static basic 125.4.4.4
DELLSONiC(config-nat)# no static basic 100.100.100.100
DELLSONiC(config-nat)# no static basic 200.200.200.5
DELLSONiC(config-nat)# no static udp 148.56.7.7 8991
DELLSONiC(config-nat)# no static tcp 123.3.4.1 901
DELLSONiC(config-nat)# no static tcp 65.55.46.6 106
DELLSONiC(config-nat)# no static tcp 65.55.45.5 100


Esempio di NAT statico

L'esempio riportato di seguito mostra che la rete A che utilizza un router con NAT abilitato. Quando Host 100.100.100.101 sul segmento LAN invia il traffico verso una destinazione esterna (200.200.200.201), il traffico viene inviato verso il router NAT per essere instradato verso l'host 200.200.200.201 da Internet. Il router NAT converte l'IP di origine (SRC IP) 100.100.100.101 in un nuovo IP di origine 1.1.1.2. Il router NAT sta eseguendo un SNAT (Source Network Address Translation) in cui l'indirizzo privato interno 100.100.100.101 viene tradotto nell'indirizzo esterno 1.1.1.2. Il router NAT esegue un DNAT (Destination Network Address Translation) per il traffico restituito dall'host 200.200.200.201 nella rete A all'host 100.100.100.101.
Esempio di NAT statis
Figura 1. Esempio di traduzione dell'indirizzo di rete statico
  • Configurare le zone NAT:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC (config)# interface Eth1/10
DELLSONiC (conf-if-Eth1/10)# ip address 100.100.100.1/24
DELLSONiC (conf-if-Eth1/10)# nat-zone 0
DELLSONiC (conf-if-Eth1/10)# exit
DELLSONiC (config)# interface Eth1/20
DELLSONiC (conf-if-Eth1/20)# ip address 1.1.1.2/30
DELLSONiC (conf-if-Eth1/20)# nat-zone 1
DELLSONiC (conf-if-Eth1/20)# exit
  • Abilitare NAT:

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# enable
  • Creare un NAT statico senza traduzione della porta L4:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101

 

Creare un NAT dinamico. 

La funzionalità NAT dinamica sostituisce un indirizzo locale con un indirizzo proveniente da un pool di indirizzi globali.
La traduzione dinamica è utile quando più utenti su una rete privata accedono a Internet.
 

Configurazione del pool di indirizzi NAT  

Configurare un pool di indirizzi globali disponibili definendo l'intervallo di indirizzi IP globali e, facoltativamente, l'intervallo di porte TCP/UDP utilizzato per la traduzione degli indirizzi locali. 

  • Creare un pool di indirizzi NAT:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
  1. Immettere l'intervallo di indirizzi IP globali nel formato ip-address-ip-address.
  2. Immettere l'intervallo di numeri di porta TCP/UDP nel formato port-number-port-number.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# pool Pool1 19.19.19.19
DELLSONiC(config-nat)# pool Pool2 20.0.0.7 1024-65535
DELLSONiC(config-nat)# pool Pool3 65.55.45.10-65.55.45.15 500-1000
  • Eliminare un pool di indirizzi NAT:
sonic(conf-nat)# no pool pool-name

DELLSONiC(config-nat)# no pool Pool1
  • Eliminare tutti i pool di indirizzi NAT:
sonic(conf-nat)# no pools
 

Configurare il binding NAT

  • Creare un binding NAT a un pool di indirizzi NAT:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
  • SNAT - Converte un indirizzo IP di origine in un indirizzo IP globale nel pool. SNAT è l'impostazione predefinita nel binding NAT.
  • DNAT - Converte un indirizzo IP di destinazione in un indirizzo IP globale nel pool.
  • twice_nat_id value - Esegue la traduzione degli indirizzi sugli indirizzi IP di origine e di destinazione utilizzando il pool di indirizzi per le voci statiche con lo stesso valore ID.
  • acl-name - Per limitare gli indirizzi IP in un pool di indirizzi NAT globale, è possibile utilizzare un ACL (Access Control List). Un'istruzione permit consente agli indirizzi IP con gli attributi configurati nella regola di autorizzazione. Un'istruzione di negazione nega i pacchetti con gli attributi configurati nella regola di negazione. In un ACL, la voce do_not_nat consente di instradare i pacchetti anziché tradotti.
NOTA: ACL-NAME è un argomento opzionale. Se l'argomento ACL-NAME non è specificato, il binding NAT è applicabile in modo che corrisponda a tutto il traffico.
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# binding Bind1 Pool1 10_ACL_IPV4
DELLSONiC(config-nat)# binding Bind2 Pool2 12_ACL_IPV4 snat twice-nat-id 25
DELLSONiC(config-nat)# binding Bind3 Pool3 15_ACL_IPV4 dnat twice-nat-id 25
  • Eliminare un binding NAT:
sonic(conf-nat)# no binding binding-name

DELLSONiC(config-nat)# no binding Bind1
  • Eliminare tutti i binding NAT:
sonic(conf-nat)# no bindings

 

Configurare il timeout NAT dinamico 

Per impostazione predefinita, solo le configurazioni di traduzione dinamica degli indirizzi vengono timeout dopo 10 minuti (600 secondi) di assenza di traffico

attivo. Non vi è alcun timeout per le voci NAT statiche. Per modificare il valore di timeout NAT dinamico, specificare un nuovo valore in secondi (da 300 a 432000).

  • Modifica del timeout delle configurazioni di traduzione dinamica degli indirizzi:
sonic(conf-nat)# timeout <300..432000>

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# timeout 1200

È possibile regolare anche i timeout di voce NAT per le voci UDP L4 e TCP NAT.
Per modificare il timeout TCP per la traduzione dell'indirizzo, immettere un nuovo valore di timeout in secondi (da 300 a 432000, valore predefinito 86400). Per modificare il timeout UDP per la traduzione degli indirizzi, immettere un nuovo valore in secondi (da 120 a 600; valore predefinito 300).

  • Modificare le configurazioni di traduzione dinamica degli indirizzi timeout UDP/TCP:
sonic(conf-nat)# udp-timeout <120..600>
sonic(conf-nat)# tcp-timeout <300..432000>

admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# udp-timeout 600
DELLSONiC(config-nat)# tcp-timeout 66460

 

Esempio di NAT dinamico 

L'esempio riportato di seguito mostra che la rete A che utilizza un router con NAT abilitato. Quando Host 100.100.100.101 sul segmento LAN invia il traffico verso una destinazione esterna (200.200.200.201), il traffico viene inviato verso il router NAT per essere instradato verso l'host 200.200.200.201 da Internet. Il router NAT converte l'IP di origine (SRC IP) 100.100.100.101 in un nuovo IP di origine 1.1.1.2. Il router NAT sta eseguendo un SNAT (Source Network Address Translation) in cui l'indirizzo privato interno 100.100.100.101 viene tradotto nell'indirizzo esterno 1.1.1.2. Il router NAT esegue un DNAT (Destination Network Address Translation) per il traffico restituito dall'host 200.200.200.201 nella rete A all'host 100.100.100.101. La stessa traduzione NAT si verifica per la comunicazione di PC2 con PC3.

Esempio di NAT dinamico
Figura 2. 
Esempio di traduzione dell'indirizzo di rete dinamico

  • Configurare le zone NAT:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC (config)# interface Vlan 100
DELLSONiC (conf-if-Vlan100)# ip address 100.100.100.1/24
DELLSONiC (conf-if-Vlan100)# nat-zone 0
DELLSONiC (conf-if-Vlan100)# exit
DELLSONiC (config)# interface Vlan 300
DELLSONiC (conf-if-Vlan300)# ip address 300.300.300.1/24
DELLSONiC (conf-if-Vlan300)# nat-zone 0
DELLSONiC (conf-if-Vlan300)# exit
DELLSONiC (config)# interface Eth1/20
DELLSONiC (conf-if-Eth1/20)# ip address 1.1.1.2/30
DELLSONiC (conf-if-Eth1/20)# nat-zone 1
DELLSONiC (conf-if-Eth1/20)# exit
  • Abilitare NAT:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# enable
  • Creare un pool NAT:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# pool Pool1 1.1.1.2
  • Creare un binding NAT:
admin@DELLSONiC:~$ sonic-cli
DELLSONiC# configure terminal
DELLSONiC(config)# nat
DELLSONiC(config-nat)# binding Bind1 Pool1
 

Visualizzare la configurazione NAT 

Utilizzare questi comandi per visualizzare la configurazione e il funzionamento NAT e le voci della tabella NAT.

  • Visualizza la tabella di traduzione NAT:
S5296F-Mid-SPINE# show nat translations
Protocol            Source              Destination         Translated Source   Translated Destination
----------------------------------------------------------------------------------------------------------------------------
all                 10.32.20.3          ----                100.100.100.1       ----
all                 ----                100.100.100.1       ----                10.32.20.3
udp                 ----                10.32.20.2:311      ----                100.100.100.100:63
udp                 100.100.100.100:63  ----                10.32.20.2:311      ----
  • Per cancellare le voci di traduzione NAT:
DELLSONiC# clear nat translations
  • Visualizzare le statistiche di traduzione NAT:
DELLSONiC# show nat statistics
-----------------------------------------------------------------------------
Protocol       Source                        Destination                   Packets             Bytes
-----------------------------------------------------------------------------
udp            100.100.100.100:63            ---                           15522575563164      993444836042496
  • Visualizzare la configurazione NAT e NAT:
DELLSONiC# show nat config static
---------------------------------------------------------------------------------------------------------------------
Nat Type       IP Protocol         Global IP                     Global L4 Port      Local IP                      Local L4 Port       Twice-Nat Id
----------------------------------------------------------------------------------------------------------------------------
dnat           all                 100.100.100.1                 ----                10.32.20.3                    ----                ----
 
  • Visualizzazione dei pool NAT:
DELLSONiC# show nat config pool
Pool Name           Global IP Range               Global L4 Port Range
-----------------------------------------------------------------------------
POOL1               100.100.100.2                 1024-6034
POOL2               100.100.100.3-100.100.100.4   ----
  • Visualizzare la configurazione del binding NAT:
DELLSONiC# show nat config bindings
Binding Name  Pool Name      Access-List         Nat Type       Twice-Nat Id
-----------------------------------------------------------------------------
EXT1          POOL1          ----                ----           ---
EXT2          POOL2          NAT_IPS             ----           ---
  • Visualizzare la configurazione NAT globale:
DELLSONiC# show nat config globalvalues
Admin Mode     : enabled
Global Timeout : 600 secs
TCP Timeout    : 86400 secs
UDP Timeout    : 300 secs
  • Visualizzare le zone di interfaccia L3:
DELLSONiC# show nat config zones
Port                Zone
-------------------------------------------------
Eth1/1              2
PortChannel12       2
Vlan200             1
Loopback1           1
  • Visualizzare il numero di traduzioni NAT:

DELLSONiC# show nat translations count
Static NAT Entries        ................. 2
Static NAPT Entries       ................. 0
Dynamic NAT Entries       ................. 0
Dynamic NAPT Entries      ................. 2
Static Twice NAT Entries  ................. 0
Static Twice NAPT Entries ................. 0
Dynamic Twice NAT Entries ................. 0
Dynamic Twice NAPT Entries ................ 0
Total SNAT/SNAPT Entries   ................ 2
Total DNAT/DNAPT Entries   ................ 2
Total Entries    .......................... 4

Prodotti interessati

Enterprise SONiC Distribution, PowerSwitch S5212F-ON, PowerSwitch S5224F-ON, PowerSwitch S5232F-ON, PowerSwitch S5248F-ON, PowerSwitch S5296F-ON, PowerSwitch Z9264F-ON, PowerSwitch Z9332F-ON
Proprietà dell'articolo
Numero articolo: 000220835
Tipo di articolo: How To
Ultima modifica: 08 feb 2024
Versione:  5
Trova risposta alle tue domande dagli altri utenti Dell
Support Services
Verifica che il dispositivo sia coperto dai Servizi di supporto.