SONiC Dell Networking : Nat (Network Address Translation)
Résumé: Cet article décrit la traduction d’adresses réseau (NAT) dans Dell Networking SONiC. Cet article utilise un commutateur exécutant Dell SONiC 4.1.
Instructions
|
Configuration requise
La dénomination de l’interface standard est utilisée pour démontrer les concepts. Reportez-vous à l’article Dell 202172, Dell Networking série S : Configuration de l’interface de base - SONiC 4.0 pour plus d’informations sur la dénomination des interfaces |
Index
- Introduction
- Activer NAT
- Commande de configuration NAT
- NAT Zones
- Saisie NAT statique
- Exemple NAT statique
- NAT dynamique
- Pool d’adresses NAT
- Liaison NAT
- Délai d’expiration NAT dynamique
- Exemple NAT dynamique
- Commandes d’affichage de la configuration NAT
Introduction
Network Address Translation active le processus qui attribue une adresse IP publique aux périphériques qui accèdent aux ressources en dehors du réseau. NAT conserve l’utilisation de l’adresse IP sur le réseau local.
Le NAT n’est pas requis dans le réseau pour acheminer le trafic entre les adresses IP privées. Une passerelle NAT convertit les adresses IP privées des périphériques réseau locaux en adresses IP publiques globalement uniques lorsqu’ils communiquent avec des périphériques distants.
Activer NAT
Pour activer NAT et saisir les commandes de configuration NAT en mode de configuration NAT :- Pour activer NAT :
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
Pour désactiver NAT :
DELLSONiC(config-nat)# no enable
Commande de configuration NAT
Une fois nat activé, les étapes suivantes peuvent être effectuées dans n’importe quel ordre :- Configurer des zones NAT
- Ajouter une entrée NAT statique
- Ajouter une entrée NAT statique avec un port L4
- Créer un pool d’adresses NAT
- Configurer la liaison NAT
- Configurer un délai d’expiration NAT dynamique
Créer des zones NAT
Pour configurer une zone NAT sur les interfaces L3 afin que la traduction de l’adresse NAT soit effectuée sur les paquets lorsqu’un paquet traverse une zone sur les interfaces configurées. Une zone NAT peut être configurée sur n’importe quelle interface Ethernet, VLAN, canal de port ou loopback configurée avec une adresse IP. La plage de numéros de zone NAT est comprise entre 0 et 3.La zone source d’un paquet est la zone de l’interface entrante sur laquelle le paquet est reçu. La zone de destination du paquet est la zone de l’interface de saut suivant L3 à partir de la recherche de route L3 de l’adresse de destination.
- Le trafic entrant entrant sur une interface source est transmis par L3 à l’aide de la traduction statique DNAT (Destination Network Address Translation).
- Le trafic sortant envoyé sur une interface de destination est traduit de manière dynamique par la traduction d’adresses réseau source (SNAT).
- Par défaut, les interfaces L3 se trouvent dans la zone NAT 0. La zone NAT 0 est considérée comme une zone interne.
- Pour créer une zone 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
-
Supprimer une zone NAT :
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Créez une entrée NAT statique.
Pour communiquer en dehors du réseau via Internet, un utilisateur peut configurer manuellement une entrée NAT statique pour remplacer une adresse IP locale par une adresse IP globalement unique. Les TNT statiques peuvent être créées avec ou sans traduction de port L4. Les TNT statiques avec référence de port L4 peuvent convertir une adresse IP locale et un numéro de port TCP ou UDP en adresse IP globale avec le numéro de port TCP ou UDP.- Pour créer un NAT statique sans traduction de port L4 :
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- NAT source (SNAT) : convertit une adresse IP source du réseau local en une adresse IP globale envoyée à un réseau externe. Les périphériques distants situés en dehors des réseaux utilisent l’adresse globale pour accéder au périphérique local.
- Nat de destination (DNAT) : convertit une adresse IP de destination en paquets, qui sont reçus d’un réseau externe et traversent le réseau local, en une adresse IP locale utilisée dans le réseau local. DNAT est la valeur par défaut.
- twice_nat_id valeur : effectue la traduction d’adresses sur les adresses IP source et de destination pour les entrées statiques qui ont la même valeur.
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
- Pour créer un NAT statique avec traduction de port L4 :
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- NAT source (SNAT) : convertit une adresse IP source et un port TCP/UDP du réseau local en une adresse IP globale et un port TCP/UDP envoyés à un réseau externe. Les périphériques distants situés en dehors des réseaux utilisent l’adresse globale et le port L4 pour accéder au périphérique local.
- NAT de destination (DNAT) : convertit une adresse IP de destination et un port TCP/UDP en paquets, qui sont reçus d’un réseau externe et traversent le réseau local, en une adresse IP locale et un port TCP/UDP utilisés dans le réseau local. DNAT est la valeur par défaut.
- twice_nat_id valeur : effectue la traduction d’adresses sur les adresses IP source et de destination pour les entrées statiques qui ont la même valeur d’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
- Supprimez une entrée statique 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
Exemple NAT statique
L’exemple ci-dessous montre que le réseau A utilise un routeur avec NAT activé. Lorsque l’hôte 100.100.100.101 sur le segment LAN envoie le trafic vers une destination externe (200.200.200.201), le trafic est envoyé vers le routeur NAT pour être acheminé vers l’hôte 200.200.200.201 à partir d’Internet. Le routeur NAT convertit l’adresse IP source (IP SRC) 100.100.100.101 en une nouvelle adresse IP source 1.1.1.2. Le routeur NAT effectue une traduction d’adresses réseau source (SNAT) où l’adresse privée interne de 100.100.100.101 est traduite vers l’adresse externe 1.1.1.2. Le routeur NAT effectue une traduction d’adresses réseau de destination (DNAT) pour le trafic de retour de l’hôte 200.200.200.201 vers le réseau A vers l’hôte 100.100.100.101.
- Configurez les zones 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
-
Activez NAT :
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Créez un NAT statique sans traduction de port L4 :
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# static basic 1.1.1.2 100.100.100.101
Créez un NAT dynamique.
Le NAT dynamique remplace une adresse locale par une adresse provenant d’un pool d’adresses globales.
La traduction dynamique est utile lorsque plusieurs utilisateurs sur un réseau privé accèdent à Internet.
Configurer le pool d’adresses NAT
Configurez un pool d’adresses globales disponibles en définissant la plage d’adresses IP globale et éventuellement la plage de ports TCP/UDP utilisée pour la traduction d’adresses locales.
- Créez un pool d’adresses NAT :
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Saisissez la plage d’adresses IP globale au format ip-address-ip-address.
- Saisissez la plage de numéros de port TCP/UDP au format 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
- Supprimez un pool d’adresses NAT :
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Supprimez tous les pools d’adresses NAT :
sonic(conf-nat)# no pools
Configurer la liaison NAT
- Créez une liaison NAT dans un pool d’adresses NAT :
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT : convertit une adresse IP source en adresse IP globale dans le pool. SNAT est le paramètre par défaut dans la liaison NAT.
- DNAT : convertit une adresse IP de destination en adresse IP globale dans le pool.
- twice_nat_id valeur : effectue la traduction d’adresses sur les adresses IP source et de destination à l’aide du pool d’adresses pour les entrées statiques qui ont la même valeur d’ID.
- acl-name : pour limiter les adresses IP d’un pool d’adresses NAT global, vous pouvez utiliser une liste de contrôle d’accès (ACL). Une instruction d’autorisation autorise les adresses IP dont les attributs sont configurés dans la règle d’autorisation. Une instruction de refus refuse les paquets dont les attributs sont configurés dans la règle de refus. Dans une ACL, l’entrée do_not_nat permet d’acheminer les paquets au lieu de les traduire.
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
- Supprimer une liaison NAT :
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Supprimez toutes les liaisons NAT :
sonic(conf-nat)# no bindings
Configurer le délai d’expiration NAT dynamique
Par défaut, seules les configurations de traduction d’adresses dynamiques expirent après 10 minutes (600 secondes) sans trafic
actif. Il n’y a pas de délai d’expiration pour les entrées NAT statiques. Pour modifier la valeur du délai d’expiration NAT dynamique, spécifiez une nouvelle valeur en secondes (300 à 43 2000).
- Modifier le délai d’expiration des configurations de traduction d’adresses dynamiques :
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
Les délais d’expiration d’entrée NAT pour les entrées UDP et TCP NAT L4 peuvent également être ajustés.
Pour modifier le délai d’expiration TCP pour la traduction d’adresses, saisissez une nouvelle valeur d’expiration du délai en secondes (300 à 43 2000 ; valeur par défaut 86 400). Pour modifier le délai d’expiration UDP pour la traduction d’adresses, saisissez une nouvelle valeur en secondes (120 à 600 ; 300 par défaut).
- Modifier le délai d’expiration UDP/TCP des configurations de traduction d’adresses dynamiques :
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
Exemple NAT dynamique
L’exemple ci-dessous montre que le réseau A utilise un routeur avec NAT activé. Lorsque l’hôte 100.100.100.101 sur le segment LAN envoie le trafic vers une destination externe (200.200.200.201), le trafic est envoyé vers le routeur NAT pour être acheminé vers l’hôte 200.200.200.201 à partir d’Internet. Le routeur NAT convertit l’adresse IP source (IP SRC) 100.100.100.101 en une nouvelle adresse IP source 1.1.1.2. Le routeur NAT effectue une traduction d’adresses réseau source (SNAT) où l’adresse privée interne de 100.100.100.101 est traduite vers l’adresse externe 1.1.1.2. Le routeur NAT effectue une traduction d’adresses réseau de destination (DNAT) pour le trafic de retour de l’hôte 200.200.200.201 vers le réseau A vers l’hôte 100.100.100.101. La même traduction NAT se produit pour la communication PC2 avec PC3.

Figure 2 : Exemple de traduction d’adresses réseau dynamiques
- Configurez les zones 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
- Activez NAT :
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Créez un pool NAT :
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Créer une liaison NAT :
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
Afficher la configuration NAT
Utilisez ces commandes pour afficher la configuration et l’opération NAT et les entrées du tableau NAT.
- Afficher le tableau de traduction 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 ----
- Pour effacer les entrées de traduction NAT :
DELLSONiC# clear nat translations
- Afficher les statistiques de traduction NAT :
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- Afficher la configuration NAT et 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 ---- ----
- Afficher les pools 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 ----
- Afficher la configuration de liaison NAT :
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Afficher la configuration NAT globale :
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- Afficher les zones d’interface L3 :
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
Afficher le nombre de traductions 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