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 IPv4 e a porta de origem originais sempre sejam mapeados para o mesmo endereço IPv4 pós-NAT e intervalo de portas, e que o mapeamento reverso de um determinado endereço IPv4 externo traduzido e a porta sejam sempre mapeados para o mesmo endereço IPv4 interno. Você pode configurar o NAPT64 determinístico para garantir que o endereço IPv6 e a porta de origem originais sempre sejam mapeados para o mesmo endereço IPv4 pós-NAT e intervalo de portas, e que o mapeamento reverso de um determinado endereço IPv4 externo traduzido e da porta seja sempre mapeado 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 é suportado em roteadores da Série MX com MS-DPCs e em roteadores da Série M com MS-100, MS-400 e MS-500 MultiServices PICS. O NAPT determinístico 44 é suportado para MS-MPCs e MS-MICs a partir do Junos OS versão 17.3R1, no Junos OS versão 14.2R7 e versões 14.2 posteriores, e no Junos OS versão 15.1R3 e versões 15.1 posteriores. A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e no MS-MIC.

Se o endereço de origem na cláusula de uma regra NAPT determinística não tiver um prefixo from de /32, os endereços de rede e de broadcast no intervalo de endereços de origem não serão convertidos, 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 intervalo de portas, e o mapeamento reverso de um determinado endereço IP externo traduzido e porta é sempre mapeado para o mesmo endereço IP interno.

Entendendo algoritmos NAPT determinísticos

A eficácia da implementação do NAPT determinístico depende da análise dos requisitos do assinante. O tamanho do bloco fornecido indica quantas portas serão disponibilizadas para cada endereço de assinante de entrada do intervalo na from cláusula especificada na regra NAT aplicável. O algoritmo de alocação calcula um valor de deslocamento para determinar o endereço IP e a porta de saída. Um algoritmo reverso é usado para derivar o endereço do assinante de origem.

Observação:

Para rastrear assinantes sem usar logs, um ISP deve usar um algoritmo reverso para derivar um endereço de assinante (origem) de um endereço convertido.

As seguintes variáveis são usadas no cálculo direto (endereço IP do assinante privado para o endereço IP público) e no cálculo reverso (endereço IP público para endereço IP do 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 estarem disponíveis para cada Pr_Prefix.

    Se block-size estiver configurado como zero, o método para calcular o tamanho do bloco será calculado da seguinte forma:

    tamanho do bloco = int(64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)])

    em que 64512 é o intervalo máximo de portas disponível por endereço IP público.

  • Base_PR_Prefix — Primeiro endereço de assinante IPv4 pré-NAT utilizável em uma from cláusula da regra NAT.

  • Base_PU_Prefix — Primeiro endereço IPv4 assinante pós-NAT utilizável configurado no pool de NAT.

  • Pu_Port_Range_Start — Primeira porta pós-NAT utilizável. Este é 1024.

  • Pr_Offset — O deslocamento do endereço IP pré-NAT que está sendo convertido do primeiro endereço assinante IPv4 pré-NAT utilizável em uma from cláusula da regra NAT. PR_Offset = Pr_Prefix – Base_Pr_Prefix.

  • PR_Port_Offset — Deslocamento 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 início pós-NAT para um fluxo de uma determinada Pr_Prefix

  • Pu_Actual_Port — Porta pós-NAT vista em um fluxo reverso.

  • Nr_Addr_PR_Prefix — Número de endereços IPv4 assinante pré-NAT utilizáveis em uma from cláusula cláusula da regra 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 — Deslocamento do endereço IP pós-NAT do primeiro endereço pós-NAT utilizável. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.

  • Pu_Port_Offset— Deslocamento da porta pós-NAT de 1024 adicionado ao produto do deslocamento do endereço IP pós-NAT e o 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 do algoritmo — Suponha a seguinte configuração:

Tradução direta

  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 de exemplo e assumindo um fluxo de assinante originado de 10.1.1.250:5000:

  1. Pr_Offset = 10.1.1.250 – 10.1.0.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 + andar (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. O intervalo de portas disponível abrange as 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 translação inversa é determinada da seguinte forma. Suponha 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 + andar (125.747 / 249) = 10.1.0.1 + 505 = 10.1.1.250

    Observação:

    Na tradução reversa, 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.

Depois de configurar o NAPT determinístico, você pode usar os comandos e show services nat deterministic-nat nat-port-block para mostrar o show services nat deterministic-nat internal-host mapeamento direto e reverso. No entanto, os mapeamentos serão alterados se você reconfigurar o tamanho determinístico do bloco de alocação do bloco de porta ou a cláusula da from regra 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 do 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 de confirmação determinísticas do NAPT

Restrição

Mensagem de erro

O número total de blocos NAT determinísticos deve ser maior ou igual aos endereços de 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 a combinação de blocos de porta no pool NAT é menor que o número de endereços na cláusula 'from'

Os endereços IPv6 não devem ser usados na cláusula determinística NAT pool/from.

Endereço IP inválido no pool p1 com tipo de tradução deterministic-napt44

OU

Já existe um intervalo configurado com o intervalo de endereços v4

Os from endereços das cláusulas 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 NAT determinístico for usado em vários termos/regras.

Com o tipo de tradução deterministic-napt44, o mesmo endereço/intervalo 'de' 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 de origem.

Com o tipo de tradução deterministic-napt44, pelo menos um endereço/intervalo que não seja 'de' deve ser configurado. Erro: Falha no check-out da configuração

Não deve haver sobreposição de endereço entre except as entradas nos endereços da from cláusula.

endereço sobreposto, na cláusula 'de' entre entradas 'exceto'

Os endereços em um pool NAT usado para NAPT determinístico não devem se sobrepor aos endereços em nenhum outro pool NAT.

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 NAT determinístico não pode ser usado com outros tipos de tradução. Além disso, um pool NAT determinístico não pode ser usado nas regras NAPT44 determinísticas e NAPT64 NAT determinísticas.

O pool 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 portas.

O NAPT44 determinístico deve usar um pool de origem com configuração determinística de alocação de blocos de portas

Se address-allocation round-robin estiver configurado, um commit resultará na exibição de um aviso indicando que essa técnica não é necessária com o tipo de tradução deterministic-napt44 e é ignorada.

O rodízio de alocação de endereços não é necessário com o tipo de tradução determinístico-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 no pool com tradução determinística-napt44 é limitado a no máximo 16777216(2^24)

Configuração do NAPT determinístico

O NAPT44 determinístico é suportado em roteadores da Série MX com MS-DPCs e em roteadores da Série M com MS-100, MS-400 e MS-500 MultiServices PICS. O NAPT44 determinístico é suportado para MS-MPCs e MS-MICs a partir do Junos OS versão 17.3R1, no Junos OS versão 14.2R7 e versões 14.2 posteriores, e no Junos OS versão 15.1R3 e versões 15.1 posteriores. A partir do Junos OS Release 17.4R1, o NAPT64 determinístico é suportado no MS-MPC e no MS-MIC.

Para configurar o NAPT determinístico, execute o seguinte:

Configurando o pool de NAT para NAPT determinístico

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

  1. No nível de [edit services nat pool poolname] hierarquia, crie um pool.
  2. Defina o intervalo de endereços a ser traduzido, especificando os limites superior e inferior do intervalo ou um prefixo de endereço que descreva o intervalo.

    ou

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

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

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

  4. Para configurar um intervalo de portas a serem atribuídas, especifique os valores baixo e alto para a porta. Se você não configurar a atribuição automática de portas, deverá configurar um intervalo de portas.
    Observação:

    Se você especificar um intervalo de portas a serem atribuídas, a automatic instrução será ignorada.

  5. Configure a alocação determinística de blocos de portas. 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 (os endereços de rede e de broadcast) no intervalo de endereços de origem de uma regra NAT sejam convertidos 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ão traduzidos automaticamente.

    Por exemplo:

    Observação:

    Para que deterministic-port-block-allocation as alterações de configuração entrem em vigor, você deve reinicializar 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

Configurando a regra NAT para NAPT determinístico

Para configurar a regra NAT para NAPT determinístico:

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

    Para especificar um endereço:

    Para especificar um intervalo de endereços:

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

Configurando o conjunto de serviços para NAT determinístico

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

  1. Defina o conjunto de serviços.
  2. Configure um serviço de interface, que requer uma única interface de serviço, ou um serviço next-hop, que requer uma interface de serviço interna e externa.

    ou

  3. Especifique as regras NAT ou o conjunto de regras a ser usado com o conjunto de serviços.

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.

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