Dell Networking SONiC: Network Address Translation (NAT)
Sammendrag: Denne artikkelen forklarer om NAT (Network Address Translation) i Dell Networking SONiC. Denne artikkelen bruker en svitsj som kjører Dell SONiC 4.1.
Instruksjoner
|
Forhåndskrav
Standard grensesnittnavn brukes til å demonstrere konseptene. Se Dell-artikkelen 202172, Dell Networking S-serien: Basic Interface Configuration – SONiC 4.0 for mer informasjon om navngiving av grensesnitt |
Indeks
- Innledning
- Aktiver NAT
- NAT-konfigurasjonsrekkefølge
- NAT-soner
- Statisk NAT-oppføring
- Eksempel på statisk NAT
- Dynamisk NAT
- NAT-adresseutvalg
- NAT-binding
- Dynamisk NAT-tidsavbrudd
- Eksempel på dynamisk NAT
- NAT Configuration Show Commands
Innledning
Network Address Translation aktiverer prosessen som tilordner en offentlig IP-adresse til enheter som får tilgang til ressurser utenfor nettverket. NAT sparer IP-adressebruk i det lokale nettverket.
NAT er ikke nødvendig i nettverket for å rute trafikk mellom private IP-adresser. En NAT-gateway oversetter de private IP-adressene til lokale nettverksenheter til en globalt unik, offentlig IP-adresse når de kommuniserer med eksterne enheter.
Aktiver NAT
Slik aktiverer du NAT og angir NAT-konfigurasjonskommandoer i NAT-konfigurasjonsmodus:- Slik aktiverer du NAT:
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
Slik deaktiverer du NAT:
DELLSONiC(config-nat)# no enable
NAT-konfigurasjonsrekkefølge
Når NAT er aktivert, kan følgende trinn fullføres i hvilken som helst rekkefølge:- Konfigurere NAT-soner
- Legg til en statisk NAT-oppføring
- Legg til en statisk NAT-oppføring med en L4-port
- Opprette et NAT-adresseutvalg
- Konfigurere NAT-binding
- Konfigurere et dynamisk NAT-tidsavbrudd
Opprette NAT-soner
Slik konfigurerer du en NAT-sone på L3-grensesnitt slik at NAT-adresseoversetting utføres på pakker når en pakke krysser en sone på konfigurerte grensesnitt. En NAT-sone kan konfigureres på et hvilket som helst Ethernet-, VLAN-, portkanal- eller tilbakekoblingsgrensesnitt som er konfigurert med en IP-adresse. Intervallet for NAT-sonenumre er fra 0 til 3.Kildesonen til en pakke er sonen til det inngående grensesnittet som pakken mottas på. Målsonen til pakken er sonen til L3 next-hop-grensesnittet fra L3-ruteoppslaget til måladressen.
- Inngående trafikk som går inn i et kildegrensesnitt, videresendes L3 ved hjelp av ENST-oversettelse (Static Destination Network Address Translation).
- Utgående trafikk som sendes på et målgrensesnitt, er oversatt dynamisk til Source Network Address Translation (SNAT).
- L3-grensesnitt er i NAT-sone 0 som standard. NAT-sone 0 regnes som en innenfor sonen.
- Slik oppretter du en NAT-sone:
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
-
Slett en NAT-sone:
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Opprett en statisk NAT-oppføring.
For å kommunisere utenfor nettverket via Internett kan en bruker konfigurere en statisk NAT-oppføring manuelt for å erstatte en lokal IP-adresse med en globalt unik IP-adresse. Statiske NAT-er kan opprettes med eller uten L4-portoversetting. Statiske NAT-er med en L4-portreferanse kan oversette en lokal IP-adresse og TCP- eller UDP-portnummer til en global IP-adresse med TCP- eller UDP-portnummer.- Slik oppretter du en statisk NAT uten L4-portoversetting:
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- Kilde-NAT (SNAT) – Oversetter en kilde-IP-adresse i det lokale nettverket til en global IP-adresse som sendes til et eksternt nettverk. Eksterne enheter i eksterne nettverk bruker den globale adressen for å få tilgang til den lokale enheten.
- Mål-NAT (DNAT) – Oversetter en mål-IP-adresse i pakker som mottas fra et eksternt nettverk og traverserer det lokale nettverket til en lokal IP-adresse som brukes i det lokale nettverket. DNAT er standard.
- twice_nat_id verdi – utfører adresseoversetting på BÅDE kilde- og mål-IP-adresser for statiske oppføringer som har samme verdi.
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
- Slik oppretter du en statisk NAT med L4-portoversetting:
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- Kilde-NAT (SNAT) – Oversetter en kilde-IP-adresse og TCP/UDP-port i det lokale nettverket til en global IP-adresse og TCP/UDP-port som sendes til et eksternt nettverk. Eksterne enheter i eksterne nettverk bruker den globale adressen og L4-porten for å få tilgang til den lokale enheten.
- Mål-NAT (DNAT) – Oversetter en mål-IP-adresse og TCP/UDP-port i pakker som mottas fra et eksternt nettverk og traverserer det lokale nettverket til en lokal IP-adresse og TCP/UDP-port som brukes i det lokale nettverket. DNAT er standard.
- twice_nat_id verdi – utfører adresseoversetting på BÅDE kilde- og mål-IP-adresser for statiske oppføringer som har samme ID-verdi.
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
- Slett en statisk NAT-oppføring:
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
Eksempel på statisk NAT
Eksemplet nedenfor viser at nettverks A bruker en ruter med NAT aktivert. Når vert 100.100.100.101 på LAN-segmentet sender trafikk mot et eksternt mål (200.200.200.201), blir trafikken sendt mot NAT-ruteren som skal rutes mot vert 200.200.200.201 fra Internett. NAT-ruteren oversetter kilde-IP -en (SRC IP) 100.100.100.101 til en ny kilde-IP 1.1.1.2. NAT-ruteren utfører en Source Network Address Translation (SNAT) der den interne private adressen til 100.100.100.101 er oversatt til den eksterne adressen til 1.1.1.2. NAT-ruteren utfører en MÅLnettverksadresseoversetting (DNAT) for returtrafikken fra host 200.200.200.201 tilbake til nettverk A til vert 100.100.100.101.
- Konfigurere NAT-sonene:
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
-
Aktiver NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Opprette en statisk NAT uten L4-portoversetting:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101
Opprett en dynamisk NAT.
Dynamisk NAT erstatter en lokal adresse med en adresse fra et utvalg av globale adresser.
Dynamisk oversettelse er nyttig når flere brukere på et privat nettverk har tilgang til Internett.
Konfigurere NAT-adresseutvalg
Konfigurer et utvalg av tilgjengelige globale adresser ved å definere det globale IP-adresseområdet og eventuelt TCP/UDP-portområdet som brukes for lokal adresseoversetting.
- Opprette NAT-adresseutvalg:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Skriv inn det globale IP-adresseområdet i formatet ip-address-ip-address.
- Angi TCP/UDP-portnummerområdet i formatet portnummer-portnummer.
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
- Slett et NAT-adresseutvalg:
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Slett alle NAT-adresseutvalg:
sonic(conf-nat)# no pools
Konfigurere NAT-binding
- Opprette en NAT-binding til et NAT-adresseutvalg:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT – oversetter en kilde-IP-adresse til en global IP-adresse i utvalget. SNAT er standardinnstillingen i NAT-bindingen.
- DNAT – Oversetter en mål-IP-adresse til en global IP-adresse i utvalget.
- twice_nat_id verdi – utfører adresseoversetting på både kilde- og mål-IP-adresser ved hjelp av adresseutvalget for statiske oppføringer som har samme ID-verdi.
- acl-name – Hvis du vil begrense IP-adressene i et globalt NAT-adresseutvalg, kan du bruke en tilgangskontrolliste (ACL). Med en tillatelseserklæring kan du bruke IP-adressene som har attributtene konfigurert i tillatelsesregelen. En avslåingserklæring avviser pakker som har attributtene konfigurert i deny-regelen. I en tilgangskontrolliste tillater do_not_nat oppføring pakker som skal rutes i stedet for oversatt.
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
- Slette en NAT-binding:
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Slett alle NAT-bindinger:
sonic(conf-nat)# no bindings
Konfigurere dynamisk NAT-tidsavbrudd
Som standard er det bare tidsavbrudd for dynamisk adresseoversetting etter 10 minutter (600 sekunder) uten aktiv trafikk
. Det er ingen tidsavbrudd for statiske NAT-oppføringer. Hvis du vil endre verdien for dynamisk NAT-tidsavbrudd, angir du en ny verdi i sekunder (300 til 432000).
- Endre tidsavbrudd for dynamisk adresseoversettingskonfigurasjoner:
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
Tidsavbrudd for NAT-oppføringer for L4 UDP- og TCP NAT-oppføringer kan også justeres.
Hvis du vil endre TCP-tidsavbrudd for adresseoversetting, angir du en ny verdi for tidsavbrudd i sekunder (300 til 432000, standard 86400). Hvis du vil endre UDP-tidsavbrudd for adresseoversetting, angir du en ny verdi i sekunder (120 til 600, standard 300).
- Endre konfigurasjoner for dynamisk adresseoversetting av UDP/TCP-tidsavbrudd:
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
Eksempel på dynamisk NAT
Eksemplet nedenfor viser at nettverks A bruker en ruter med NAT aktivert. Når vert 100.100.100.101 på LAN-segmentet sender trafikk mot et eksternt mål (200.200.200.201), blir trafikken sendt mot NAT-ruteren som skal rutes mot vert 200.200.200.201 fra Internett. NAT-ruteren oversetter kilde-IP -en (SRC IP) 100.100.100.101 til en ny kilde-IP 1.1.1.2. NAT-ruteren utfører en Source Network Address Translation (SNAT) der den interne private adressen til 100.100.100.101 er oversatt til den eksterne adressen til 1.1.1.2. NAT-ruteren utfører en MÅLnettverksadresseoversetting (DNAT) for returtrafikken fra host 200.200.200.201 tilbake til nettverk A til vert 100.100.100.101. Den samme NAT-oversettelsen skjer for PC2-kommunikasjon med PC3.

Figur 2: Eksempel på dynamisk nettverksadresseoversetting
- Konfigurere NAT-sonene:
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
- Aktiver NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Opprette et NAT-utvalg:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Opprette en NAT-binding:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
Vis NAT-konfigurasjon
Bruk disse kommandoene til å vise nat-konfigurasjon og -operasjons- og NAT-tabelloppføringer.
- Vis NAT-oversettelsestabell:
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 ----
- Slik sletter du NAT-oversettelsesoppføringer:
DELLSONiC# clear nat translations
- Se STATISTIKK for NAT-oversettelse:
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- Vis NAT- og NAT-konfigurasjon:
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 ---- ----
- Vis NAT-utvalg:
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 ----
- Vis NAT-bindingskonfigurasjon:
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Vis global NAT-konfigurasjon:
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- Vis L3-grensesnittsoner:
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
Vis NAT-oversettelsesantall:
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