Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

  • 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.

Nota:

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:

Tradução para o futuro

  1. Pr_Offset = Pr_Prefix – Base_Pr_Prefix

  2. Pr_Port_Offset = Pr_Offset * Block_Size

  3. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size

  4. Pu_Prefix = Base_Public_Prefix + piso (Pr_Port_Offset/Rounded_Port_Range_Per_IP)

  5. 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:

  1. Pr_Offset = 10,1,1,250 – 10,1,1 = 505

  2. Pr_Port_Offset = 505 * 249 = 125.745

  3. Rounded_Port_Range_Per_IP = ceil[(65, 533/254)] * 249 = 259 * 249 = 64.491

  4. Pu_Prefix = 32,32,32,1 + piso (125.745 /64.491) = 32,32,32,1 +1 =32,32,32,2

  5. 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

  1. Pu_Offset = Pu_Prefix – Base_Pu_Prefix

  2. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start)

  3. 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.

  1. Pu_Offset = 32,32,32,2 – 32,32,32,1 = 1

  2. Pu_Port_Offset = (1 * 64.491) + (62.280 - 1024) = 125.747

  3. 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.

Tabela 1: Restrições determinísticas de comprometimento do NAPT

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 from cláusula configurados. Isso significa que o valor Rounded_Port_Range_Per_IP deve ser menor ou igual a 64.512.

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 from endereços da cláusula devem ser os mesmos se o mesmo pool de NAT determinístico for usado em vários termos/regras. Apenas um from endereço/intervalo de cláusula deve ser especificado se o mesmo pool de NAT determinístico for usado em vários termos/regras.

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 from cláusula deve ter pelo menos um endereço fonte.

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 except as entradas nos endereços da from cláusula.

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 address-allocation round-robin estiver configurado, um confirmação resulta em exibição de um aviso indicando que essa técnica não é necessária com o tipo de tradução determinística-napt44 e é ignorada.

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

Para configurar o pool de NAT para NAPT determinístico:

  1. No nível hierárquicos [edit services nat pool poolname] , crie um pool.
  2. Defina a gama de endereços a serem traduzidos, especificando os limites superior e inferior da faixa ou um prefixo de endereço que descreve o intervalo.

    Ou

  3. Para configurar a atribuição automática de portas, especifique a alocação sequencial ou aleatória.
    Nota:

    A partir do Junos OS Release 14.2R1, a opção sequential é introduzida para permitir que você configure a alocação sequencial de portas. As sequential opções disponíveis random-allocation com a port automatic declaração no nível de [edit services nat pool nat-pool-name] hierarquia são mutuamente exclusivas. Você pode incluir a opção sequential de alocação sequencial e a opção random-allocation de delegação aleatória de portas. Por padrão, a alocação sequencial de portas ocorre se você incluir apenas a port automatic declaração no nível hierárquico [edit services nat pool nat-pool- name] .

    Para versões anteriores ao Junos OS Release 14.2R1, configure a atribuição automática de portas sequenciais usando a opção auto no nível hierárquico [edit services nat pool nat-pool-name port automatic] .

  4. Para configurar uma variedade de portas para atribuir, especifique os valores baixos e altos para a porta. Se você não configurar a atribuição automática de porta, você deve configurar uma variedade de portas.
    Nota:

    Se você especificar uma variedade de portas para atribuir, a automatic declaração será ignorada.

  5. Configure a alocação determinística de blocos de porta. Especifique o tamanho do bloco ou aceite o valor padrão de 512.

    Você também pode especificar include-boundary-addresses se deseja que os endereços mais baixos e mais altos (a rede e os endereços de transmissão) na faixa de endereço fonte de uma regra NAT sejam traduzidos quando o pool de NAT for usado. Se o endereço de origem tiver um prefixo de /32, o endereço mais baixo e mais alto será traduzido automaticamente.

    Por exemplo:

    Nota:

    Para que deterministic-port-block-allocation as mudanças de configuração entrem em vigor, você deve reiniciar o PIC de serviços sempre que alterar qualquer uma das seguintes nat pool opções:

    • address Ou address-range

    • port range

    • port deterministic-port-block-allocation block-size

Configuração da regra NAT para NAPT determinístico

Para configurar a regra NAT para NAPT determinístico:

  1. Configure o nome de regra do NAT.
  2. Configure a direção de correspondência da regra de NAT como entrada.
  3. Especifique os endereços traduzidos pela regra NAT.

    Especificar um endereço:

    Para especificar uma variedade de endereços:

  4. Especifique o pool de NAT que contém os endereços para tráfego traduzido.
  5. Configure o tipo de tradução como NAPT44 determinístico ou NAPT64 determinístico.

Configuração do conjunto de serviços para NAT determinístico

Para configurar o conjunto de serviços para NAPT determinístico:

  1. Definir o conjunto de serviços.
  2. Configure um serviço de interface, que requer uma única interface de serviço ou um serviço de próximo salto, o que requer uma interface de serviço interna e externa.

    Ou

  3. Especifique as regras ou o conjunto de regras de NAT a serem usados com o conjunto de serviços.

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.

Lançamento
Descrição
17.4R1
A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e MS-MIC.
17.4R1
A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e MS-MIC.
17.3R1
O NAPT 44 determinístico tem suporte para MS-MPCs e MS-MICs a partir do lançamento do Junos OS 17.3R1
17.3R1
O NAPT44 determinístico é suportado para MS-MPCs e MS-MICs a partir do lançamento do Junos OS 17.3R1
14.2R1
A partir do Junos OS Release 14.2R1, a opção sequential é introduzida para permitir que você configure a alocação sequencial de portas.