Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

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

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

Nota:

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:

Traducción directa

  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 la configuración de ejemplo y asumiendo un flujo de suscriptor procedente 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 + 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 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

  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)

La traducción inversa se determina de la siguiente manera. Supongamos que un flujo vuelve a 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.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.

Tabla 1: Restricciones deterministas de confirmación de NAPT

Restricción

Mensaje de error

El número total de bloques NAT deterministas debe ser mayor o igual que las from direcciones de cláusula configuradas. Esto significa que el valor Rounded_Port_Range_Per_IP debe ser menor o igual a 64.512.

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 from direcciones de la cláusula deben ser las mismas si se usa el mismo conjunto NAT determinista en varios términos o reglas. Solo se debe especificar una from dirección/rango de cláusula si se usa el mismo conjunto NAT determinista en varios términos o reglas.

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 from cláusula debe tener al menos una dirección de origen.

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 except las entradas en las direcciones de la from cláusula.

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 address-allocation round-robin está configurado, una confirmación da como resultado una advertencia que indica que esta técnica no es necesaria con el tipo de traducción determinista-napt44 y se ignora.

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

Para configurar el grupo NAT para NAPT determinista:

  1. En el nivel jerárquico [edit services nat pool poolname] , cree un grupo.
  2. Defina el intervalo de direcciones que se va a traducir, especificando los límites superior e inferior del intervalo o un prefijo de dirección que describa el intervalo.

    O

  3. Para configurar la asignación automática de puertos, especifique la asignación secuencial o aleatoria.
    Nota:

    A partir de Junos OS versión 14.2R1, se introduce la opción para permitirle configurar la sequential asignación secuencial de puertos. Las sequential opciones y random-allocation disponibles con la port automatic instrucción en el nivel jerárquico [edit services nat pool nat-pool-name] son mutuamente excluyentes. Puede incluir la opción de asignación secuencial y la opción de sequential random-allocation delegación aleatoria de puertos. De forma predeterminada, la asignación secuencial de puertos tiene lugar si se incluye sólo la port automatic instrucción en el nivel de [edit services nat pool nat-pool- name] jerarquía.

    Para versiones anteriores a Junos OS versión 14.2R1, configure la asignación automática de puertos secuenciales mediante la opción en el nivel de auto [edit services nat pool nat-pool-name port automatic] jerarquía.

  4. Para configurar un rango de puertos para asignar, especifique los valores bajo y alto para el puerto. Si no configura la asignación automática de puertos, debe configurar un rango de puertos.
    Nota:

    Si especifica un intervalo de puertos para asignar, la automatic instrucción se omite.

  5. Configure la asignación de bloques de puertos determinista. Especifique el tamaño del bloque o acepte el valor predeterminado de 512.

    También puede especificar include-boundary-addresses si desea que las direcciones más bajas y más altas (las direcciones de red y difusión) del intervalo de direcciones de origen de una regla NAT se traduzcan cuando se utilice el grupo NAT. Si la dirección de origen tiene el prefijo /32, la dirección más baja y la más alta se traducen automáticamente.

    Por ejemplo:

    Nota:

    Para deterministic-port-block-allocation que los cambios de configuración surtan efecto, debe reiniciar la PIC de servicios siempre que cambie alguna de las siguientes nat pool opciones:

    • address O address-range

    • port range

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

Configuración de la regla NAT para NAPT determinista

Para configurar la regla NAT para NAPT determinista:

  1. Configure el nombre de la regla NAT.
  2. Configure la dirección de coincidencia de reglas NAT como entrada.
  3. Especifique las direcciones que se traducen mediante la regla NAT.

    Para especificar una dirección:

    Para especificar un rango de direcciones:

  4. Especifique el grupo NAT que contiene las direcciones del tráfico traducido.
  5. Configure el tipo de traducción como NAPT44 determinista o NAPT64 determinista.

Configuración del conjunto de servicios para TDR determinista

Para configurar el conjunto de servicios para NAPT determinista:

  1. Defina el conjunto de servicios.
  2. Configure un servicio de interfaz, que requiere una sola interfaz de servicio, o un servicio de salto siguiente, que requiere una interfaz de servicio interna y externa.

    O

  3. Especifique las reglas NAT o el conjunto de reglas que se usará con el conjunto de servicios.

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.

Lanzamiento
Descripción
17.4R1
A partir de Junos OS versión 17.4R1, NAPT64 determinista es compatible con MS-MPC y MS-MIC.
17.4R1
A partir de Junos OS versión 17.4R1, NAPT64 determinista es compatible con MS-MPC y MS-MIC.
17.3R1
El NAPT determinista 44 es compatible con MS-MPC y MS-MIC a partir de Junos OS versión 17.3R1
17.3R1
NAPT44 determinista es compatible con MS-MPC y MS-MIC a partir de Junos OS versión 17.3R1
14.2R1
A partir de Junos OS versión 14.2R1, se introduce la opción para permitirle configurar la sequential asignación secuencial de puertos.