ADC

Traducción con estado NAT64

La función NAT64 con estado permite la comunicación entre los clientes IPv6 y los servidores IPv4 mediante la traducción de paquetes de IPv6 a IPv4 y viceversa, a la vez que mantiene la información de la sesión en el dispositivo NetScaler.

Una configuración NAT64 con estado en el dispositivo NetScaler tiene los siguientes componentes:

  • ReglaNAT64: entrada que consiste en una reglaACL6 y un perfil de red, que consiste en un conjunto de direcciones SNIP propiedad de NetScaler.
  • PrefijoIPv6 NAT64: prefijoIPv6 global de 96 bits de longitud (128-32=96) configurado en el dispositivo. Nota: Actualmente, el dispositivo NetScaler solo admite un prefijo que se utilizará de forma habitual con todas las reglas de NAT 64.

El dispositivo NetScaler considera un paquete IPv6 entrante para la traducción a NAT64 cuando se cumplen todas las condiciones siguientes:

  • El paquete IPv6 entrante coincide con la regla ACL6 enlazada a una regla NAT64.
  • La dirección IP de destino del paquete IPv6 coincide con el prefijo IPv6 NAT64.

Cuando un paquete de solicitud IPv6 recibido por el dispositivo NetScaler coincide con una ACL6 definida en una regla NAT64 y la IP de destino del paquete coincide con el prefijo IPv6 de NAT64, el dispositivo NetScaler considera el paquete IPv6 para su traducción.

El dispositivo traduce este paquete IPv6 en un paquete IPv4 con una dirección IP de origen que coincide con una de las direcciones IP enlazadas al perfil de red definido en la regla NAT64 y una dirección IP de destino compuesta por los últimos 32 bits de la dirección IPv6 de destino del paquete de solicitud IPv6. El dispositivo NetScaler crea una sesión NAT64 para este flujo en particular y reenvía el paquete al servidor IPv4. El dispositivo traduce en consecuencia las respuestas posteriores del servidor IPv4 y las solicitudes del cliente IPv6, basándose en la información de la sesión NAT64 en particular.

Consideremos un ejemplo en el que una empresa aloja el sitio www.example.com en el servidor S1, que tiene una dirección IPv4. Para habilitar la comunicación entre los clientes IPv6 y el servidor IPv4 S1, el dispositivo NetScaler NS1 se implementa con una configuración NAT64 con estado que incluye una regla NAT64 y un prefijo NAT64. Una dirección IPv6 mapeada del servidor S1 se forma concatenando el prefijo IPv6 NAT64 [96 bits] y la dirección fuente IPv4 [32 bits]. Esta dirección IPv6 asignada se configura manualmente en los servidores DNS. Los clientes IPv6 obtienen la dirección IPv6 mapeada de los servidores DNS para comunicarse con el servidor IPv4 S1.

nat64

En la tabla siguiente se enumeran los ajustes utilizados en este ejemplo: Configuración de ejemplo de traducción NAT64 con estado.

A continuación se presenta el flujo de tráfico en este ejemplo:

  1. El cliente IPv6 CL1 envía un paquete de solicitud a la dirección MAP-Sevr-IPv6 (2001:DB 8:300: :192.0.2.60).

  2. El dispositivo NetScaler recibe el paquete de solicitud. Si el paquete de solicitud coincide con la ACL6 definida en la regla NAT64 y la dirección IP de destino del paquete coincide con el prefijo IPv6 de NAT64, NetScaler considera el paquete IPv6 para su traducción.

  3. El dispositivo crea un paquete de solicitud IPv4 traducido con:

    • Campo de dirección IP de destino que contiene el prefijo NAT64 eliminado de la dirección de destino de la solicitud IPv6 (SEVR_IPv4 = 192.0.2.60)
    • Campo de dirección IP de origen que contiene una de las direcciones IPv4 enlazadas a Netprofile-1 (en este caso, 192.0.2.100)
  4. El dispositivo NetScaler crea una sesión NAT64 para este flujo y envía la solicitud IPv4 traducida al servidor S1.

  5. El servidor IPv64 S1 responde enviando un paquete IPv4 al dispositivo NetScaler con:

    • Campo de dirección IP de destino que contiene 192.0.2.100
    • Campo de dirección IP de origen que contiene la dirección de SEVR_IPv4 (192.0.2.60)
  6. El dispositivo recibe el paquete de respuesta IPv4, busca todas las entradas de sesión y comprueba que el paquete de respuesta IPv6 coincide con la entrada de sesión NAT64 creada en el paso 4. El dispositivo considera el paquete IPv4 para su traducción.

  7. El dispositivo crea un paquete de respuesta IPv6 traducido con:

    • Dirección IP de destino Field=Client_IPV6=2001:db 8:5001::30
    • Campo de dirección IP de origen = Concatenación del prefijo NAT64 (primeros 96 bits) y SEVR_IPv4 (últimos 32 bits) =2001:DB 8:300: :192.0.2.60
  8. El dispositivo envía la respuesta IPv6 traducida al cliente CL1.

Limitaciones de Statelful NAT64

Las siguientes limitaciones se aplican al NAT64 con estado:

  • No se admite la traducción de las opciones de IPv4.
  • No se admite la traducción de encabezados de redirección IPv6.
  • No se admite la traducción de los encabezados de las extensiones salto a salto de los paquetes IPv6.
  • No se admite la traducción de los encabezados ESP y EH de paquetes IPv6.
  • No se admite la traducción de paquetes de multidifusión.
  • Los paquetes del Protocolo de transmisión de Stream Control (SCTP), el Protocolo de control de congestión de datagramas (DCCP) e IPSec no se traducen.

Configuración de Stateful NAT64

La creación de las entidades necesarias para la configuración de NAT64 con estado en el dispositivo NetScaler implica los siguientes procedimientos:

  1. Agregue una regla ACL6 con la acción ALLOW.
  2. Agregue un ipset, que vincule varias direcciones IP.
  3. Agregue un perfil de red y vincule el ipset a él. Si desea vincular solo una dirección IP, no necesita crear una entidad ipset. En ese caso, vincule la dirección IP directamente al perfil de red.
  4. Agregue una regla NAT64, que incluye vincular la regla ACl6 y el perfil de red a la regla NAT 64.
  5. Añada un prefijo IPv6 de NAT64.

Procedimientos de la CLI

Para agregar una regla de ACL6 mediante la CLI:

En la línea de comandos, escriba:

  • add ns acl6 <acl6name> <acl6action> …

Para agregar un IPset y enlazarlo con varias IP mediante la CLI:

En la línea de comandos, escriba:

  • add ipset <name>
  • bind ipset <name> <IPaddress …>

Para agregar un perfil de red mediante la CLI:

En la línea de comandos, escriba:

  • add netprofile <name> -srcIP <IPaddress ou IPset>

Para agregar una regla NAT64 mediante la CLI:

En la línea de comandos, escriba:

  • add nat64 <name> <acl6name> -netProfile <string>

Para añadir un prefijo NAT64 mediante la CLI:

En la línea de comandos, escriba:

  • set ipv6 -natprefix <ipv6_addr *>

Ejemplo:

 > add acl6 ACL6-1 ALLOW -srcIPv6 2001:DB8:5001::30
 Done

> apply acls6
 Done

> add ip 192.0.2.100 255.255.255.0 –type SNIP
 Done

> add ip 192.0.2.102 255.255.255.0  –type SNIP
 Done

> add ipset IPset-1
 Done

> bind ipset IPset-1 192.0.2.100 192.0.2.102
IPAddress "192.0.2.100" bound
IPAddress "192.0.2.102" bound
 Done

> add netprofile Netprofile-1 -srcIP IPset-1
 Done

> add nat64 NAT64-1 ACL6-1 -netprofile Netprofile-1
 Done

> set ipv6 -natprefix 2001:DB8:300::/96
 Done
<!--NeedCopy-->

Procedimientos de GUI

Para añadir una regla NAT64 mediante la interfaz gráfica de usuario:

Vaya a Sistema > Red > Rutas > NAT64 y a una nueva regla de NAT64, o edite una regla existente.

Para añadir un prefijo NAT64 mediante la interfaz gráfica de usuario:

Vaya a Sistema > Red, en el grupo Configuración, haga clic en Configurar parámetros INATy defina el parámetro Prefijo.

Traducción con estado NAT64