SONiC do Dell Networking: Nat (Network Address Translation, conversão de endereço de rede)
Resumo: Este artigo explica sobre a Nat (Network Address Translation, conversão de endereço de rede) no Dell Networking SONiC. Este artigo usa um comutador que executa o Dell SONiC 4.1.
Instruções
|
Pré-requisitos
A nomenclatura de interface padrão é usada para demonstrar os conceitos. Consulte o artigo da Dell 202172, Dell Networking Série S: Configuração básica de interface - SONiC 4.0 para obter mais informações sobre nomenclatura de interface |
Índice
- Introdução
- Habilitar NAT
- Ordem de configuração nat
- Zonas NAT
- Entrada de NAT estática
- Exemplo de NAT estático
- NAT dinâmico
- Pool de endereços NAT
- Vinculação nat
- Timeout dinâmico de NAT
- Exemplo de NAT dinâmico
- Comandos nat configuration show
Introdução
Network Address Translation permite o processo que atribui um endereço IP público a dispositivos que acessam recursos fora da rede. A NAT conserva o uso de endereços IP na rede local.
NAT não é necessária na rede para rotear o tráfego entre endereços IP privados. Um gateway NAT converte os endereços IP privados dos dispositivos de rede local em um endereço IP público globalmente exclusivo quando eles se comunicam com dispositivos remotos.
Habilitar NAT
Para habilitar NAT e inserir comandos de configuração NAT no modo de configuração NAT:- Para habilitar NAT:
sonic(config-nat)# enable admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
-
Para desativar a NAT:
DELLSONiC(config-nat)# no enable
Ordem de configuração nat
Após a ativação da NAT, as seguintes etapas podem ser concluídas em qualquer ordem:- Configurar zonas NAT
- Adicionar uma entrada NAT estática
- Adicionar uma entrada NAT estática com uma porta L4
- Criar um pool de endereços NAT
- Configurar vinculação NAT
- Configurar um timeout de NAT dinâmico
Criar zonas NAT
Para configurar uma zona NAT em interfaces L3 para que a conversão de endereços NAT seja realizada em pacotes quando um pacote atravessa uma zona em interfaces configuradas. Uma zona NAT pode ser configurada em qualquer interface Ethernet, VLAN, port channel ou loopback configurada com um endereço IP. O intervalo de números de zona NAT é de 0 a 3.A zona de origem de um pacote é a zona da interface de entrada na qual o pacote é recebido. A zona de destino do pacote é a zona da interface de próximo nó de rede L3 da pesquisa de rota L3 do endereço de destino.
- O tráfego de entrada que entra em uma interface de origem é encaminhado pelo L3 usando a tradução estática DNAT (Destination Network Address Translation).
- O tráfego de saída enviado em uma interface de destino é traduzido dinamicamente para Source Network Address Translation (SNAT).
- As interfaces L3 estão na zona NAT 0 por padrão. A zona 0 nat é considerada uma zona interna.
- Para criar uma 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
-
Excluir uma zona NAT:
sonic(conf-if-interface)# no nat-zone <0..3> DELLSONiC (conf-if-lo1)# no nat-zone 2
Crie uma entrada NAT estática.
Para se comunicar fora da rede pela Internet, um usuário pode configurar manualmente uma entrada NAT estática para substituir um endereço IP local por um endereço IP globalmente exclusivo. Os NATs estáticos podem ser criados com ou sem tradução de porta L4. Os NATs estáticos com uma referência de porta L4 podem traduzir um endereço IP local e um número de porta TCP ou UDP em um endereço IP global com o número da porta TCP ou UDP.- Para criar uma NAT estática sem conversão de porta L4:
sonic(conf-nat)# static basic global-ip local-ip [snat | dnat] [twice_nat_id value]
- NAT de origem (SNAT) - Traduz um endereço IP de origem na rede local para um endereço IP global enviado para uma rede externa. Dispositivos remotos em redes externas usam o endereço global para acessar o dispositivo local.
- NAT de destino (DNAT): traduz um endereço IP de destino em pacotes que são recebidos de uma rede externa e atravessam a rede local em um endereço IP local usado na rede local. DNAT é o padrão.
- twice_nat_id valor — realiza a conversão de endereços em endereços IP de origem e destino para entradas estáticas que têm o mesmo valor.
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
- Para criar um NAT estático com conversão de porta L4:
sonic(conf-nat)# static {tcp | udp} global-ip global-port local-ip local-port [snat | dnat] [twice_nat_id value]
- NAT de origem (SNAT): traduz um endereço IP de origem e uma porta TCP/UDP na rede local em um endereço IP global e uma porta TCP/UDP que é enviada para uma rede externa. Os dispositivos remotos em redes externas usam o endereço global e a porta L4 para acessar o dispositivo local.
- NAT de destino (DNAT): traduz um endereço IP de destino e uma porta TCP/UDP em pacotes, que são recebidos de uma rede externa e atravessam a rede local em um endereço IP local e a porta TCP/UDP usada na rede local. DNAT é o padrão.
- twice_nat_id valor — realiza a conversão de endereços em endereços IP de origem e destino para entradas estáticas que têm o mesmo valor de 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
- Excluir uma entrada estática 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
Exemplo de NAT estático
O exemplo a seguir mostra que a rede A usa um roteador com NAT ativado. Quando o host 100.100.100.101 no segmento lan envia tráfego para um destino externo (200.200.200.201), o tráfego é enviado em direção ao roteador NAT para ser roteado para o host 200.200.200.201 a partir da Internet. O roteador NAT converte o IP de origem (IP do SRC) 100.100.100.101 para um novo IP de origem 1.1.1.2. O roteador NAT está realizando uma conversão de endereço de rede de origem (SNAT) em que o endereço privado interno 100.100.100.101 é traduzido para o endereço externo 1.1.1.2. O roteador NAT executa uma DNAT (Destination Network Address Translation) para o tráfego de devolução do host 200.200.200.201 de volta à rede A para o host 100.100.100.101.
- Configure as zonas 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
-
Habilitar NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Crie um NAT estático sem conversão de 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
Crie um NAT dinâmico.
A NAT dinâmica substitui um endereço local por um endereço de um pool de endereços globais.
A tradução dinâmica é útil quando vários usuários de uma rede privada acessam a Internet.
Configurar o pool de endereços NAT
Configure um pool de endereços globais disponíveis definindo o intervalo global de endereços IP e, opcionalmente, o intervalo de portas TCP/UDP usado para tradução de endereço local.
- Criar pool de endereços NAT:
sonic(conf-nat)# pool pool-name global-ip-range [global-port-range]
- Digite o intervalo de endereços IP globais no formato ip-address-ip-address.
- Digite o intervalo de números da porta TCP/UDP no 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
- Excluir um pool de endereços NAT:
sonic(conf-nat)# no pool pool-name DELLSONiC(config-nat)# no pool Pool1
- Exclua todos os pools de endereços NAT:
sonic(conf-nat)# no pools
Configurar vinculação NAT
- Crie uma vinculação NAT a um pool de endereços NAT:
sonic(conf-nat)# binding binding-name pool-name [acl-name] [snat | dnat] [twice_nat_id value]
- SNAT - Traduz um endereço IP de origem para um endereço IP global no pool. SNAT é a configuração padrão na vinculação NAT.
- DNAT - Traduz um endereço IP de destino para um endereço IP global no pool.
- twice_nat_id valor — realiza a conversão de endereços em endereços IP de origem e destino usando o pool de endereços para entradas estáticas que têm o mesmo valor de ID.
- acl-name — para limitar os endereços IP em um pool global de endereços NAT, você pode usar uma lista de controle de acesso (ACL). Uma declaração de permissão permite os endereços IP que têm os atributos configurados na regra de permissão. Uma declaração de negação nega os pacotes que têm os atributos configurados na regra de negação. Em uma ACL, a do_not_nat permite que os pacotes sejam roteados em vez de traduzidos.
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
- Excluir uma vinculação NAT:
sonic(conf-nat)# no binding binding-name DELLSONiC(config-nat)# no binding Bind1
- Exclua todas as vinculações NAT:
sonic(conf-nat)# no bindings
Configurar o timeout de NAT dinâmico
Por padrão, somente o timeout das configurações dinâmicas de conversão de endereços após 10 minutos (600 segundos)
de não ter tráfego ativo Não há tempo limite para entradas NAT estáticas. Para alterar o valor de timeout de NAT dinâmico, especifique um novo valor em segundos (300 para 432000).
- Tempo limite das configurações dinâmicas de conversão de endereço:
sonic(conf-nat)# timeout <300..432000> admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# timeout 1200
Os tempos limite de entrada nat para entradas UDP L4 e TCP NAT também podem ser ajustados.
Para alterar o timeout do TCP para conversão de endereços, digite um novo valor de timeout em segundos (300 para 432000; padrão 86400). Para alterar o tempo limite do UDP para conversão de endereços, digite um novo valor em segundos (120 a 600; padrão 300).
- Modificar configurações dinâmicas de conversão de endereço 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
Exemplo de NAT dinâmico
O exemplo a seguir mostra que a rede A usa um roteador com NAT ativado. Quando o host 100.100.100.101 no segmento lan envia tráfego para um destino externo (200.200.200.201), o tráfego é enviado em direção ao roteador NAT para ser roteado para o host 200.200.200.201 a partir da Internet. O roteador NAT converte o IP de origem (IP do SRC) 100.100.100.101 para um novo IP de origem 1.1.1.2. O roteador NAT está realizando uma conversão de endereço de rede de origem (SNAT) em que o endereço privado interno 100.100.100.101 é traduzido para o endereço externo 1.1.1.2. O roteador NAT executa uma DNAT (Destination Network Address Translation) para o tráfego de devolução do host 200.200.200.201 de volta à rede A para o host 100.100.100.101. A mesma conversão NAT ocorre para comunicação pc2 com PC3.

Figura 2: Exemplo de conversão de endereço de rede dinâmico
- Configure as zonas 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
- Habilitar NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# enable
- Crie um pool NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# pool Pool1 1.1.1.2
- Criar uma vinculação NAT:
admin@DELLSONiC:~$ sonic-cli DELLSONiC# configure terminal DELLSONiC(config)# nat DELLSONiC(config-nat)# binding Bind1 Pool1
Exibir configuração nat
Use esses comandos para exibir as entradas de configuração e operação NAT e da tabela NAT.
- Visualize a tabela de conversão 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 ----
- Para limpar entradas de conversão NAT:
DELLSONiC# clear nat translations
- Exibir estatísticas de conversão NAT:
DELLSONiC# show nat statistics ----------------------------------------------------------------------------- Protocol Source Destination Packets Bytes ----------------------------------------------------------------------------- udp 100.100.100.100:63 --- 15522575563164 993444836042496
- Exibir configuração 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 ---- ----
- Exibir 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 ----
- Exibir configuração de vinculação NAT:
DELLSONiC# show nat config bindings Binding Name Pool Name Access-List Nat Type Twice-Nat Id ----------------------------------------------------------------------------- EXT1 POOL1 ---- ---- --- EXT2 POOL2 NAT_IPS ---- ---
- Exibir configuração global de NAT:
DELLSONiC# show nat config globalvalues Admin Mode : enabled Global Timeout : 600 secs TCP Timeout : 86400 secs UDP Timeout : 300 secs
- Exibir zonas de interface L3:
DELLSONiC# show nat config zones Port Zone ------------------------------------------------- Eth1/1 2 PortChannel12 2 Vlan200 1 Loopback1 1
-
Visualizar contagens de conversão 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