NESTA PÁGINA
Tradução do protocolo NAT
Configurando o NAT-PT
Para configurar o tipo de tradução como basic-nat-pt, você deve configurar o aplicativo DNS ALG, os pools e regras NAT, um conjunto de serviços com uma interface de serviço e opções de rastreamento. A configuração do NAT-PT não é suportada se você estiver usando MS-MPCs ou MS-MICs. Este tópico inclui as seguintes tarefas:
- Configurando o aplicativo DNS ALG
- Configurando o pool NAT e a regra NAT
- Configurando o conjunto de serviços para NAT
- Configurando opções de rastreamento
Configurando o aplicativo DNS ALG
Para configurar o aplicativo DNS ALG:
Configurando o pool NAT e a regra NAT
Para configurar o pool NAT e a regra NAT:
Configurando o conjunto de serviços para NAT
Para configurar o conjunto de serviços para NAT:
Configurando opções de rastreamento
Para configurar as opções de rastreamento:
O exemplo a seguir configura o tipo de tradução como basic-nat-pt.
[edit]
user@host# show services
service-set ss_dns {
nat-rules rule-basic-nat-pt;
interface-service {
service-interface sp-1/2/0;
}
}
nat {
pool p1 {
address 10.10.10.2/32;
}
pool src_pool0 {
address 20.1.1.1/32;
}
pool dst_pool0 {
address 50.1.1.2/32;
}
rule rule-basic-nat-pt {
match-direction input;
term t1 {
from {
source-address {
2000::2/128;
}
destination-address {
4000::2/128;
}
applications dns_alg;
}
then {
translated {
source-pool src_pool0;
destination-pool dst_pool0;
dns-alg-prefix 2001:db8:10::0/96;
translation-type {
basic-nat-pt;
}
}
}
}
term t2 {
from {
source-address {
2000::2/128;
}
destination-address {
2001:db8:10::0/96;
}
}
then {
translated {
source-prefix 19.19.19.1/32;
translation-type {
basic-nat-pt;
}
}
}
}
}
}
adaptive-services-pics {
traceoptions {
flag all;
}
}
Exemplo: Configuração do NAT-PT
Um gateway de nível de aplicativo (DNS ALG) do Sistema de Nomes de Domínio é usado com a Network Address Translation-Protocol Translation (NAT-PT) para facilitar o mapeamento de nome para endereço. Você pode configurar o DNS ALG para mapear endereços retornados na resposta DNS para um endereço IPv6. A configuração do NAT-PT não é suportada se você estiver usando MS-MPCs ou MS-MICs.
Ao configurar o NAT-PT com suporte a DNS ALG, você deve configurar duas regras NAT ou uma regra com dois termos. Neste exemplo, você configura duas regras. A primeira regra NAT garante que os pacotes de consulta e resposta DNS sejam convertidos corretamente. Para que essa regra funcione, você deve configurar um aplicativo DNS ALG e referenciá-lo na regra. A segunda regra é necessária para garantir que as sessões NAT sejam destinadas ao endereço mapeado pelo DNS ALG.
Em seguida, você deve configurar um conjunto de serviços e, em seguida, aplicar o conjunto de serviços às interfaces.
Este exemplo descreve como configurar o NAT-PT com o DNS ALG:
Requerimentos
Este exemplo usa os seguintes componentes de hardware e software:
Junos OS versão 11.2
Uma interface multisserviços (ms-)
Visão geral e topologia
O cenário a seguir mostra o processo de NAT-PT com DNS ALG quando um laptop em um domínio somente IPv6 solicita acesso a um servidor em um domínio somente IPv4.
Topologia
de rede NAT-PT
O roteador da Juniper Networks no centro da ilustração realiza a conversão de endereços em duas etapas. Quando o laptop solicita uma sessão com o servidor www.example.com que está em um domínio somente IPv4, o Juniper Networks roteador executa o seguinte:
Converte os endereços IPv6 do laptop e do servidor DNS em endereços IPv4.
Converte a solicitação AAAA do laptop em uma solicitação A para que o servidor DNS possa fornecer o endereço IPv4.
Quando o servidor DNS responde com a solicitação A, o roteador da Juniper Networks executa o seguinte:
Converte o endereço do servidor DNS IPv4 de volta em um endereço IPv6.
Converte a solicitação A de volta em uma solicitação AAAA para que o laptop agora tenha o endereço IPv6 de 96 bits do servidor www.example.com .
Depois que o laptop recebe a versão IPv6 do endereço do servidor www.example.com , ele inicia uma segunda sessão usando o endereço IPv6 de 96 bits para acessar esse servidor. O roteador da Juniper Networks executa o seguinte:
Traduz o endereço IPv4 do laptop diretamente em seu endereço IPv4.
Converte o endereço do servidor www.example.com IPv6 de 96 bits em seu endereço IPv4.
Configuração de NAT-PT com DNS ALGs
Para configurar o NAT-PT com o DNS ALG, execute as seguintes tarefas:
- Configurando o gateway no nível do aplicativo
- Configurando os pools NAT
- Configurando a sessão do servidor DNS: primeira regra NAT
- Configurando a sessão HTTP: segunda regra NAT
- Configurando o conjunto de serviços
- Configurando a regra de Firewall com estado
- Configuração de interfaces
Configurando o gateway no nível do aplicativo
Procedimento passo a passo
Configure o aplicativo DNS como o ALG ao qual o tráfego DNS é destinado. O protocolo de aplicativo DNS fecha o fluxo DNS assim que a resposta DNS é recebida. Ao configurar o protocolo de aplicativo DNS, você deve especificar o protocolo UDP como o protocolo de rede a ser correspondido na definição do aplicativo.
Para configurar o aplicativo DNS:
No modo de configuração, vá para o
[edit applications]nível de hierarquia.user@host# edit applications
Defina o nome do aplicativo e especifique o protocolo de aplicativo a ser usado em condições de correspondência na primeira regra NAT.
[edit applications] user@host# set application application-name application-protocol protocol-name
Por exemplo:
[edit applications] user@host# set application dns_alg application-protocol dns
Especifique o protocolo a ser correspondido, nesse caso, UDP.
[edit applications] user@host# set application application-name protocol type
Por exemplo:
[edit applications] user@host# set application dns_alg protocol udp
Defina a porta de destino UDP para correspondência de pacotes adicionais, nesse caso, a porta de domínio.
[edit applications] user@host# set application application-name destination-port value
Por exemplo:
[edit applications] user@host# set application dns_alg destination-port 53
Resultados
[edit applications]
user@host# show
application dns_alg {
application-protocol dns;
protocol udp;
destination-port 53;
}
Configurando os pools NAT
Procedimento passo a passo
Nessa configuração, você configura dois pools que definem os endereços (ou prefixos) usados para NAT. Esses pools definem os endereços IPv4 que são convertidos em endereços IPv6. O primeiro pool inclui o endereço IPv4 da origem. O segundo pool define o endereço IPv4 do servidor DNS. Para configurar pools NAT:
No modo de configuração, vá para o
[edit services nat]nível de hierarquia.user@host# edit services nat
Especifique o nome do primeiro pool e o endereço de origem IPv4 (laptop).
[edit services nat] user@host# set pool nat-pool-name address ip-prefix
Por exemplo:
[edit services nat] user@host# set pool pool1 address 40.1.1.1/32
Especifique o nome do segundo pool e o endereço IPv4 do servidor DNS.
[edit services nat] user@host# set pool nat-pool-name address ip-prefix
Por exemplo:
[edit services nat] user@host# set pool pool2 address 50.1.1.1/32
Resultados
A saída de exemplo a seguir mostra a configuração de pools NAT.
[edit services nat]
user@host# show
pool pool1 {
address 40.1.1.1/32;
}
pool pool2 {
address 50.1.1.1/32;
}
Configurando a sessão do servidor DNS: primeira regra NAT
Procedimento passo a passo
A primeira regra NAT é aplicada ao tráfego DNS que vai para o servidor DNS. Essa regra garante que os pacotes de consulta e resposta DNS sejam convertidos corretamente. Para que essa regra funcione, você deve configurar um aplicativo DNS ALG e referenciá-lo na regra. O aplicativo DNS foi configurado em Configuração do NAT-PT. Além disso, você deve especificar a direção na qual o tráfego é correspondido, o endereço de origem do laptop, o endereço de destino do servidor DNS e as ações a serem executadas quando as condições de correspondência forem atendidas.
Para configurar a primeira regra NAT:
No modo de configuração, vá para o
[edit services nat]nível de hierarquia.user@host# edit services nat
Especifique o nome da regra NAT.
[edit services nat] user@host# edit rule rule-name
Por exemplo:
[edit services nat] user@host# edit rule rule1
Especifique o nome do termo NAT.
[edit services nat rule rule-name] user@host# edit term term-name
Por exemplo:
[edit services nat rule rule1] user@host# edit term term1
Defina as condições de correspondência para esta regra.
Especifique o endereço de origem IPv6 do dispositivo (laptop) que está tentando acessar um endereço IPv4.
[edit services nat rule rule-name term term-name] user@host# set from source-address source-address
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set from source-address 2000::2/128
Especifique o endereço de destino IPv6 do servidor DNS.
[edit services nat rule rule-name term term-name] user@host# set from destination-address prefix
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set from destination-address 4000::2/128
Faça referência ao aplicativo DNS ao qual o tráfego DNS destinado à porta 53 é aplicado.
[edit services nat rule rule1 term term1] user@host# set from applications application-name
Neste exemplo, o nome do aplicativo configurado na etapa Configurando o Aplicativo DNS é dns_alg:
[edit services nat rule rule1 term term1] user@host# set from applications dns_alg
Defina as ações a serem tomadas quando as condições de correspondência forem atendidas. Os pools de origem e destino que você configurou em Configurando os pools NAT são aplicados aqui.
Aplique o pool NAT configurado para tradução de origem.
[edit services nat rule rule-name term term-name] user@host# set then translated source-pool nat-pool-name
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set then translated source-pool pool1
Aplique o pool de NAT configurado para tradução de destino.
[edit services nat rule rule-name term term-name] user@host# set then translated destination-pool nat-pool-name
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set then translated source-pool pool2
Defina o prefixo DNS ALG de 96 bits para mapeamento de endereço IPv4 para IPv6.
[edit services nat rule rule-name term term-name] user@host# set then translated dns-alg-prefix dns-alg-prefix
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set then translated dns-alg-prefix 10:10:10::0/96
Especifique o tipo de NAT usado para tráfego de origem e destino.
[edit services nat rule rule-name term term-name] user@host# set then translated translation-type basic-nat-pt
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set then translated translation-type basic-nat-pt
Observação:Neste exemplo, como o NAT é obtido usando a tradução somente de endereço, o tipo de tradução basic-nat-pt é usado. Para obter o NAT usando a tradução de endereço e porta (NAPT), use o tipo de tradução napt-pt .
Especifique a direção na qual o tráfego correspondente que atende às condições da regra.
[edit services nat rule rule-name] user@host# set match-direction (input | output)
Por exemplo:
[edit services nat rule rule1] user@host# set match-direction input
Configure o log do sistema para registrar informações da interface de serviços no diretório /var/log.
[edit services nat rule rule-name term term-name] user@host# set then syslog
Por exemplo:
[edit services nat rule rule1 term term1] user@host# set then syslog
Resultados
A saída de exemplo a seguir mostra a configuração da primeira regra NAT que vai para o servidor DNS.
[edit services nat]
user@host# show
rule rule1 {
match-direction input;
term term1 {
from {
source-address {
2000::2/128;
}
destination-address {
4000::2/128;
}
applications dns_alg;
}
then {
translated {
source-pool pool1;
destination-pool pool2;
dns-alg-prefix 10:10:10::0/96;
translation-type {
basic-nat-pt;
}
}
syslog;
}
}
}
Configurando a sessão HTTP: segunda regra NAT
Procedimento passo a passo
A segunda regra NAT é aplicada ao tráfego de destino que vai para o servidor IPv4 (www.example.com). Essa regra garante que as sessões NAT sejam destinadas ao endereço mapeado pela ALG DNS. Para que essa regra funcione, você deve configurar o mapa de endereços DNS ALG que correlaciona a consulta DNS ou o processamento de resposta feito pela primeira regra com as sessões de dados reais processadas pela segunda regra. Além disso, você deve especificar a direção na qual o tráfego é correspondido: o endereço IPv4 para o endereço de origem IPv6 (laptop), o prefixo de 96 bits a ser anexado ao endereço de destino IPv4 (www.example.com) e o tipo de tradução.
Para configurar a segunda regra NAT:
No modo de configuração, vá para o nível de hierarquia a seguir.
user@host# edit services nat
Especifique o nome da regra e do termo NAT.
[edit services nat] user@host# edit rule rule-name term term-name
Por exemplo:
[edit services nat] user@host# edit rule rule2 term term1
Defina as condições de correspondência para esta regra:
Especifique o endereço IPv6 do dispositivo que está tentando acessar o servidor IPv4.
[edit services nat rule rule-name term term-name] user@host# set from source-address source-address
Por exemplo:
[edit services nat rule rule2 term term1] user@host# set from source-address 2000::2/128
Especifique o prefixo IPv6 de 96 bits a ser anexado ao endereço do servidor IPv4.
[edit services nat rule rule-name term term-name] user@host# set from destination-address prefix
Por exemplo:
[edit services nat rule rule2 term term1] user@host# set from destination-address 10:10:10::c0a8:108/128
Defina as ações a serem tomadas quando as condições de correspondência forem atendidas.
Especifique o prefixo para a tradução do endereço de origem IPv6.
[edit services nat rule rule-name term term-name] user@host# set then translated source-prefix source-prefix
Por exemplo:
[edit services nat rule rule2 term term1] user@host# set then translated source-prefix 19.19.19.1/32
Especifique o tipo de NAT usado para tráfego de origem e destino.
[edit services nat rule rule-name term term-name] user@host# set then translated translation-type basic-nat-pt
Por exemplo:
[edit services nat rule rule2 term term1] user@host# set then translated translation-type basic-nat-pt
Observação:Neste exemplo, como o NAT é obtido usando a tradução somente de endereço, o tipo de tradução basic-nat-pt é usado. Para obter o NAT usando a tradução de endereço e porta (NAPT), você deve usar o tipo de tradução napt-pt .
Especifique a direção na qual o tráfego correspondente que atende às condições da regra.
[edit services nat rule rule-name] user@host# set match-direction (input | output)
Por exemplo:
[edit services nat rule rule2] user@host# set match-direction input
Resultados
O exemplo de saída a seguir mostra a configuração da segunda regra NAT.
[edit services nat]
user@host# show
rule rule2 {
match-direction input;
term term1 {
from {
source-address {
2000::2/128;
}
destination-address {
10:10:10::c0a8:108/128;
}
}
then {
translated {
source-prefix 19.19.19.1/32;
translation-type {
basic-nat-pt;
}
}
}
}
}
Configurando o conjunto de serviços
Procedimento passo a passo
Esse conjunto de serviços é um conjunto de serviços de interface usado como um modificador de ação em toda a interface de serviços (ms-). Os conjuntos de regras de firewall stateful e NAT são aplicados ao tráfego processado pela interface de serviços.
Para configurar o conjunto de serviços:
No modo de configuração, vá para o
[edit services]nível de hierarquia.user@host# edit services
Definir um conjunto de serviços.
[edit services] user@host# edit service-set service-set-name
Por exemplo:
[edit services] user@host# edit service-set ss
Especifique as propriedades que controlam como as mensagens de log do sistema são geradas para o conjunto de serviços.
[edit services service-set ss] user@host# set syslog host local services severity-level
O exemplo abaixo inclui todos os níveis de gravidade.
[edit services service-set ss] user@host# set syslog host local services any
Especifique a regra de firewall stateful incluída neste conjunto de serviços.
[edit services service-set ss] user@host# set stateful-firewall-rules rule1 severity-level
O exemplo abaixo faz referência à regra de firewall stateful definida em Configurando a regra de Firewall com estado.
[edit services service-set ss] user@host# set stateful-firewall-rules rule1
Defina as regras NAT incluídas neste conjunto de serviços.
[edit services service-set ss] user@host# set nat-rules rule-name
O exemplo abaixo faz referência às duas regras definidas neste exemplo de configuração.
[edit services service-set ss user@host# set nat-rules rule1 user@host# set nat-rules rule2
Configure uma interface de serviços adaptáveis na qual o serviço deve ser executado.
[edit services service-set ss] user@host# set interface-service service-interface interface-name
Por exemplo:
[edit services service-set ss user@host# interface-service service-interface ms-2/0/0
Apenas o nome do dispositivo é necessário, pois o software do roteador gerencia automaticamente os números das unidades lógicas. A interface de serviços deve ser uma interface de serviços adaptáveis para a qual você configurou a unidade 0 family inet no nível de
[edit interfaces interface-name]hierarquia em Configuração de interfaces.
Resultados
A saída de exemplo a seguir mostra a configuração do conjunto de serviços.
[edit services]
user@host# show
service-set ss {
syslog {
host local {
services any;
}
}
stateful-firewall-rules rule1;
nat-rules rule1;
nat-rules rule2;
interface-service {
service-interface ms-2/0/0;
}
}
Configurando a regra de Firewall com estado
Procedimento passo a passo
Este exemplo usa um firewall stateful para inspecionar pacotes em busca de informações de estado derivadas de comunicações passadas e outros aplicativos. O roteador NAT-PT verifica o fluxo de tráfego correspondente à direção especificada pela regra, neste caso, tanto a entrada quanto a saída. Quando um pacote é enviado para a interface de serviços (ms-), as informações de direção são transportadas junto com ele.
Para configurar a regra de firewall stateful:
No modo de configuração, vá para o
[edit services stateful firewall]nível de hierarquia.user@host# edit services stateful firewall
Especifique o nome da regra de firewall stateful.
[edit services stateful-firewall] user@host# edit rule rule-name
Por exemplo:
[edit services stateful-firewall] user@host# edit rule rule1
Especifique a direção na qual o tráfego deve ser correspondido.
[edit services stateful-firewall rule rule-name] user@host# set match-direction (input | input-output | output)
Por exemplo:
[edit services stateful-firewall rule rule1] user@host# set match-direction input-output
Especifique o nome do termo de firewall stateful.
[edit services stateful-firewall rule rule-name] user@host# edit term term-name
Por exemplo:
[edit services stateful-firewall rule rule1] user@host# edit term term1
Defina os termos que compõem essa regra.
[edit services stateful-firewall rule rule-name term term-name] user@host# set then accept
Por exemplo:
[edit services stateful-firewall rule rule1 term term1] user@host# set then accept
Resultados
A saída de exemplo a seguir mostra a configuração do firewall stateful de serviços.
[edit services]
user@host# show
stateful-firewall {
rule rule1 {
match-direction input-output;
term term1 {
then {
accept;
}
}
}
}
Configuração de interfaces
Procedimento passo a passo
Depois de definir o conjunto de serviços, você deve aplicar serviços a uma ou mais interfaces instaladas no roteador. Neste exemplo, você configura uma interface na qual aplica o conjunto de serviços para tráfego de entrada e saída. Quando você aplica o conjunto de serviços a uma interface, ele garante automaticamente que os pacotes sejam direcionados para a interface de serviços (ms-).
Para configurar as interfaces:
No modo de configuração, vá para o
[edit interfaces]nível de hierarquia.user@host# edit interfaces
Configure a interface na qual o conjunto de serviços é aplicado para garantir automaticamente que os pacotes sejam direcionados para a interface de serviços (ms-).
Para tráfego IPv4, especifique o endereço IPv4.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet address 30.1.1.1/24
Aplique o conjunto de serviços definido em Configurando interfaces.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet6 service input service-set ss user@host# set ge-1/0/9 unit 0 family inet6 service output service-set ss
Para tráfego IPv6, especifique o endereço IPv6.
[edit interfaces] user@host# set ge-1/0/9 unit 0 family inet6 address 2000::1/64
Especifique as propriedades da interface para a interface de serviços que executa o serviço.
[edit interfaces] user@host# set ms-2/0/0 services-options syslog host local services any user@host# set ms-2/0/0 unit 0 family inet user@host# set ms-2/0/0 unit 0 family inet6
Resultados
A saída de exemplo a seguir mostra a configuração das interfaces para este exemplo.
[edit interfaces]
user@host# show
ge-1/0/9 {
unit 0 {
family inet {
address 30.1.1.1/24;
}
family inet6 {
service {
input {
service-set ss;
}
output {
service-set ss;
}
}
address 2000::1/64;
}
}
}
ms-2/0/0 {
services-options {
syslog {
host local {
services any;
}
}
}
unit 0 {
family inet;
family inet6;
}
}