NAT determinístico
Visão geral determinística do NAPT
Você pode configurar o NAPT44 determinístico para garantir que o endereço e a porta IPv4 de origem original sempre mapeiem para o mesmo endereço e alcance de porta IPv4 pós-NAT, e que o mapeamento reverso de um determinado endereço e porta IPv4 externos traduzidos seja sempre mapeado para o mesmo endereço IPv4 interno. Você pode configurar o NAPT64 determinístico para garantir que o endereço e a porta IPv6 de origem original sempre mapeiem para o mesmo endereço e alcance de porta IPv4 pós-NAT, e que o mapeamento reverso de um determinado endereço e porta IPv4 externos traduzidos sejam sempre mapeados para o mesmo endereço IPv6 interno. O NAPT determinístico usa uma alocação baseada em algoritmo de blocos de portas de destino.
O NAPT44 determinístico é compatível com roteadores da série MX com MS-DPCs e roteadores da Série M com PICS de MS-100, MS-400 e MS-500. O NAPT 44 determinístico é suportado para MS-MPCs e MS-MICs a partir do lançamento do Junos OS 17.3R1, no versão Junos OS 14.2R7 e posteriores 14.2, e no Junos OS versão 15.1R3 e posteriores 15.1 versões. A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e MS-MIC.
Se o from
endereço fonte na cláusula de uma regra determinística de NAPT não tiver um prefixo de /32, a rede e os endereços de transmissão na faixa de endereço fonte não serão traduzidos a menos que você configure include-boundary-addresses
.
Para obter informações detalhadas sobre como configurar o NAPT determinístico, consulte Configurando o NAPT determinístico.
- Benefícios do NAPT determinístico
- Entendendo algoritmos determinísticos de NAPT
- Restrições determinísticas de NAPT
Benefícios do NAPT determinístico
Elimina a necessidade de registro de tradução de endereços porque um endereço IP é sempre mapeado para o mesmo endereço IP externo e faixa de porta, e o mapeamento reverso de um determinado endereço IP externo traduzido e a porta são sempre mapeados para o mesmo endereço IP interno.
Entendendo algoritmos determinísticos de NAPT
A eficácia de sua implementação de NAPT determinístico depende da sua análise dos requisitos de seus assinantes. O tamanho do bloco que você fornece indica quantas portas serão disponibilizadas para cada endereço de assinante recebido a partir da faixa na from
cláusula especificada na regra NAT aplicável. O algoritmo de alocação calcula um valor de compensação para determinar o endereço IP e a porta de saída. Um algoritmo reverso é usado para obter o endereço de assinante originado.
Para rastrear assinantes sem usar logs, um ISP deve usar um algoritmo reverso para obter endereços de assinante (fonte) de um endereço traduzido.
As variáveis a seguir são usadas no cálculo de encaminhamento (endereço IP de assinante privado para endereço IP público) e cálculo reverso (endereço IP público para endereço IP de assinante privado):
Pr_Prefix — Qualquer endereço de assinante IPv4 pré-NAT.
Pr_Port — qualquer porta de protocolo pré-NAT.
Block_Size — Número de portas configuradas para cada Pr_Prefix.
Se
block-size
estiver configurado como zero, o método para computação do tamanho do bloco é computado da seguinte forma:tamanho de bloco = int (64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix))
onde 64512 é a faixa de porta máxima disponível por endereço IP público.
Base_PR_Prefix — Primeiro endereço de assinante pré-NAT IPv4 utilizável em uma
from
cláusula da regra de NAT.Base_PU_Prefix — Primeiro endereço de assinante IPv4 pós-NAT utilizável configurado no pool de NAT.
Pu_Port_Range_Start — Primeira porta pós-NAT utilizável. Estamos em 1024.
Pr_Offset — A compensação do endereço IP pré-NAT que está sendo traduzido do primeiro endereço de assinante IPv4 pré-NAT utilizável em uma
from
cláusula da regra NAT. PR_Offset = Pr_Prefix – Base_Pr_Prefix.PR_Port_Offset — Compensação do endereço IP pré-NAT multiplicado pelo tamanho do bloco. PR_Port_Offset = Pr_Offset * Block_Size.
Pu_Prefix — endereço pós-NAT para um determinado Pr_Prefix.
Pu_Start_Port — porta de partida pós-NAT para um fluxo de um determinado Pr_Prefix
Pu_Actual_Port — porta pós-NAT vista em fluxo reverso.
Nr_Addr_PR_Prefix — Número de endereços de assinanteS IPv4 pré-NAT utilizáveis em uma
from
cláusula de cláusula da regra de NAT.Nr_Addr_PU_Prefix — Número de endereços IPv4 pós-NAT utilizáveis configurados no pool de NAT.
Rounded_Port_Range_Per_IP — Número de portas disponíveis para cada endereço IP pós-NAT. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.
Pu_Offset — Compensação do endereço IP pós-NAT a partir do primeiro endereço pós-NAT utilizável. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.
Pu_Port_Offset— Compensação da porta pós-NAT a partir de 1024 adicionada ao produto da compensação do endereço IP pós-NAT e do número de portas disponíveis para cada endereço IP pós-NAT. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).
Uso de algoritmo — Assuma a seguinte configuração:
services { nat { pool src-pool { address-range low 32.32.32.1 high 32.32.32.254; port { automatic { random-allocation; } deterministic-block-allocation { block-size 249; } } } rule det-nat { match-direction input; term t1 { from { source-address { 10.1.0.0/16; } } then { translated { source-pool src-pool; translation-type { deterministic-napt44; } } } }
Tradução para o futuro
Pr_Offset = Pr_Prefix – Base_Pr_Prefix
Pr_Port_Offset = Pr_Offset * Block_Size
Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size
Pu_Prefix = Base_Public_Prefix + piso (Pr_Port_Offset/Rounded_Port_Range_Per_IP)
Pu_Start_Port = Pu_Port_Range_Start + (Pr_Port_Offset % Rounded_Port_Range_Per_IP)
Usando a configuração da amostra e assumindo um fluxo de assinantes originado a partir de 10.1.250:5000:
Pr_Offset = 10,1,1,250 – 10,1,1 = 505
Pr_Port_Offset = 505 * 249 = 125.745
Rounded_Port_Range_Per_IP = ceil[(65, 533/254)] * 249 = 259 * 249 = 64.491
Pu_Prefix = 32,32,32,1 + piso (125.745 /64.491) = 32,32,32,1 +1 =32,32,32,2
Pu_Start_Port = 1.024 + (125.745 % 64.491) = 62278
10.1.1.250 é traduzido para 32.32.32.2.
A porta inicial é 62278. Há 249 portas disponíveis para o assinante com base no tamanho do bloco configurado. A faixa de porta disponível abrange portas 62278 a 62526 (inclusive).
O fluxo específico 10.1.1.250:5000 atribui aleatoriamente qualquer uma das portas em seu intervalo porque a alocação aleatória foi especificada.
Tradução reversa
Pu_Offset = Pu_Prefix – Base_Pu_Prefix
Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)
Subscriber_IP = Base_Pr_Prefix + piso(Pu_Port_Offset/Block_Size)
A tradução inversa é determinada da seguinte forma. Assuma um fluxo retornando a 32.32.32.2:62278.
Pu_Offset = 32,32,32,2 – 32,32,32,1 = 1
Pu_Port_Offset = (1 * 64.491) + (62.280 - 1024) = 125.747
Subscriber_IP = 10,1,0,1 + piso (125.747 / 249) = 10,1,0,1 + 505 = 10,1,250
Nota:Na tradução inversa, apenas o endereço IP privado original pode ser derivado, e não a porta original em uso. Isso é suficientemente granular para os requisitos de aplicação da lei.
Quando você tiver configurado o NAPT determinístico, você pode usar o e show services nat deterministic-nat nat-port-block
os show services nat deterministic-nat internal-host
comandos para mostrar mapeamento avançado e reverso. No entanto, os mapeamentos serão alterados se você reconfigurar o tamanho do bloco de alocação de blocos de porta determinístico ou a from
cláusula para sua regra de NAT. Para fornecer informações históricas sobre mapeamentos, recomendamos que você escreva scripts que possam mostrar mapeamentos específicos para configurações anteriores.
Restrições determinísticas de NAPT
Ao configurar o NAPT determinístico, você deve estar ciente das seguintes restrições. A violação de qualquer restrição resulta em um erro de confirmação. As restrições e suas mensagens de erro são mostradas na Tabela 1.
Restrição |
Mensagem de erro |
---|---|
O número total de blocos NAT determinísticos deve ser maior do que ou igual aos endereços da |
O número de endereços e blocos de porta combinados no pool de NAT é menor do que o número de endereços em cláusula "a partir" |
Os endereços IPv6 não devem ser usados no pool de NAT determinístico/da cláusula. |
Endereço IP inválido no pool p1 com tipo de tradução determinística-napt44 OU Já existe um intervalo configurado com o intervalo de endereços v4 |
Os |
Com o tipo de tradução determinística-napt44, o mesmo endereço/intervalo "a partir" deve ser configurado se o pool for compartilhado por várias regras ou termos |
A |
Com o tipo de tradução determinística-napt44, pelo menos um não exceto endereço/intervalo "a partir" deve ser configurado. erro: falha no check-out da configuração |
Não deve haver sobreposição de endereços entre |
endereço sobreposto, na cláusula "a partir" entre entradas "exceto" |
Os endereços em um pool de NAT usados para NAPT determinístico não devem se sobrepor aos endereços em qualquer outro pool de NAT. |
O nat pool det-nat-pool1 se sobrepõe ao det-nat-pool usado pelo conjunto de serviços sset_det-nat erro: falha no check-out da configuração |
Um pool de NAT determinístico não pode ser usado com outros tipos de tradução. Além disso, um grupo de NAT determinístico não pode ser usado tanto nas regras determinísticas de NAPT44 quanto de NAPT64 determinísticas. |
O grupo de NAT determinístico não pode ser usado com outros tipos de tradução |
O NAPT44 determinístico deve usar um pool de origem com configuração determinística de alocação de blocos de porta. |
O NAPT44 determinístico deve usar um pool de origem com configuração determinística de alocação de blocos de porta |
Se |
O round-robin de alocação de endereços não é necessário com o tipo de tradução determinística-napt44 |
O número total de endereços IP atribuídos a um pool de NAT determinístico deve ser menor ou igual a 224 (16777216). |
O número de endereços em pool com tradução determinística-napt44 está limitado a no máximo 16777216(2^24) |
Configuração do NAPT determinístico
O NAPT44 determinístico é compatível com roteadores da série MX com MS-DPCs e roteadores da Série M com PICS de MS-100, MS-400 e MS-500. O NAPT44 determinístico tem suporte para MS-MPCs e MS-MICs a partir do lançamento do Junos OS 17.3R1, no junos OS versão 14.2R7 e posteriores 14.2, e no Junos OS versão 15.1R3 e posteriores 15.1 versões. A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e MS-MIC.
Para configurar o NAPT determinístico, execute o seguinte:
- Configuração do grupo de NAT para NAPT determinístico
- Configuração da regra NAT para NAPT determinístico
- Configuração do conjunto de serviços para NAT determinístico
Configuração do grupo de NAT para NAPT determinístico
Para configurar o pool de NAT para NAPT determinístico:
Veja também
Configuração da regra NAT para NAPT determinístico
Para configurar a regra NAT para NAPT determinístico:
Configuração do conjunto de serviços para NAT determinístico
Para configurar o conjunto de serviços para NAPT determinístico:
Tabela de histórico de mudanças
O suporte de recursos é determinado pela plataforma e versão que você está usando. Use o Feature Explorer para determinar se um recurso é suportado em sua plataforma.
sequential
é introduzida para permitir que você configure a alocação sequencial de portas.