Dell Networking SONiC: Network Address Translation (NAT)
Zusammenfassung: In diesem Artikel wird die Network Address Translation (NAT) in Dell Networking SONiC erläutert. Dieser Artikel verwendet einen Switch, auf dem Dell SONiC 4.1 ausgeführt wird.
Weisungen
|
Voraussetzungen
Die Standardschnittstellenbenennung wird verwendet, um die Konzepte zu demonstrieren. Siehe Dell Artikel 202172, Dell Networking S-Serie: Grundlegende Schnittstellenkonfiguration – SONiC 4.0 für weitere Informationen zur Schnittstellenbenennung |
Index
- Einführung
- NAT aktivieren
- NAT-Konfigurationsreihenfolge
- NAT-Zonen
- Statischer NAT-Eintrag
- Statisches NAT-Beispiel
- Dynamisches NAT
- NAT-Adressenpool
- NAT-Bindung
- Dynamisches NAT-Timeout
- Dynamisches NAT-Beispiel
- Befehle zum Anzeigen der NAT-Konfiguration
Einführung
Network Address Translation ermöglicht den Prozess, der Geräten, die auf Ressourcen außerhalb des Netzwerks zugreifen, eine öffentliche IP-Adresse zuweist. NAT spart die IP-Adressnutzung im lokalen Netzwerk.
NAT ist innerhalb des Netzwerks nicht erforderlich, um den Datenverkehr zwischen privaten IP-Adressen zu leiten. Ein NAT-Gateway übersetzt die privaten IP-Adressen lokaler Netzwerkgeräte in eine global eindeutige öffentliche IP-Adresse, wenn sie mit Remotegeräten kommunizieren.
NAT aktivieren
So aktivieren Sie NAT und geben Nat-Konfigurationsbefehle im NAT-Konfigurationsmodus ein:- So aktivieren Sie NAT:
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
So deaktivieren Sie NAT:
DELLSONiC(config-nat)# no enable
NAT-Konfigurationsreihenfolge
Nachdem NAT aktiviert wurde, können die folgenden Schritte in beliebiger Reihenfolge durchgeführt werden:- Konfigurieren von NAT-Zonen
- Hinzufügen eines statischen NAT-Eintrags
- Hinzufügen eines statischen NAT-Eintrags mit einem L4-Port
- Erstellen eines NAT-Adressenpools
- Konfigurieren der NAT-Bindung
- Konfigurieren eines dynamischen NAT-Timeouts
ERSTELLEN VON NAT-Zonen
So konfigurieren Sie eine NAT-Zone auf L3-Schnittstellen, sodass die NAT-Adressübersetzung auf Paketen durchgeführt wird, wenn ein Paket eine Zone auf konfigurierten Schnittstellen durchläuft. Eine NAT-Zone kann auf jeder Ethernet-, VLAN-, Portkanal- oder Loopback-Schnittstelle konfiguriert werden, die mit einer IP-Adresse konfiguriert ist. Der Bereich der NAT-Zonennummern liegt zwischen 0 und 3.Die Quellzone eines Pakets ist die Zone der eingehenden Schnittstelle, in der das Paket empfangen wird. Die Zielzone des Pakets ist die Zone der L3 Next-Hop-Schnittstelle über die L3-Routensuche der Zieladresse.
- Eingehender Datenverkehr, der auf einer Quellschnittstelle eingeht, wird mithilfe einer statischen DNAT-Übersetzung (Destination Network Address Translation) an L3 weitergeleitet.
- Ausgehender Datenverkehr, der auf einer Zielschnittstelle gesendet wird, wird dynamisch von Source Network Address Translation (SNAT) übersetzt.
- L3-Schnittstellen befinden sich standardmäßig in NAT-Zone 0. NAT-Zone 0 wird als zoneinnere Zone betrachtet.
- So erstellen Sie eine NAT-Zone:
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
-
Löschen Sie eine NAT-Zone:
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Erstellen Sie einen statischen NAT-Eintrag.
Um außerhalb des Netzwerks über das Internet zu kommunizieren, kann ein Benutzer manuell einen statischen NAT-Eintrag konfigurieren, um eine lokale IP-Adresse durch eine global eindeutige IP-Adresse zu ersetzen. Statische NATs können mit oder ohne L4-Portübersetzung erstellt werden. Statische NATs mit einer L4-Portreferenz können eine lokale IP-Adresse und eine TCP- oder UDP-Portnummer in eine globale IP-Adresse mit TCP- oder UDP-Portnummer übersetzen.- So erstellen Sie ein statisches NAT ohne L4-Portübersetzung:
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- Quell-NAT (SNAT): Übersetzt eine Quell-IP-Adresse im lokalen Netzwerk in eine globale IP-Adresse, die an ein externes Netzwerk gesendet wird. Remote-Geräte in externen Netzwerken verwenden die globale Adresse für den Zugriff auf das lokale Gerät.
- Ziel-NAT (DNAT) – Übersetzt eine Ziel-IP-Adresse in Paketen, die von einem externen Netzwerk empfangen werden und das lokale Netzwerk durchlaufen, in eine lokale IP-Adresse, die im lokalen Netzwerk verwendet wird. DNAT ist die Standardeinstellung.
- twice_nat_id-Wert: Führt die Adressübersetzung auf Quell- und Ziel-IP-Adressen für statische Einträge mit demselben Wert durch.
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
- So erstellen Sie ein statisches NAT mit L4-Portübersetzung:
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- Quell-NAT (SNAT) – Übersetzt eine Quell-IP-Adresse und einen TCP/UDP-Port im lokalen Netzwerk in eine globale IP-Adresse und einen TCP/UDP-Port, der an ein externes Netzwerk gesendet wird. Remote-Geräte in externen Netzwerken verwenden die globale Adresse und den L4-Port für den Zugriff auf das lokale Gerät.
- Ziel-NAT (DNAT) – Übersetzt eine Ziel-IP-Adresse und einen TCP/UDP-Port in Paketen, die von einem externen Netzwerk empfangen werden und das lokale Netzwerk durchlaufen, in eine lokale IP-Adresse und einen TCP/UDP-Port, der im lokalen Netzwerk verwendet wird. DNAT ist die Standardeinstellung.
- twice_nat_id Wert: Führt die Adressübersetzung sowohl auf Quell- als auch auf Ziel-IP-Adressen für statische Einträge mit demselben ID-Wert durch.
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
- Löschen Sie einen statischen NAT-Eintrag:
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
Statisches NAT-Beispiel
Das folgende Beispiel zeigt, dass Netzwerk A einen Router mit aktivierter NAT verwendet. Wenn Host 100.100.100.101 im LAN-Segment Datenverkehr an ein externes Ziel sendet (200.200.200.201), wird der Datenverkehr zum NAT-Router gesendet, der vom Internet in Richtung Host 200.200.200.201 geleitet wird. Der NAT-Router übersetzt die Quell-IP (SRC IP) 100.100.100.101 in eine neue Quell-IP 1.1.1.2. Der NAT-Router führt eine Source Network Address Translation (SNAT) durch, wobei die interne private Adresse von 100.100.100.101 in die externe Adresse von 1.1.1.2 übersetzt wird. Der NAT-Router führt eine DnsT (Destination Network Address Translation) für den Rückgabedatenverkehr von Host 200.200.200.201 zurück in Netzwerk A an Host 100.100.100.101 durch.
- Konfigurieren Sie die NAT-Zonen:
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 aktivieren:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Erstellen Sie ein statisches NAT ohne L4-Portübersetzung:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101
Erstellen Sie ein dynamisches NAT.
Dynamisches NAT ersetzt eine lokale Adresse durch eine Adresse aus einem Pool globaler Adressen.
Dynamische Übersetzung ist nützlich, wenn mehrere Benutzer in einem privaten Netzwerk auf das Internet zugreifen.
Konfigurieren des NAT-Adressenpools
Konfigurieren Sie einen Pool verfügbarer globaler Adressen, indem Sie den globalen IP-Adressbereich und optional den TCP/UDP-Portbereich definieren, der für die Übersetzung lokaler Adressen verwendet wird.
- Erstellen Sie einen NAT-Adressenpool:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Geben Sie den globalen IP-Adressbereich im Format ip-address-ip-address ein.
- Geben Sie den TCP/UDP-Portnummerbereich im Format port-number-port-number ein.
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
- Löschen Sie einen NAT-Adressenpool:
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Löschen Sie alle NAT-Adressenpools:
sonic(conf-nat)# no pools
Konfigurieren der NAT-Bindung
- Erstellen Sie eine NAT-Bindung an einen NAT-Adressenpool:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT – Übersetzt eine Quell-IP-Adresse in eine globale IP-Adresse im Pool. SNAT ist die Standardeinstellung in der NAT-Bindung.
- DNAT – Übersetzt eine Ziel-IP-Adresse in eine globale IP-Adresse im Pool.
- twice_nat_id Wert : Führt die Adressübersetzung auf Quell- und Ziel-IP-Adressen mithilfe des Adressenpools für statische Einträge durch, die denselben ID-Wert haben.
- acl-name – Um die IP-Adressen in einem globalen NAT-Adressenpool zu begrenzen, können Sie eine Zugriffskontrollliste (Access Control List, ACL) verwenden. Eine Genehmigungsaussage ermöglicht die IP-Adressen, für die die Attribute in der Genehmigungsregel konfiguriert sind. Eine Verweigerungsaussage verweigert Pakete, für die die Attribute in der Deny-Regel konfiguriert sind. In einer ACL ermöglicht der do_not_nat-Eintrag , dass Pakete geroutet statt übersetzt werden.
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
- Löschen einer NAT-Bindung:
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Löschen Sie alle NAT-Bindungen:
sonic(conf-nat)# no bindings
Konfigurieren von dynamischem NAT-Timeout
Standardmäßig gibt es nur ein Timeout für dynamische Adressübersetzungskonfigurationen nach 10 Minuten (600 Sekunden), wenn kein aktiver Datenverkehr
vorhanden ist. Es gibt kein Timeout für statische NAT-Einträge. Um den dynamischen NAT-Timeout-Wert zu ändern, geben Sie einen neuen Wert in Sekunden an (300 auf 432000).
- Timeout für dynamische Adressübersetzungskonfigurationen ändern:
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
Die NAT-Eingabe-Timeouts für L4-UDP- und TCP-NAT-Einträge können ebenfalls angepasst werden.
Um das TCP-Timeout für die Adressübersetzung zu ändern, geben Sie einen neuen Timeout-Wert in Sekunden ein (300 auf 432000; Standardeinstellung 86400). Um das UDP-Timeout für die Adressübersetzung zu ändern, geben Sie einen neuen Wert in Sekunden ein (120 bis 600; Standardeinstellung 300).
- Ändern Sie die Konfigurationen für die dynamische Adressübersetzung UDP/TCP-Timeout:
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
Dynamisches NAT-Beispiel
Das folgende Beispiel zeigt, dass Netzwerk A einen Router mit aktivierter NAT verwendet. Wenn Host 100.100.100.101 im LAN-Segment Datenverkehr an ein externes Ziel sendet (200.200.200.201), wird der Datenverkehr zum NAT-Router gesendet, der vom Internet in Richtung Host 200.200.200.201 geleitet wird. Der NAT-Router übersetzt die Quell-IP (SRC IP) 100.100.100.101 in eine neue Quell-IP 1.1.1.2. Der NAT-Router führt eine Source Network Address Translation (SNAT) durch, wobei die interne private Adresse von 100.100.100.101 in die externe Adresse von 1.1.1.2 übersetzt wird. Der NAT-Router führt eine DnsT (Destination Network Address Translation) für den Rückgabedatenverkehr von Host 200.200.200.201 zurück in Netzwerk A an Host 100.100.100.101 durch. Dieselbe NAT-Übersetzung erfolgt für die PC2-Kommunikation mit PC3.

Abbildung 2: Beispiel für eine dynamische Netzwerkadressenübersetzung
- Konfigurieren Sie die NAT-Zonen:
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 aktivieren:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Erstellen Sie einen NAT-Pool:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Erstellen Sie eine NAT-Bindung:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
Anzeigen der NAT-Konfiguration
Verwenden Sie diese Befehle, um die NAT-Konfigurations- und -Vorgangs- und NAT-Tabelleneinträge anzuzeigen.
- Anzeigen der NAT-Übersetzungstabelle:
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 ----
- So löschen Sie NAT-Übersetzungseinträge:
DELLSONiC# clear nat translations
- Anzeigen von NAT-Übersetzungsstatistiken:
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- Anzeigen der NAT- und NAT-Konfiguration:
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 ---- ----
- Anzeigen von NAT-Pools:
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 ----
- Anzeigen der NAT-Bindungskonfiguration:
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Anzeigen der globalen NAT-Konfiguration:
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- Anzeigen von L3-Schnittstellenzonen:
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
Anzeigen der NAT-Übersetzungsanzahl:
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