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
- Entendendo algoritmos NAPT determinísticos
- Restrições determinísticas do 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 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.
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-sizeestiver 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
fromclá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
fromclá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
fromclá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:
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 direta
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 de exemplo e assumindo um fluxo de assinante originado de 10.1.1.250:5000:
Pr_Offset = 10.1.1.250 – 10.1.0.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 + andar (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. 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
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 translação inversa é determinada da seguinte forma. Suponha 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 + 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.
Restrição |
Mensagem de erro |
|---|---|
O número total de blocos NAT determinísticos deve ser maior ou igual aos endereços de |
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 |
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 |
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 |
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 |
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
- Configurando a regra NAT para NAPT determinístico
- Configurando o conjunto de serviços para NAT determinístico
Configurando o pool de NAT para NAPT determinístico
Para configurar o pool de NAT para NAPT determinístico:
Veja também
Configurando a regra NAT para NAPT determinístico
Para configurar a regra NAT para NAPT determinístico:
Configurando o conjunto de serviços para NAT determinístico
Para configurar o conjunto de serviços para NAPT determinístico:
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.
sequential para permitir que você configure a alocação sequencial de portas.