NAT em linha
Visão geral da Network Address Translation em linha
O NAT em linha usa os recursos da placa de linha MPC, eliminando a necessidade de uma placa de serviços para o NAT. Consequentemente, você pode obter traduções de endereços de taxa de linha e baixa latência (até 120 Gbps por slot). A implementação atual prevê:
-
Mapeamento de endereços estáticos 1:1.
-
Mapeamento bidirecional - NAT de origem para tráfego de saída e NAT de destino para tráfego de entrada.
-
Sem limite de número de fluxos.
-
Suporte para origem, destino e duas vezes NAT, conforme mostrado na Figura 1. O NAT embutido suporta o tipo
basic-nat44de tradução . A partir do Junos OS Release 15.1R1, o NAT em linha também oferece suporte atwice-basic-nat-44. -
Suporte para hairpinning.
de NAT em linha com suporte
Para configurar o NAT em linha, defina sua interface de serviço como tipo si- (service-inline). Você também deve reservar largura de banda adequada para a interface em linha. Isso permite que você configure conjuntos de serviços de interface ou next-hop usados para NAT. A si- interface serve como um "PIC de serviço virtual".
-
Apenas o NAT estático é suportado. Não há suporte para tradução de portas, NAT dinâmico e ALGs. Portanto, aplicativos como SIP ou FTP Active Mode, que exigem processamento avançado para NAT, não funcionam. UM MS-MPC, MS-MIC, MS-DPC ou MS-PIC ainda é necessário para qualquer processamento de firewall stateful, suporte a ALG e tradução dinâmica de portas.
-
O NAT em linha não dá suporte à amostragem ou ao registro de pacotes.
Benefícios do NAT em linha
-
Elimina a necessidade de um cartão de serviços
-
Oferece suporte a mais fluxos NAT do que uma placa de serviços
Veja também
Exemplo: configuração da Network Address Translation em linha — método baseado em interface
Este exemplo de configuração ilustra como configurar a tradução de endereços de rede (NAT) em linha baseada em interface em dispositivos da Série MX usando si- interfaces (em linha de serviço) com conjuntos de serviços no estilo de interface.
Este tópico aborda:
- Requerimentos
- Visão geral e topologia
- Configuração para Inline Network Address Translation
- Verificação
- Configuração para Twice NAT
- Configuração para NAT de destino
Requerimentos
Este exemplo usa os seguintes componentes de hardware e software:
-
Roteador da Série MX com uma placa de linha do Concentrador Modular de Portas (MPC)
-
Junos OS versão 11.4R1 ou superior
Visão geral e topologia
A partir do Junos OS Release 11.4R1, as placas de linha MPC podem realizar alguns serviços sem a necessidade de uma placa de serviços dedicada, como um MS-MPC. Os serviços em linha geralmente fornecem melhor desempenho do que o uso de uma placa de serviços, no entanto, sua funcionalidade tende a ser mais básica. Por exemplo, o NAT embutido dá suporte apenas ao NAT estático.
Neste exemplo, um dispositivo da Série MX com uma placa de linha MPC fornece serviços NAT de origem em linha para o tráfego que flui entre dois hosts finais. A topologia para esse cenário é mostrada na Figura 2
Como mostrado na figura, o host H1 envia tráfego para o servidor S1. O dispositivo da Série MX executa NAT de origem para converter o endereço IP de origem de H1 de 10.1.1.2 para 192.0.2.2. O servidor S1 então envia o tráfego de retorno para o host H1 usando o endereço IP de destino 192.0.2.2, e o dispositivo da Série MX reverte o endereço IP de H1 de volta para 10.1.1.2.
Os seguintes elementos de configuração são usados neste cenário:
-
Interface de serviço em linha — uma interface virtual que reside no Mecanismo de Encaminhamento de Pacotes do MPC. Para acessar serviços, o tráfego flui para dentro e para fora dessas
si-interfaces (em linha). -
Conjunto de serviços — define o(s) serviço(s) a ser(em) executado(s) e identifica quais interfaces embutidas alimentarão o tráfego para dentro e para fora do conjunto de serviços. Há duas maneiras de implementar conjuntos de serviços:
-
Estilo de interface — um método baseado em interface, onde os pacotes que chegam a uma interface são encaminhados através do serviço em linha.
-
Estilo next-hop — um método baseado em rota, onde rotas estáticas são usadas para encaminhar pacotes destinados a um destino específico por meio do serviço em linha.
Este exemplo usa o conjunto de serviços de estilo de interface.
-
-
Regra NAT — usa uma estrutura if-then (semelhante aos filtros de firewall) para definir condições correspondentes e, em seguida, aplicar a conversão de endereços ao tráfego correspondente.
-
Pool de NAT — um conjunto definido pelo usuário de endereços IP que são usados pela regra NAT para tradução.
Esses elementos se juntam conforme mostrado na Figura 3
de fonte em linha baseada em interface
Configuração para Inline Network Address Translation
Para configurar o NAT em linha usando um conjunto de serviços de estilo de interface, execute estas tarefas:
- Configuração rápida da CLI
- Habilitar serviços em linha e criar uma interface em linha
- Configurar regra e pool de NAT
- Configurar o conjunto de serviços (estilo de interface)
- Configurar interfaces físicas
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.
## Enable inline services, create an si- interface, reserve bandwidth ## set chassis fpc 0 pic 0 inline-services bandwidth 1g set interfaces si-0/0/0 unit 0 family inet ## Configure a NAT rule and pool ## set services nat rule SRC-NAT1 match-direction input set services nat rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 set services nat rule SRC-NAT1 term r1 then translated translation-type basic-nat44 set services nat rule SRC-NAT1 term r1 then translated source-pool p1 set services nat pool p1 address 192.0.2.0/24 ## Configure the (interface-style) service set ## set services service-set INT-STYLE-SS-NAT1 nat-rules SRC-NAT1 set services service-set INT-STYLE-SS-NAT1 interface-service service-interface si-0/0/0.0 ## Configure interfaces ## set interfaces xe-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-0/0/0 description INSIDE set interfaces xe-1/0/0 unit 0 family inet address 192.168.1.1/24 set interfaces xe-1/0/0 description OUTSIDE set interfaces xe-0/0/0 unit 0 family inet service input service-set INT-STYLE-SS-NAT1 set interfaces xe-0/0/0 unit 0 family inet service output service-set INT-STYLE-SS-NAT1
Habilitar serviços em linha e criar uma interface em linha
Procedimento passo a passo
Habilite serviços em linha para o slot FPC e o slot PIC relevantes e defina a quantidade de largura de banda a ser dedicada aos serviços em linha.
As configurações de FPC e PIC aqui criarão e mapearão para uma
si-interface.[edit chassis fpc 0 pic 0] user@MX# set inline-services bandwidth 1g
Na
si-interface, especifique a família (ou famílias) de protocolo que precisará de serviços NAT.Observação:As configurações de FPC e PIC aqui devem corresponder às configurações definidas acima.
[edit interfaces si-0/0/0] user@MX# set unit 0 family inet
Configurar regra e pool de NAT
Procedimento passo a passo
Configure uma regra NAT que corresponda ao tráfego que chega ao dispositivo MX da sub-rede H1 (10.1.1.0/24), converta-a usando NAT IPv4 básico e use um endereço IP do pool
p1.[edit services nat] user@MX# set rule SRC-NAT1 match-direction input user@MX# set rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 user@MX# set rule SRC-NAT1 term r1 then translated translation-type basic-nat44 user@MX# set rule SRC-NAT1 term r1 then translated source-pool p1
Configure o pool de NAT.
[edit services nat] user@MX# set pool p1 address 192.0.2.0/24
Configurar o conjunto de serviços (estilo de interface)
Procedimento passo a passo
Configure um conjunto de serviços que use o serviço NAT embutido (
nat-rules) e a interface embutida definida acima. Use ointerface-serviceparâmetro para especificar que este é um conjunto de serviços de estilo de interface.O tráfego entrará e sairá da
si-interface para acessar o serviço NAT em linha.[edit services] user@MX# set service-set INT-STYLE-SS-NAT1 nat-rules SRC-NAT1 user@MX# set service-set INT-STYLE-SS-NAT1 interface-service service-interface si-0/0/0.0
Configurar interfaces físicas
Procedimento passo a passo
Configure as interfaces físicas.
[edit interfaces] user@MX# set xe-0/0/0 unit 0 family inet address 10.1.1.1/24 user@MX# set xe-0/0/0 description INSIDE user@MX# set xe-1/0/0 unit 0 family inet address 192.168.1.1/24 user@MX# set xe-1/0/0 description OUTSIDE
Na interface 'interna', especifique que o tráfego será enviado por meio do conjunto de serviços definido acima.
[edit interfaces xe-0/0/0 unit 0] user@MX# set family inet service input service-set INT-STYLE-SS-NAT1 user@MX# set family inet service output service-set INT-STYLE-SS-NAT1
Resultados
chassis {
fpc 0 {
pic 0 {
inline-services {
bandwidth 1g;
}
}
}
}
services {
service-set INT-STYLE-SS-NAT1 {
nat-rules SRC-NAT1;
interface-service {
service-interface si-0/0/0.0;
}
}
nat {
pool p1 {
address 192.0.2.0/24;
}
rule SRC-NAT1 {
match-direction input;
term r1 {
from {
source-address {
10.1.1.0/24;
}
}
then {
translated {
source-pool p1;
translation-type {
basic-nat44;
}
}
}
}
}
}
}
interfaces {
si-0/0/0 {
unit 0 {
family inet;
}
}
xe-0/0/0 {
description INSIDE;
unit 0 {
family inet {
service {
input {
service-set INT-STYLE-SS-NAT1;
}
output {
service-set INT-STYLE-SS-NAT1;
}
}
address 10.1.1.1/24;
}
}
}
xe-1/0/0 {
description OUTSIDE;
unit 0 {
family inet {
address 192.168.1.1/24;
}
}
}
}
Verificação
Confirme se a configuração está funcionando corretamente.
Verificando a acessibilidade do host H1 ao servidor S1
Finalidade
Verifique a acessibilidade entre H1 e S1.
Ação
No host H1, verifique se o host pode executar ping no servidor S1.
user@H1> ping 192.168.1.2 count 5 PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=63 time=0.991 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=14.186 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=63 time=3.016 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=63 time=3.742 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=63 time=4.748 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.991/5.337/14.186/4.593 ms
Significado
H1 pode alcançar com sucesso S1.
Verificando a conversão de endereços
Finalidade
Verifique se a conversão de endereços está funcionando corretamente.
Ação
No dispositivo MX, verifique se os detalhes de configuração do NAT em linha foram aplicados corretamente.
user@MX> show services inline nat pool Interface: si-0/0/0, Service set: INT-STYLE-SS-NAT1 NAT pool: p1, Translation type: BASIC NAT44 Address range: 192.0.2.0-192.0.2.255 NATed packets: 5, deNATed packets: 5, Errors: 0No servidor S1, verifique se o servidor está recebendo os pings do endereço IP de origem traduzido por NAT de H1 (192.0.2.2).
Execute o comando abaixo e envie pings novamente de H1.
Observação:Para essa configuração, outro dispositivo MX é usado para representar o servidor S1 para habilitar o monitoramento do tráfego de entrada.
user@S1> monitor traffic interface xe-1/1/1 no-resolve verbose output suppressed, use <detail> or <extensive> for full protocol decode Address resolution is OFF. Listening on xe-1/1/1, capture size 96 bytes 23:28:28.577377 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 0, length 64 23:28:28.577405 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 0, length 64 23:28:29.579253 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 1, length 64 23:28:29.579278 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 1, length 64 23:28:30.579275 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 2, length 64 23:28:30.579302 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 2, length 64 23:28:31.580279 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 3, length 64 23:28:31.580305 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 3, length 64 23:28:32.581266 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 3293, seq 4, length 64 23:28:32.581293 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 3293, seq 4, length 64 ^C 10 packets received by filter 0 packets dropped by kernel
Significado
A etapa 1 acima confirma que os parâmetros de serviço NAT embutidos e o conjunto de serviços de estilo de interface foram implementados corretamente. A etapa 2 acima confirma que o servidor S1 está recebendo corretamente os pings de H1 de seu endereço IP de origem traduzido por NAT.
Configuração para Twice NAT
de NAT duas vezes
Para configurar o Twice NAT usando um conjunto de serviços no estilo de interface, execute estas tarefas:
- Configuração rápida da CLI
- Configurar o conjunto de serviços (estilo de interface)
- Configurar interfaces físicas
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.
## Configure a NAT rule and pool ## set services nat pool dst-pool-p1 address 100.1.1.2/32 set services nat pool dst-pool-p2 address 100.1.1.4/32 set services nat pool src-pool-p2 address 20.0.0.0/8 set services nat allow-overlapping-nat-pools set services nat rule TWICE_rule_1 match-direction output set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 from source-address 10.0.0.0/8 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 from destination-address 120.1.1.2/32 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated source-pool src-pool-p1 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated destination-pool dst-pool-p1 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_1 then translated translation-type twice-basic-nat-44 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 from source-address 10.0.0.0/8 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 from destination-address 120.1.1.4/32 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated source-pool src-pool-p2 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated destination-pool dst-pool-p2 set services nat rule TWICE_rule_1 term TWICE_rule_1_term_2 then translated translation-type twice-basic-nat-44 set services nat rule-set TWICE_NAT_RS1 rule TWICE_rule_1 set services service-set TWICE_SS_1 nat-rule-sets TWICE_NAT_RS1 set services service-set TWICE_SS_1 interface-service service-interface si-2/0/0 ## Configure interfaces ## set interfaces si-2/0/0 unit 0 family inet filter input log_filer set interfaces xe-2/0/0 unit 0 family inet address 10.1.1.251/16 set interfaces xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in set interfaces xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out set interfaces xe-2/0/1 unit 0 family inet address 100.1.1.251/16 ## Configure firewall filters ## set firewall family inet service-filter TWICE_SF_in term SF_R1_term_1 from source-address 100.1.1.2/32 set firewall family inet service-filter TWICE_SF_in term SF_R1_term_1 then service set firewall family inet service-filter TWICE_SF_in term SF_R1_term_2 from source-address 100.1.1.4/32 set firewall family inet service-filter TWICE_SF_in term SF_R1_term_2 then service set firewall family inet service-filter TWICE_SF_in term default then count non-matching-packets-in set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_1 from destination-address 120.1.1.2/32 set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_1 then service set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_2 from destination-address 120.1.1.4/32 set firewall family inet service-filter TWICE_SF_out term SF_R1_out_term_2 then service set firewall family inet service-filter TWICE_SF_out term default then count non-matching-packets-out set firewall family inet service-filter TWICE_SF_out term default then skip
Configurar o conjunto de serviços (estilo de interface)
Configure um conjunto de serviços que usa o serviço Twice NAT (
nat-rules), aUse ointerface-serviceparâmetro para especificar que este é um conjunto de serviços no estilo de interface.[edit services] user@MX# set service-set TWICE_SS_1 nat-rule-sets TWICE_NAT_RS1 user@MX# set service-set TWICE_SS_1 interface-service service-interface si-2/0/0
Configurar interfaces físicas
Procedimento passo a passo
Configure as interfaces físicas.
[edit interfaces] user@MX# set si-2/0/0 unit 0 family inet filter input log_filer user@MX# set xe-2/0/0 unit 0 family inet address 10.1.1.251/16 user@MX# set xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out user@MX# set xe-2/0/1 unit 0 family inet address 100.1.1.251/16
Na interface, especifique que o tráfego será enviado por meio do conjunto de serviços definido acima.
[edit interfaces] user@MX# set xe-2/0/1 unit 0 family inet service input service-set TWICE_SS_1 service-filter TWICE_SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set TWICE_SS_1 service-filter TWICE_SF_out
Configure as opções de filtro de firewall para direcionar o tráfego para a
siinterface.[edit firewall] user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_1 from source-address 100.1.1.2/32 user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_1 then service user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_2 from source-address 100.1.1.4/32 user@MX# set family inet service-filter TWICE_SF_in term SF_R1_term_2 then service user@MX# set family inet service-filter TWICE_SF_in term default then count non-matching-packets-in user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_1 from destination-address 120.1.1.2/32 user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_1 then service user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_2 from destination-address 120.1.1.4/32 user@MX# set family inet service-filter TWICE_SF_out term SF_R1_out_term_2 then service user@MX# set family inet service-filter TWICE_SF_out term default then count non-matching-packets-out user@MX# set family inet service-filter TWICE_SF_out term default then skip
Configuração para NAT de destino
do NAT de destino
Para configurar o NAT de destino usando um conjunto de serviços no estilo de interface, execute estas tarefas:
- Configuração rápida da CLI
- Habilitar serviços em linha
- Configurar o conjunto de serviços (estilo de interface)
- Configurar interfaces físicas
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.
## Enable inline services, create an si- interface ## set chassis fpc 2 pic 0 inline-services set chassis fpc 2 pic 1 inline-services set services service-set DANT44_SS_1 nat-rule-sets DNAT44_RS_1 set services service-set DANT44_SS_1 interface-service service-interface si-2/0/0.0 ## Configure a NAT rule ## set services nat rule DNAT44_rule_1 match-direction output set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 from destination-address 21.1.1.2/32 set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 then translated destination-prefix 192.168.1.2/32 set services nat rule DNAT44_rule_1 term DNAT44_R1_term_1 then translated translation-type dnat-44 set services nat rule-set DNAT44_RS_1 rule DNAT44_rule_1 ## Configure interfaces (and the interface-style) and service filters ## set interfaces si-2/0/0 unit 0 family inet set interfaces xe-2/0/0 unit 0 family inet address 100.2.1.2/24 set interfaces xe-2/0/1 unit 0 family inet service input service-set DANT44_SS_1 service-filter SF_in set interfaces xe-2/0/1 unit 0 family inet service output service-set DANT44_SS_1 service-filter SF_out set interfaces xe-2/0/1 unit 0 family inet address 192.168.1.251/24 ## Configure the firewall filter options and static route options## set firewall family inet service-filter SF_in term SF_in_term1 from source-address 192.168.1.2/32 set firewall family inet service-filter SF_in term SF_in_term1 then service set firewall family inet service-filter SF_out term SF_out_term1 from destination-address 21.1.1.2/32 set firewall family inet service-filter SF_out term SF_out_term1 then service set routing-options static route 21.1.0.0/16 next-hop 100.2.1.2
Habilitar serviços em linha
Habilite serviços em linha para o slot FPC e o slot PIC relevantes.
As configurações de FPC e PIC aqui criarão e mapearão para uma
si-interface.[edit chassis fpc 2 pic 0] user@MX# set inline-services
[edit chassis fpc 2 pic 1] user@MX# set inline-services
Configurar o conjunto de serviços (estilo de interface)
Configure um conjunto de serviços que usa o serviço NAT de destino (
nat-rules), aUse ointerface-serviceparâmetro para especificar que este é um conjunto de serviços no estilo de interface.[edit services service-set] user@MX# set DANT44_SS_1 nat-rule-sets DNAT44_RS_1 user@MX# set DANT44_SS_1 DANT44_SS_1 interface-service service-interface si-2/0/0.0
Configurar interfaces físicas
Configure as interfaces físicas.
[edit interfaces] user@MX# set si-2/0/0 unit 0 family inet user@MX# set xe-2/0/0 unit 0 family inet address 100.2.1.2/24
Na interface, especifique que o tráfego será enviado por meio do conjunto de serviços definido anteriormente.
[edit interfaces] user@MX# set xe-2/0/1 unit 0 family inet service input service-set DANT44_SS_1 service-filter SF_in user@MX# set xe-2/0/1 unit 0 family inet service output service-set DANT44_SS_1 service-filter SF_out user@MX# set interfaces xe-2/0/1 unit 0 family inet address 192.168.1.251/24
Configure as opções de filtro de firewall para direcionar o tráfego para as
siinterfaces.[edit firewall] user@MX# set firewall family inet service-filter SF_in term SF_in_term1 from source-address 192.168.1.2/32 user@MX# set firewall family inet service-filter SF_in term SF_in_term1 then service user@MX# set firewall family inet service-filter SF_out term SF_out_term1 from destination-address 21.1.1.2/32 user@MX# set firewall family inet service-filter SF_out term SF_out_term1 then service
Configure as opções de roteamento estático.
[edit routing-optipons] user@MX# set static route 21.1.0.0/16 next-hop 100.2.1.2
Exemplo: configuração da Network Address Translation em linha — método baseado em rota
Este exemplo de configuração ilustra como configurar a tradução de endereços de rede (NAT) em linha baseada em rota em dispositivos da Série MX usando si- interfaces (em linha de serviço) com conjuntos de serviços no estilo next-hop.
Este tópico aborda:
Requerimentos
Este exemplo usa os seguintes componentes de hardware e software:
Roteador da Série MX com uma placa de linha do Concentrador Modular de Portas (MPC)
Junos OS versão 11.4R1 ou superior
Visão geral e topologia
A partir do Junos OS Release 11.4R1, as placas de linha MPC podem realizar alguns serviços sem a necessidade de uma placa de serviços dedicada, como um MS-MPC. Os serviços em linha geralmente fornecem melhor desempenho do que o uso de uma placa de serviços, no entanto, sua funcionalidade tende a ser mais básica. Por exemplo, o NAT embutido dá suporte apenas ao NAT estático.
Neste exemplo, um dispositivo da Série MX com uma placa de linha MPC fornece serviços NAT de origem em linha para o tráfego que flui entre dois hosts finais. A topologia para esse cenário é mostrada na Figura 6
Como mostrado na figura, o host H1 envia tráfego para o servidor S1. O dispositivo da Série MX executa NAT de origem para converter o endereço IP de origem de H1 de 10.1.1.2 para 192.0.2.2. O servidor S1 então envia o tráfego de retorno para o host H1 usando o endereço IP de destino 192.0.2.2, e o dispositivo da Série MX reverte o endereço IP de H1 de volta para 10.1.1.2.
Os seguintes elementos de configuração são usados neste cenário:
Interface de serviço em linha — uma interface virtual que reside no Mecanismo de Encaminhamento de Pacotes do MPC. Para acessar serviços, o tráfego flui para dentro e para fora dessas
si-interfaces (em linha).Conjunto de serviços — define o(s) serviço(s) a ser(em) executado(s) e identifica quais interfaces embutidas alimentarão o tráfego para dentro e para fora do conjunto de serviços. Há duas maneiras de implementar conjuntos de serviços:
Estilo de interface — um método baseado em interface, onde os pacotes que chegam a uma interface são encaminhados através do serviço em linha.
Estilo next-hop — um método baseado em rota, onde rotas estáticas são usadas para encaminhar pacotes destinados a um destino específico por meio do serviço em linha.
Este exemplo usa o conjunto de serviços no estilo next-hop.
Regra NAT — usa uma estrutura if-then (semelhante aos filtros de firewall) para definir condições correspondentes e, em seguida, aplicar a conversão de endereços ao tráfego correspondente.
Pool de NAT — um conjunto definido pelo usuário de endereços IP que são usados pela regra NAT para tradução.
Instância de roteamento — uma coleção de tabelas de roteamento, interfaces e parâmetros de protocolo de roteamento que são executados separadamente da instância de roteamento principal (padrão).
O NAT em linha baseado em rota é normalmente usado em cenários que envolvem instâncias de roteamento.
Esses elementos se juntam conforme mostrado na Figura 7.
de origem em linha baseado em rota
Configuração
Para configurar o NAT embutido usando um conjunto de serviços no estilo next-hop, execute estas tarefas:
- Configuração rápida da CLI
- Configurar interfaces físicas
- Habilitar serviços em linha e criar uma interface em linha
- Configurar a instância de roteamento e identificar o tráfego a ser enviado pelo serviço NAT em linha
- Configurar regra e pool de NAT
- Configure o conjunto de serviços (estilo next-hop)
Configuração rápida da CLI
Para configurar rapidamente este exemplo, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para corresponder à sua configuração de rede e, em seguida, copie e cole os comandos na CLI no nível de [edit] hierarquia.
## Configure interfaces ## set interfaces xe-0/0/0 unit 0 family inet address 10.1.1.1/24 set interfaces xe-0/0/0 description INSIDE set interfaces xe-1/0/0 unit 0 family inet address 192.168.1.1/24 set interfaces xe-1/0/0 description OUTSIDE ## Enable inline services, create an si- interface, reserve bandwidth ## set chassis fpc 0 pic 0 inline-services bandwidth 1g set interfaces si-0/0/0 unit 1 family inet set interfaces si-0/0/0 unit 1 service-domain inside set interfaces si-0/0/0 unit 2 family inet set interfaces si-0/0/0 unit 2 service-domain outside ## Configure routing instance, feed traffic into the inline NAT service ## set routing-instances RI-A instance-type virtual-router set routing-instances RI-A interface xe-0/0/0.0 set routing-instances RI-A interface si-0/0/0.1 set routing-instances RI-A routing-options static route 192.168.1.2/32 next-hop si-0/0/0.1 ## Configure a NAT rule and pool ## set services nat rule SRC-NAT1 match-direction input set services nat rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 set services nat rule SRC-NAT1 term r1 then translated translation-type basic-nat44 set services nat rule SRC-NAT1 term r1 then translated source-pool p1 set services nat pool p1 address 192.0.2.0/24 ## Configure the (next-hop-style) service set ## set services service-set NH-STYLE-SS-NAT1 nat-rules SRC-NAT1 set services service-set NH-STYLE-SS-NAT1 next-hop-service inside-service-interface si-0/0/0.1 set services service-set NH-STYLE-SS-NAT1 next-hop-service outside-service-interface si-0/0/0.2
Configurar interfaces físicas
Procedimento passo a passo
Configure as interfaces físicas.
[edit interfaces] user@MX# set xe-0/0/0 unit 0 family inet address 10.1.1.1/24 user@MX# set xe-0/0/0 description INSIDE user@MX# set xe-1/0/0 unit 0 family inet address 192.168.1.1/24 user@MX# set xe-1/0/0 description OUTSIDE
Habilitar serviços em linha e criar uma interface em linha
Procedimento passo a passo
Habilite serviços em linha para o slot FPC e o slot PIC relevantes e defina a quantidade de largura de banda a ser dedicada aos serviços em linha.
As configurações de FPC e PIC aqui criarão e mapearão para uma
si-interface.[edit chassis fpc 0 pic 0] user@MX# set inline-services bandwidth 1g
Na
si-interface, crie duas unidades lógicas. Para cada unidade, especifique a família (ou famílias) de protocolo que precisará de serviços NAT e as interfaces 'internas' ou 'externas' para o domínio de serviço.Observação:As configurações de FPC e PIC aqui devem corresponder às configurações definidas acima.
[edit interfaces si-0/0/0] user@MX# set unit 1 family inet user@MX# set unit 1 service-domain inside user@MX# set unit 2 family inet user@MX# set unit 2 service-domain outside
Configurar a instância de roteamento e identificar o tráfego a ser enviado pelo serviço NAT em linha
Procedimento passo a passo
Configure uma instância de roteamento que inclua o físico e
si-as interfaces 'ínside', bem como uma rota estática que identifique o tráfego a ser encaminhado para o serviço NAT em linha por meio dasi-interface.Para simplificar, a rota estática usada aqui simplesmente identifica o servidor S1.
[edit routing-instances] user@MX# set RI-A instance-type virtual-router user@MX# set RI-A interface xe-0/0/0.0 user@MX# set RI-A interface si-0/0/0.1 user@MX# set RI-A routing-options static route 192.168.1.2/32 next-hop si-0/0/0.1
Configurar regra e pool de NAT
Procedimento passo a passo
Configure uma regra NAT que corresponda ao tráfego que chega ao dispositivo MX da sub-rede H1 (10.1.1.0/24), converta-a usando NAT IPv4 básico e use um endereço IP do pool
p1.[edit services nat] user@MX# set rule SRC-NAT1 match-direction input user@MX# set rule SRC-NAT1 term r1 from source-address 10.1.1.0/24 user@MX# set rule SRC-NAT1 term r1 then translated translation-type basic-nat44 user@MX# set rule SRC-NAT1 term r1 then translated source-pool p1
Configure o pool de NAT.
[edit services nat] user@MX# set pool p1 address 192.0.2.0/24
Configure o conjunto de serviços (estilo next-hop)
Procedimento passo a passo
Configure um conjunto de serviços que use o serviço NAT embutido (
nat-rules) e as interfaces embutidas definidas acima. Use onext-hop-serviceparâmetro para especificar que este é um conjunto de serviços no estilo next-hop e atribua assi-interfaces como 'inside' e 'outside' com base em suas configurações acima.O tráfego fluirá para dentro e para fora das
si-interfaces para acessar o serviço NAT em linha.[edit services] user@MX# set service-set NH-STYLE-SS-NAT1 nat-rules SRC-NAT1 user@MX# set service-set NH-STYLE-SS-NAT1 next-hop-service inside-service-interface si-0/0/0.1 user@MX# set service-set NH-STYLE-SS-NAT1 next-hop-service outside-service-interface si-0/0/0.2
Resultados
chassis {
fpc 0 {
pic 0 {
inline-services {
bandwidth 1g;
}
}
}
}
services {
service-set NH-STYLE-SS-NAT1 {
nat-rules SRC-NAT1;
next-hop-service {
inside-service-interface si-0/0/0.1;
outside-service-interface si-0/0/0.2;
}
}
nat {
pool p1 {
address 192.0.2.0/24;
}
rule SRC-NAT1 {
match-direction input;
term r1 {
from {
source-address {
10.1.1.0/24;
}
}
then {
translated {
source-pool p1;
translation-type {
basic-nat44;
}
}
}
}
}
}
}
interfaces {
si-0/0/0 {
unit 1 {
family inet;
service-domain inside;
}
unit 2 {
family inet;
service-domain outside;
}
}
xe-0/0/0 {
description INSIDE;
unit 0 {
family inet {
address 10.1.1.1/24;
}
}
}
xe-1/0/0 {
description OUTSIDE;
unit 0 {
family inet {
address 192.168.1.1/24;
}
}
}
}
routing-instances {
RI-A {
instance-type virtual-router;
interface xe-0/0/0.0;
interface si-0/0/0.1;
routing-options {
static {
route 192.168.1.2/32 next-hop si-0/0/0.1;
}
}
}
}
Verificação
Confirme se a configuração está funcionando corretamente.
Verificando a acessibilidade do host H1 ao servidor S1
Finalidade
Verifique a acessibilidade entre H1 e S1.
Ação
No host H1, verifique se o host pode executar ping no servidor S1.
user@H1> ping 192.168.1.2 count 5 PING 192.168.1.2 (192.168.1.2): 56 data bytes 64 bytes from 192.168.1.2: icmp_seq=0 ttl=63 time=0.926 ms 64 bytes from 192.168.1.2: icmp_seq=1 ttl=63 time=0.859 ms 64 bytes from 192.168.1.2: icmp_seq=2 ttl=63 time=0.853 ms 64 bytes from 192.168.1.2: icmp_seq=3 ttl=63 time=0.825 ms 64 bytes from 192.168.1.2: icmp_seq=4 ttl=63 time=0.930 ms --- 192.168.1.2 ping statistics --- 5 packets transmitted, 5 packets received, 0% packet loss round-trip min/avg/max/stddev = 0.825/0.879/0.930/0.042 ms
Significado
H1 pode alcançar com sucesso S1.
Verificando a conversão de endereços
Finalidade
Verifique se a conversão de endereços está funcionando corretamente.
Ação
No dispositivo MX, verifique se os detalhes de configuração do NAT em linha foram aplicados corretamente.
user@MX> show services inline nat pool Interface: si-0/0/0, Service set: NH-STYLE-SS-NAT1 NAT pool: p1, Translation type: BASIC NAT44 Address range: 192.0.2.0-192.0.2.255 NATed packets: 5, deNATed packets: 5, Errors: 0, Skipped packets: 0No servidor S1, verifique se o servidor está recebendo os pings do endereço IP de origem traduzido por NAT de H1 (192.0.2.2).
Execute o comando abaixo e envie pings novamente de H1.
Observação:Para essa configuração, outro dispositivo MX é usado para representar o servidor S1 para habilitar o monitoramento do tráfego de entrada.
user@S1> monitor traffic interface xe-1/1/1 no-resolve verbose output suppressed, use <detail> or <extensive> for full protocol decode Address resolution is OFF. Listening on xe-1/1/1, capture size 96 bytes 20:19:36.182690 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 0, length 64 20:19:36.182719 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 0, length 64 20:19:37.182918 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 1, length 64 20:19:37.182945 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 1, length 64 20:19:38.183914 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 2, length 64 20:19:38.183940 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 2, length 64 20:19:39.184872 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 3, length 64 20:19:39.184896 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 3, length 64 20:19:40.185882 In IP 192.0.2.2 > 192.168.1.2: ICMP echo request, id 4436, seq 4, length 64 20:19:40.185907 Out IP 192.168.1.2 > 192.0.2.2: ICMP echo reply, id 4436, seq 4, length 64 ^C 10 packets received by filter 0 packets dropped by kernel
Significado
A etapa 1 acima confirma que os parâmetros de serviço NAT embutidos e o conjunto de serviços no estilo next-hop foram implementados corretamente. A etapa 2 acima confirma que o servidor S1 está recebendo corretamente os pings de H1 de seu endereço IP de origem traduzido por NAT.
Tabela de histórico de alterações
A compatibilidade com recursos é determinada pela plataforma e versão utilizada. Use o Explorador de recursos para determinar se um recurso é compatível com sua plataforma.
twice-basic-nat-44