Dell Networking SONiC: Network Address Translation (NAT)
Samenvatting: In dit artikel wordt uitgelegd over Network Address Translation (NAT) in Dell Networking SONiC. Dit artikel gebruikt een switch met Dell SONiC 4.1.
Instructies
|
Vereisten
Standaardinterface-naamgeving wordt gebruikt om de concepten aan te tonen. Zie het Dell artikel 202172, Dell Networking S serie: Basic Interface Configuration - SONiC 4.0 voor meer informatie over interfacenamen |
Index
- Inleiding
- NAT inschakelen
- NAT-configuratievolgorde
- NAT-zones
- Statische NAT-vermelding
- Statisch NAT-voorbeeld
- Dynamische NAT
- NAT-adresgroep
- NAT-binding
- Dynamische NAT-time-out
- Dynamisch NAT-voorbeeld
- NAT-configuratie show-opdrachten
Inleiding
Network Address Translation maakt het proces mogelijk dat een openbaar IP-adres toewijst aan apparaten die toegang hebben tot bronnen buiten het netwerk. NAT bespaart IP-adresgebruik in het lokale netwerk.
NAT is niet vereist binnen het netwerk om verkeer tussen privé-IP-adressen te routeren. Een NAT-gateway vertaalt de privé-IP-adressen van lokale netwerkapparaten naar een wereldwijd uniek, openbaar IP-adres wanneer ze communiceren met externe apparaten.
NAT inschakelen
NAT inschakelen en NAT-configuratieopdrachten invoeren in nat-configuratiemodus:- Nat inschakelen:
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
Nat uitschakelen:
DELLSONiC(config-nat)# no enable
NAT-configuratievolgorde
Nadat NAT is ingeschakeld, kunnen de volgende stappen in elke willekeurige volgorde worden voltooid:- NAT-zones configureren
- Voeg een statische NAT-vermelding toe
- Voeg een statische NAT-vermelding toe met een L4-poort
- Een NAT-adresgroep maken
- NAT-binding configureren
- Een dynamische NAT-time-out configureren
NAT-zones maken
Een NAT-zone configureren op L3-interfaces zodat NAT-adresomzetting wordt uitgevoerd op pakketten wanneer een pakket een zone doorloopt op geconfigureerde interfaces. Een NAT-zone kan worden geconfigureerd op elke Ethernet-, VLAN-, poortkanaal- of loopback-interface die is geconfigureerd met een IP-adres. Het bereik van NAT-zonenummers ligt tussen 0 en 3.De bronzone van een pakket is de zone van de binnenkomende interface waarop het pakket wordt ontvangen. De doelzone van het pakket is de zone van de L3 next-hop-interface van de L3-routezoekactie van het doeladres.
- Binnenkomend verkeer dat op een broninterface wordt ingevoerd, wordt L3 doorgestuurd met behulp van statische Dnat-vertaling (Destination Network Address Translation).
- Uitgaand verkeer dat wordt verzonden op een doelinterface wordt dynamisch vertaald met Source Network Address Translation (SNAT).
- L3-interfaces bevinden zich standaard in NAT-zone 0. NAT-zone 0 wordt beschouwd als een binnenzone.
- Een NAT-zone maken:
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
-
Een NAT-zone verwijderen:
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Maak een statische NAT-vermelding.
Om buiten het netwerk via internet te communiceren, kan een gebruiker handmatig een statische NAT-vermelding configureren om een lokaal IP-adres te vervangen door een wereldwijd uniek IP-adres. Statische NAT's kunnen worden gemaakt met of zonder L4-poortvertaling. Statische NAT's met een L4-poortreferentie kunnen een lokaal IP-adres en TCP- of UDP-poortnummer omzetten in een globaal IP-adres met TCP- of UDP-poortnummer.- Een statische NAT zonder L4-poortvertaling maken:
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- Source NAT (SNAT) - Vertaalt een bron-IP-adres in het lokale netwerk naar een wereldwijd IP-adres dat naar een extern netwerk wordt verzonden. Externe apparaten in externe netwerken gebruiken het algemene adres om toegang te krijgen tot het lokale apparaat.
- Doel-NAT (DNAT) - Vertaalt een doel-IP-adres in pakketten, die worden ontvangen van een extern netwerk en het lokale netwerk doorboren, naar een lokaal IP-adres dat wordt gebruikt in het lokale netwerk. DNAT is de standaardinstelling.
- twice_nat_id waarde - Voert adresvertaling uit op zowel bron- als doel-IP-adressen voor statische vermeldingen die dezelfde waarde hebben.
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
- Een statische NAT maken met L4-poortvertaling:
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- Source NAT (SNAT) - Vertaalt een bron-IP-adres en TCP/UDP-poort in het lokale netwerk naar een globaal IP-adres en TCP/UDP-poort die naar een extern netwerk worden verzonden. Externe apparaten in externe netwerken gebruiken het algemene adres en de L4-poort om toegang te krijgen tot het lokale apparaat.
- Doel-NAT (DNAT) - Vertaalt een doel-IP-adres en TCP/UDP-poort in pakketten, die worden ontvangen van een extern netwerk en het lokale netwerk doorboren, naar een lokaal IP-adres en TCP/UDP-poort die in het lokale netwerk worden gebruikt. DNAT is de standaardinstelling.
- twice_nat_id waarde - Voert adresvertaling uit op zowel bron- als doel-IP-adressen voor statische vermeldingen met dezelfde ID-waarde.
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
- Een NAT statische vermelding verwijderen:
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
Statisch NAT-voorbeeld
In het onderstaande voorbeeld ziet u dat Netwerk A een router gebruikt waarop NAT is ingeschakeld. Wanneer Host 100.100.100.101 op het LAN-segment verkeer verzendt naar een externe bestemming (200.200.200.201), wordt het verkeer verzonden naar de NAT-router om via internet naar Host 200.200.200.201 te worden geleid. De NAT-router vertaalt het bron-IP (SRC IP) 100.100.100.101 naar een nieuwe bron-IP 1.1.1.2. De NAT-router voert een Source Network Address Translation (SNAT) uit waarbij het interne privéadres van 100.100.100.101 wordt vertaald naar het externe adres van 1.1.1.2. De NAT-router voert een Destination Network Address Translation (DNAT) uit voor het retourverkeer van host 200.200.200.201 terug naar netwerk A naar host 100.100.100.101.
- Configureer de NAT-zones:
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
-
NAT inschakelen:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Maak een statische NAT zonder L4-poortvertaling:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101
Maak een dynamische NAT.
Dynamische NAT vervangt een lokaal adres door een adres uit een pool met algemene adressen.
Dynamische vertaling is handig wanneer meerdere gebruikers op een particulier netwerk toegang hebben tot internet.
NAT-adresgroep configureren
Configureer een pool met beschikbare algemene adressen door het globale IP-adresbereik te definiëren en optioneel het TCP/UDP-poortbereik dat wordt gebruikt voor lokale adresomzetting.
- Nat-adresgroep maken:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Voer het globale IP-adresbereik in de indeling ip-address-ip-address in.
- Voer het TCP/UDP-poortnummerbereik in de indeling poortnummer-poortnummer in.
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
- Een NAT-adresgroep verwijderen:
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Verwijder alle NAT-adresgroepen:
sonic(conf-nat)# no pools
NAT-binding configureren
- Maak een NAT-binding aan een NAT-adresgroep:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT - Vertaalt een bron-IP-adres naar een globaal IP-adres in de pool. SNAT is de standaardinstelling in NAT-binding.
- DNAT - Vertaalt een doel-IP-adres naar een wereldwijd IP-adres in de pool.
- twice_nat_id waarde - Voert adresvertaling uit op zowel bron- als doel-IP-adressen met behulp van de adresgroep voor statische vermeldingen met dezelfde ID-waarde.
- acl-naam - Om de IP-adressen in een globale NAT-adresgroep te beperken, kunt u een toegangsbeheerlijst (ACL) gebruiken. Een permit statement staat de IP-adressen toe met de kenmerken geconfigureerd in de permitregel. Een weigeringsverklaring weigert pakketten met de kenmerken die zijn geconfigureerd in de geweigerde regel. In een ACL kunnen pakketten met de do_not_nat-vermelding worden gerouteerd in plaats van vertaald.
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
- Een NAT-binding verwijderen:
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Verwijder alle NAT-bindingen:
sonic(conf-nat)# no bindings
Dynamische NAT-time-out configureren
Standaard is er na 10 minuten (600 seconden) alleen een time-out voor dynamische adresvertalingsconfiguraties als er geen actief verkeer
is, is er geen time-out voor statische NAT-vermeldingen. Als u de dynamische NAT-time-outwaarde wilt wijzigen, specificeert u een nieuwe waarde in seconden (300 tot 432000).
- Time-out dynamische adresvertalingsconfiguraties wijzigen:
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
De NAT-invoer time-outs voor L4 UDP- en TCP NAT-vermeldingen kunnen ook worden aangepast.
Als u de TCP-time-out voor adresvertaling wilt wijzigen, voert u een nieuwe time-outwaarde in seconden in (300 naar 432000; standaard 86400). Als u de UDP-time-out voor adresvertaling wilt wijzigen, voert u een nieuwe waarde in seconden in (120 tot 600; standaard 300).
- Wijzig dynamische adresvertalingsconfiguraties UDP/TCP time-out:
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
Dynamisch NAT-voorbeeld
In het onderstaande voorbeeld ziet u dat Netwerk A een router gebruikt waarop NAT is ingeschakeld. Wanneer Host 100.100.100.101 op het LAN-segment verkeer verzendt naar een externe bestemming (200.200.200.201), wordt het verkeer verzonden naar de NAT-router om via internet naar Host 200.200.200.201 te worden geleid. De NAT-router vertaalt het bron-IP (SRC IP) 100.100.100.101 naar een nieuwe bron-IP 1.1.1.2. De NAT-router voert een Source Network Address Translation (SNAT) uit waarbij het interne privéadres van 100.100.100.101 wordt vertaald naar het externe adres van 1.1.1.2. De NAT-router voert een Destination Network Address Translation (DNAT) uit voor het retourverkeer van host 200.200.200.201 terug naar netwerk A naar host 100.100.100.101. Dezelfde NAT-vertaling vindt plaats voor PC2-communicatie met PC3.

Afbeelding 2: Voorbeeld van dynamische netwerkadresvertaling
- Configureer de NAT-zones:
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
- NAT inschakelen:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Maak een NAT-groep:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Maak een NAT-binding:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
NAT-configuratie weergeven
Gebruik deze opdrachten om de NAT-configuratie en -bewerking en NAT-tabelvermeldingen weer te geven.
- Nat-vertalingstabel weergeven:
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 ----
- Nat-vertalingsvermeldingen wissen:
DELLSONiC# clear nat translations
- Nat-vertaalstatistieken weergeven:
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- NAT- en NAT-configuratie weergeven:
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 ---- ----
- NAT-pools weergeven:
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 ----
- NAT-bindingsconfiguratie weergeven:
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Algemene NAT-configuratie weergeven:
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- L3-interfacezones weergeven:
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
NAT-vertalingsaantallen weergeven:
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