Arquitectura y flujo de tráfico

En esta sección se describe la arquitectura del modo puente CPX de Citrix ADC y el flujo de tráfico. Citrix ADC CPX también se puede implementar en modo host.

Cuando aprovisiona una instancia CPX de Citrix ADC en un host de Docker, el motor de Docker crea una interfaz virtual, eth0, en la instancia CPX. Esta interfaz eth0 está conectada directamente a una interfaz virtual (veth*) en el puente docker0. El motor de Docker también asigna una dirección IP a la instancia de Citrix ADC CPX en la red 172.17.0.0/16.

La puerta de enlace predeterminada para la instancia CPX es la dirección IP del puente docker0, lo que significa que cualquier comunicación con la instancia CPX de Citrix ADC se realiza a través de la red Docker. Todo el tráfico entrante recibido desde el puente docker0 lo recibe la interfaz eth0 en la instancia Citrix ADC CPX y el motor de paquetes Citrix ADC CPX lo procesa.

Esta ilustración ilustra la arquitectura de una instancia de Citrix ADC CPX en un host Docker.

Imagen localizada

Cómo funciona una dirección IP única en Citrix ADC CPX

Un dispositivo Citrix ADC MPX o VPX normal requiere al menos tres direcciones IP para funcionar:

  • Dirección IP de administración denominada dirección IP de Citrix ADC (NSIP)
  • Dirección IP de subred (SNIP) para comunicarse con el conjunto de servidores
  • Direcciones IP (VIP) del servidor virtual para aceptar solicitudes de clientes

Una instancia de Citrix ADC CPX funciona con una sola dirección IP que se utiliza tanto para la administración como para el tráfico de datos.

Durante el aprovisionamiento, el motor de Docker solo asigna una dirección IP privada (dirección IP única) a una instancia de Citrix ADC CPX. Las tres funciones IP de una instancia de Citrix ADC se multiplexan en una dirección IP. Esta única dirección IP utiliza diferentes números de puerto para funcionar como NSIP, SNIP y VIP (s).

La siguiente imagen ilustra cómo se usa una sola dirección IP para realizar las funciones de NSIP, SNIP y VIP (s).

Imagen localizada

Flujo de tráfico para solicitudes que se originan en la instancia CPX de Citrix ADC

Docker configura implícitamente tablas IP y una regla NAT para dirigir el tráfico que se origina en la instancia CPX de Citrix ADC a la dirección IP de docker0.

Esta ilustración ilustra cómo una solicitud ping que se origina en una instancia de Citrix ADC CPX llega al destino.

Imagen localizada

En este ejemplo, el motor de paquetes envía la solicitud ping en la interfaz eth0 con la dirección IP de origen como la dirección IP CPX de Citrix ADC (172.17.0.4). A continuación, el host de Docker realiza la traducción de direcciones de red (NAT) para agregar la dirección IP del host (192.68.x.x) como dirección IP de origen y envía la solicitud al destino (216.58.x.x). La respuesta de la dirección IP de destino sigue la misma ruta a la inversa. El host Docker realiza NAT en la respuesta y reenvía la respuesta a la instancia de Citrix ADC CPX en la interfaz eth0.

Flujo de tráfico para solicitudes que se originan en la red externa

Para habilitar la comunicación externa, al aprovisionar Citrix ADC CPX, debe establecer parámetros de modo que Docker exponga ciertos puertos, como 80, 22 y cualquier otro puerto que desee. Si no ha configurado ningún puerto para que esté expuesto durante el aprovisionamiento, debe configurar reglas NAT en el host de Docker para que estos puertos estén disponibles.

La solicitud del cliente que se origina en Internet es recibida por el host de Docker, que luego realiza la traducción de direcciones de puerto (PAT) para asignar la dirección IP pública y el puerto a la dirección IP y el puerto únicos de la instancia de Citrix ADC CPX, y reenvía el tráfico a la instancia.

Esta ilustración muestra cómo el host Docker realiza la traducción de direcciones de puerto para dirigir el tráfico a la dirección IP única y al puerto Citrix ADC CPX.

Imagen localizada

En este ejemplo, la dirección IP del host de Docker es 192.68.x.x y la dirección IP única de la instancia de Citrix ADC CPX es 172.17.0.4. El puerto SSH 22 de la instancia de Citrix ADC CPX se asigna al puerto 1100 en el host Docker. La solicitud SSH del cliente se recibe en la dirección IP 192.68.x.x en el puerto 1100. El host de Docker realiza la traducción de direcciones de puerto para asignar esta dirección y puerto a la dirección IP única 172.17.0.4 en el puerto 22 y reenvía la solicitud del cliente.

Arquitectura y flujo de tráfico