Arquitectura y flujo de tráfico

Cuando aprovisiona una instancia de NetScaler CPX 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 NetScaler 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 de NetScaler CPX se realiza a través de la red Docker. Todo el tráfico entrante recibido desde el puente docker0 se recibe en la interfaz eth0 en la instancia NetScaler CPX y se procesa en el motor de paquetes NetScaler CPX.

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

Imagen localizada

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

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

  • Dirección IP de administración denominada dirección IP de NetScaler (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 NetScaler 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 NetScaler CPX. Las tres funciones IP de una instancia de NetScaler 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 de NetScaler CPX

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

Esta ilustración ilustra cómo una solicitud ping que se origina en una instancia de NetScaler 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 de NetScaler CPX (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 NetScaler 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 NetScaler 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 NetScaler CPX, y reenvía el tráfico a la instancia.

En esta ilustración se muestra cómo el host de Docker realiza la traducción de direcciones de puerto para dirigir el tráfico a la dirección IP única y al puerto de NetScaler 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 NetScaler CPX es 172.17.0.4. El puerto SSH 22 de la instancia de NetScaler 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