Citrix ADC

Traducción con estado NAT64

La función NAT64 con estado permite la comunicación entre clientes IPv6 y servidores IPv4 a través de la traducción de paquetes IPv6 a IPv4, y viceversa, mientras mantiene la información de sesión en el dispositivo Citrix ADC.

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

  • Regla NAT64: Entrada que consiste en una regla ACL6 y un perfil de red, que consiste en un grupo de direcciones SNIP propiedad de Citrix ADC.
  • Prefijo IPv6 NAT64: Prefijo IPv6 global de 96 bits de longitud (128-32=96) configurado en el dispositivo. Nota: Actualmente, el dispositivo Citrix ADC admite solo un prefijo que se utilizará normalmente con todas las reglas NAT 64.

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

  • El paquete IPv6 entrante coincide con la regla ACL6 vinculada 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 Citrix ADC coincide con un ACL6 definido en una regla NAT64 y la dirección IP de destino del paquete coincide con el prefijo IPv6 NAT64, el dispositivo Citrix ADC 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 vinculadas al perfil de red definido en la regla NAT64 y una dirección IP de destino que consta de los últimos 32 bits de la dirección IPv6 de destino del paquete de solicitud IPv6. El dispositivo Citrix ADC crea una sesión NAT64 para este flujo concreto y reenvía el paquete al servidor IPv4. Las respuestas posteriores del servidor IPv4 y las solicitudes del cliente IPv6 son traducidas en consecuencia por el dispositivo, sobre la base de la información de la sesión NAT64 en particular.

Considere 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 Citrix ADC NS1 se implementa con una configuración NAT64 con estado que incluye una regla NAT64 y un prefijo NAT64. Una dirección IPv6 asignada del servidor S1 se forma concatenando el prefijo IPv6 NAT64 [96 bits] y la dirección de origen IPv4 [32 bits]. Esta dirección IPv6 asignada se configura manualmente en los servidores DNS. Los clientes IPv6 obtienen la dirección IPv6 asignada de los servidores DNS para comunicarse con el servidor IPv4 S1.

nat64

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

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 Citrix ADC recibe el paquete de solicitud. Si el paquete de solicitud coincide con el ACL6 definido en la regla NAT64 y la dirección IP de destino del paquete coincide con el prefijo IPv6 NAT64, el Citrix ADC considera el paquete IPv6 para la 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 enlazada a Netprofile-1 (en este caso, 192.0.2.100)
  4. El dispositivo Citrix ADC 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 Citrix ADC 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 deSevr_IPv4 (192.0.2.60)
  6. El dispositivo recibe el paquete de respuesta IPv4, busca todas las entradas de sesión y encuentra 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 la traducción.

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

    • Campo de dirección IP de destino=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 Statful NAT64

Las siguientes limitaciones se aplican a NAT64 con estado:

  • No se admite la traducción de opciones IPv4.
  • No se admite la traducción de encabezados de enrutamiento IPv6.
  • No se admite la traducción de encabezados de extensión de salto por salto de paquetes IPv6.
  • No se admite la traducción de encabezados ESP y EH de paquetes IPv6.
  • No se admite la traducción de paquetes de multidifusión.
  • Los paquetes de Protocolo de transmisión de control de flujo (SCTP), Protocolo de control de congestión de datagramas (DCCP) e IPSec no se traducen.

Configuración de NAT64 con estado

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

  1. Agregue una regla ACL6 con la acción ALLOJY.
  2. Agregue un ipset, que enlaza varias direcciones IP.
  3. Agregue un perfil de red y vincule el ipset a él. Si quiere 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. Agregue un prefijo IPv6 NAT64.

Procedimientos CLI

Para agregar una regla ACL6 mediante la CLI:

En el símbolo del sistema, escriba:

  • agregar ns acl6 <acl6name> <acl6action>…

Para agregar un IPSet y enlazar varias IP mediante la CLI:

En el símbolo del sistema, escriba:

  • add ipset <name>
  • <name> enlazar ipset

Para agregar un perfil de red mediante la CLI:

En el símbolo del sistema, escriba:

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

Para agregar una regla NAT64 mediante la CLI:

En el símbolo del sistema, escriba:

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

Para agregar un prefijo NAT64 mediante la CLI:

En el símbolo del sistema, 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

Procedimientos de GUI

Para agregar una regla NAT64 mediante la GUI:

Desplácese hasta Sistema > Red > Rutas > NAT64 y una nueva regla NAT64, o modifique una regla existente.

Para agregar un prefijo NAT64 mediante la GUI:

Desplácese hasta Sistema > Red, en el grupo Configuración, haga clic en Configurar parámetros INAT y defina el parámetro Prefijo.

Traducción con estado NAT64