NAT determinista
Descripción general de NAPT determinista
Puede configurar NAPT44 determinista para asegurarse de que la dirección IPv4 y el puerto de origen originales siempre se asignen a la misma dirección IPv4 posterior a NAT y al mismo intervalo de puertos, y que la asignación inversa de una dirección IPv4 externa traducida y un puerto traducidos estén siempre asignados a la misma dirección IPv4 interna. Puede configurar NAPT64 determinista para asegurarse de que la dirección IPv6 y el puerto de origen originales siempre se asignen a la misma dirección IPv4 posterior a NAT y al mismo intervalo de puertos, y que la asignación inversa de una dirección IPv4 externa traducida y un puerto traducidos estén siempre asignados a la misma dirección IPv6 interna. El NAPT determinista utiliza una asignación basada en algoritmos de bloques de puertos de destino.
El NAPT44 determinista se admite en enrutadores serie MX con MS-DPC y en enrutadores serie M con PIC multiservicios MS-100, MS-400 y MS-500. El NAPT determinista 44 es compatible con MS-MPC y MS-MIC a partir de Junos OS versión 17.3R1, en Junos OS versión 14.2R7 y versiones posteriores 14.2, y en Junos OS versión 15.1R3 y versiones posteriores 15.1. A partir de Junos OS versión 17.4R1, NAPT64 determinista es compatible con MS-MPC y MS-MIC.
Si la dirección de origen de la from
cláusula de una regla NAPT determinista no tiene el prefijo /32, las direcciones de red y difusión del intervalo de direcciones de origen no se traducen a menos que configure include-boundary-addresses
.
Para obtener información detallada acerca de cómo configurar NAPT determinista, consulte Configurar NAPT determinista.
- Beneficios del NAPT determinista
- Descripción de los algoritmos deterministas de NAPT
- Restricciones deterministas de NAPT
Beneficios del NAPT determinista
Elimina la necesidad de registrar la traducción de direcciones porque una dirección IP siempre se asigna a la misma dirección IP externa y al mismo intervalo de puertos, y la asignación inversa de una dirección IP externa traducida y un puerto determinados siempre se asignan a la misma dirección IP interna.
Descripción de los algoritmos deterministas de NAPT
La efectividad de su implementación de NAPT determinista depende de su análisis de sus requisitos de suscriptor. El tamaño de bloque que proporcione indica cuántos puertos estarán disponibles para cada dirección de suscriptor entrante del rango de la cláusula especificada en la from
regla NAT aplicable. El algoritmo de asignación calcula un valor de desplazamiento para determinar la dirección IP y el puerto de salida. Se utiliza un algoritmo inverso para derivar la dirección del suscriptor de origen.
Para rastrear suscriptores sin usar registros, un ISP debe usar un algoritmo inverso para derivar direcciones de suscriptor (fuente) de una dirección traducida.
Las siguientes variables se utilizan en el cálculo hacia adelante (dirección IP del suscriptor privado a la dirección IP pública) y el cálculo inverso (dirección IP pública a la dirección IP del suscriptor privado):
Pr_Prefix: cualquier dirección de suscriptor IPv4 pre-NAT.
Pr_Port: cualquier puerto de protocolo pre-NAT.
Block_Size: número de puertos configurados para estar disponibles para cada Pr_Prefix.
Si
block-size
se configura como cero, el método para calcular el tamaño del bloque se calcula de la siguiente manera:tamaño de bloque = int(64512/ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)])
donde 64512 es el intervalo máximo de puertos disponibles por dirección IP pública.
Base_PR_Prefix: primera dirección de suscriptor IPv4 pre-NAT utilizable en una
from
cláusula de la regla NAT.Base_PU_Prefix: primera dirección de suscriptor IPv4 posterior a NAT utilizable configurada en el grupo de NAT.
Pu_Port_Range_Start: primer puerto post-NAT utilizable. Esto es 1024.
Pr_Offset: el desplazamiento de la dirección IP pre-NAT que se está traduciendo desde la primera dirección de suscriptor IPv4 pre-NAT utilizable en una
from
cláusula de la regla NAT. PR_Offset = Pr_Prefix – Base_Pr_Prefix.PR_Port_Offset: desplazamiento de la dirección IP pre-NAT multiplicada por el tamaño del bloque. PR_Port_Offset = Pr_Offset * Block_Size.
Pu_Prefix: dirección post-NAT para un Pr_Prefix determinado.
Pu_Start_Port: puerto de inicio posterior a la NAT para un flujo desde un Pr_Prefix determinado
Pu_Actual_Port: puerto post-NAT visto en un flujo inverso.
Nr_Addr_PR_Prefix — Número de direcciones de abonado IPv4 pre-NAT utilizables en una
from
cláusula de la regla NAT.Nr_Addr_PU_Prefix — Número de direcciones IPv4 post-NAT utilizables configuradas en el grupo NAT.
Rounded_Port_Range_Per_IP — Número de puertos disponibles para cada dirección IP posterior a NAT. Rounded_Port_Range_Per_IP = ceil[(Nr_Addr_PR_Prefix/Nr_Addr_PU_Prefix)] * Block_Size.
Pu_Offset: desplazamiento de la dirección IP posterior a NAT desde la primera dirección post-NAT utilizable. Pu_Offset = Pu_Prefix – Base_Pu_Prefix.
Pu_Port_Offset: desplazamiento del puerto post-NAT de 1024 agregado al producto del desplazamiento de la dirección IP post-NAT y el número de puertos disponibles para cada dirección IP post-NAT. Pu_Port_Offset = (Pu_Offset * Rounded_Port_Range_Per_IP) + (Pu_Actual_Port – Pu_Port_Range_Start).
Uso del algoritmo: suponga la siguiente configuración:
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; } } } }
Traducción directa
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 la configuración de ejemplo y asumiendo un flujo de suscriptor procedente 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 + 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 se traduce a 32.32.32.2.
El puerto de inicio es 62278. Hay 249 puertos disponibles para el suscriptor según el tamaño de bloque configurado. El intervalo de puertos disponible abarca los puertos 62278 a 62526 (inclusive).
El flujo específico 10.1.1.250:5000 asigna aleatoriamente cualquiera de los puertos de su rango porque se especificó una asignación aleatoria.
Traducción inversa
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)
La traducción inversa se determina de la siguiente manera. Supongamos que un flujo vuelve a 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.1.250
Nota:En la traducción inversa, solo se puede derivar la dirección IP privada original, y no el puerto original en uso. Esto es lo suficientemente granular para los requisitos de aplicación de la ley.
Cuando haya configurado el NAPT determinista, puede utilizar los comandos y show services nat deterministic-nat nat-port-block
para mostrar la show services nat deterministic-nat internal-host
asignación directa e inversa. Sin embargo, las asignaciones cambiarán si vuelve a configurar el tamaño de bloque de asignación de bloques de puerto determinista o la cláusula de la from
regla NAT. Para proporcionar información histórica sobre las asignaciones, se recomienda escribir scripts que puedan mostrar asignaciones específicas para configuraciones anteriores.
Restricciones deterministas de NAPT
Cuando configure NAPT determinista, debe tener en cuenta las siguientes restricciones. La violación de cualquier restricción resulta en un error de cometer. Las restricciones y sus mensajes de error se muestran en la Tabla 1.
Restricción |
Mensaje de error |
---|---|
El número total de bloques NAT deterministas debe ser mayor o igual que las |
El número de direcciones y la combinación de bloques de puertos en el grupo NAT es menor que el número de direcciones en la cláusula "de" |
Las direcciones IPv6 no deben utilizarse en una cláusula determinista del grupo/de TDR. |
Dirección IP no válida en el grupo p1 con el tipo de traducción deterministic-napt44 O Ya existe un intervalo configurado con un intervalo de direcciones v4 |
Las |
Con el tipo de traducción deterministic-napt44, se debe configurar la misma dirección/rango 'de' si el grupo es compartido por varias reglas o términos |
La |
Con el tipo de traslación determinista-napt44, se debe configurar al menos una dirección/rango que no sea excepto 'de'. Error: Error de desprotección de la configuración |
No debe haber superposición de direcciones entre |
dirección superpuesta, en la cláusula 'De' entre las entradas 'excepto' |
Las direcciones de un grupo NAT usado para NAPT determinista no deben superponerse con las direcciones de ningún otro grupo NAT. |
El conjunto de TDR det-nat-pool1 se superpone con el det-nat-pool usado por el conjunto de servicios Error de sset_det-nat: error de desprotección de la configuración |
Un conjunto NAT determinista no se puede utilizar con otros tipos de traducción. Además, un conjunto NAT determinista no se puede utilizar tanto en reglas NAPT44 deterministas como en reglas NAT NAPT64 deterministas. |
El conjunto NAT determinista no se puede utilizar con otros tipos de traducción |
El NAPT44 determinista debe usar un grupo de fuentes con una configuración determinista de asignación de bloques de puertos. |
El NAPT44 determinista debe usar un grupo de fuentes con una configuración determinista-port-block-allocation |
Si |
La asignación de direcciones round-robin no es necesaria con translation-type deterministic-napt44 |
El número total de direcciones IP asignadas a un conjunto NAT determinista debe ser menor o igual que 224 (16777216). |
El número de direcciones en el grupo con traducción determinista-napt44 está limitado a como máximo 16777216(2^24) |
Configuración de NAPT determinista
El NAPT44 determinista se admite en enrutadores serie MX con MS-DPC y en enrutadores serie M con PIC multiservicios MS-100, MS-400 y MS-500. El NAPT44 determinista es compatible con MS-MPC y MS-MIC a partir de Junos OS versión 17.3R1, en Junos OS versión 14.2R7 y versiones posteriores 14.2, y en Junos OS versión 15.1R3 y versiones posteriores 15.1. A partir de Junos OS versión 17.4R1, NAPT64 determinista es compatible con MS-MPC y MS-MIC.
Para configurar NAPT determinista, realice lo siguiente:
- Configuración del grupo NAT para NAPT determinista
- Configuración de la regla NAT para NAPT determinista
- Configuración del conjunto de servicios para TDR determinista
Configuración del grupo NAT para NAPT determinista
Para configurar el grupo NAT para NAPT determinista:
Ver también
Configuración de la regla NAT para NAPT determinista
Para configurar la regla NAT para NAPT determinista:
Configuración del conjunto de servicios para TDR determinista
Para configurar el conjunto de servicios para NAPT determinista:
Tabla de historial de cambios
La compatibilidad con las funciones viene determinada por la plataforma y la versión que esté utilizando. Utilice el Explorador de características para determinar si una característica es compatible con su plataforma.
sequential
asignación secuencial de puertos.