Cómo registrar un seguimiento de paquetes en Citrix ADC

En este artículo de solución de problemas se explica cómo un administrador puede registrar un seguimiento de paquetes de red mediante la GUI de Citrix ADC.

Puntos que tener en cuenta

  • Citrix recomienda utilizar la versión reciente de Wireshark de la “sección de compilación automatizada” disponible en la siguiente página web: http://www.wireshark.org/download/automated.

  • En la versión 10.5 y posterior del software Citrix ADC, para descifrar la captura, asegúrese de que ECC (criptografía de curva elíptica), Reutilización de sesiones y DH Param se desactivan o eliminan del servidor virtual antes de capturar la traza. Consulte la sección Recursos adicionales de este artículo antes de realizar estos cambios

Registro de seguimiento de paquetes en el dispositivo NetScaler 11.1

Para registrar un seguimiento de paquetes en un dispositivo NetScaler 11.1, debe completar el procedimiento siguiente.

  1. Inicie sesión en la GUI de NetScaler y vaya a la página System > Diagnostics.
  2. haga clic en el enlace Iniciar nuevo seguimiento en la página Diagnóstico, como se muestra en la siguiente captura de pantalla.

    Acceder a la página Diagnóstico

  3. Actualice el tamaño del paquete a 0 en el campo Tamaño del paquete.

    Tamaño del paquete

  4. Haga clic en Inicio para iniciar el registro del seguimiento del paquete de red.
  5. Haga clic en Detener y descargar para detener la grabación del seguimiento del paquete de red una vez finalizada la prueba.

    Detener y descargar seguimiento

  6. Seleccione el archivo requerido y haga clic en Seleccionar y haga clic en Descargar.

    Descargar seguimiento de paquetes

  7. Abra el archivo de seguimiento de paquetes de red con la utilidad Wireshark para mostrar el contenido del archivo.

Registro de seguimiento de paquetes en el dispositivo NetScaler 10.5

Para registrar un seguimiento de paquetes en un dispositivo NetScaler 10.5, debe completar el procedimiento siguiente:

  1. Inicie sesión en la GUI de NetScaler y vaya a la página System > Diagnostics.

    Página Diagnóstico de acceso

  2. Haga clic en el enlace Iniciar nuevo seguimiento en Herramientas de asistencia técnica como se muestra en la siguiente captura de pantalla.
  3. Actualice el tamaño del paquete a 0 en el campo Tamaño del paquete.

    Tamaño del paquete

    Nota: Si no se requieren encabezados NetScaler, seleccione Capturar seguimiento en formato.pcap.

  4. Haga clic en Inicio para iniciar el registro del seguimiento del paquete de red.
  5. Haga clic en Aceptar para detener la grabación del seguimiento del paquete de red una vez finalizada la prueba.

    Detener la grabación de seguimiento

    Se genera un archivo nstrace.cap, que contiene el seguimiento del paquete de red.

  6. Resalte el archivo requerido y haga clic en Descargar.

    Descargar el archivo

  7. Especifique un destino y guarde el seguimiento del paquete.
  8. Abra el archivo de seguimiento de paquetes de red con la utilidad Wireshark para mostrar el contenido del archivo.

    Nota: Seleccione Paquetes SSL descifrados (SSLPLAIN) para descifrar el seguimiento del paquete sin la clave privada.

    Paquetes SSL descifrados

Capturar claves maestras SSL

En la última versión 11.0 y 11.1 y superior hay una opción para capturar las claves de sesión que serán válidas solo para esa sesión en particular/nstrace y esta opción se puede usar si no desea compartir la clave privada o usar el modo SSLPLAIN. Para obtener más información, consulte Cómo usar la nueva opción “capsslkeys” al intentar capturar nstrace en Netscaler.

Exportar claves de sesión sin compartir clave privada

En la mayoría de los escenarios, la clave privada no está disponible o compartida. En tales escenarios podemos sugerir exportar las claves de sesión SSL en lugar de la clave privada. Consulte el siguiente artículo para obtener más información. Cómo exportar y usar claves de sesión SSL para descifrar trazas SSL sin compartir la clave privada SSL.

Filtros

Además, siempre se recomienda agregar filtros basados en IP mientras se toman trazas. Esto asegurará que capturará solo el tráfico interesado, lo que facilitará aún más la solución de problemas. La adición de filtros también reducirá la carga en NetScaler mientras toma trazas.

Sección de filtro

Los filtros basados en IP simples son suficientes para obtener las capturas correctas. Para obtener una lista detallada de filtros y ejemplos, consulte Citrix Documentation - nstrace.

Caso de uso para capturar un seguimiento de paquetes con filtro IP de servidor virtual (tanto frontend como backend)

Con un filtro de la dirección IP del servidor virtual y habilitando la opción “—link” en CLI o seleccione la opción “Trace filtrado de tráfico de pares de conexión” en GUI (disponible 10.1 y superior), podrá capturar tanto el tráfico front-end como el back-end para esa dirección IP particular. Con esta opción no se recomienda mencionar una IP de origen o un filtro IP de destino.

start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)" -link ENABLED

show nstrace
        State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/24Mar2017_16_00_19/..." Nf:  24                  Time:  3600              Size:  0                 Mode:  TXB NEW_RX
        Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  24Mar2017_16_00_19 Filter:  "CONNECTION.IP.EQ(1.1.1.1)" Link:  ENABLED           Merge:  ONSTOP           Doruntimecleanup:  ENABLED
        TraceBuffers:  5000      SkipRPC:  DISABLED       Capsslkeys:  DISABLED    InMemoryTrace:  DISABLED

Fusionar

Captura de trazas cíclicas

Siempre es difícil solucionar un problema intermitente. El trazado cíclico es el más adecuado para los problemas que son intermitentes. Estas trazas se pueden ejecutar en un lapso de pocas horas o días en función de la ocurrencia del problema. También se puede utilizar un filtro específico como se mencionó anteriormente. Evalúe el tamaño de los archivos de seguimiento que se están generando antes de ejecutarlo durante más tiempo (ya que esto puede llenar el espacio var)

Ejecute el siguiente comando desde CLI:

start nstrace -nf 60 -time 30 -size 0
This particular trace will create 60 files each of them for 30 sec. This means the files will start getting overwritten after 60 trace files or 30 mins
Show nstrace à To check the status of the nstrace
Stop nstrace à To stop the nstrace.

Prácticas recomendadas

En una unidad que maneja gigabytes de tráfico por segundo, capturar tráfico es un proceso muy intensivo de recursos. El impacto en los recursos es principalmente en términos de CPU y espacio en disco. El impacto en el espacio de disco se puede reducir mediante el uso de expresiones de filtrado (captura de tráfico solo relacionado con una IP determinada). Sin embargo, el impacto en la CPU se mantiene a pesar del uso de expresiones y en algunos casos puede causar un ligero aumento adicional, ya que NetScaler ahora necesita procesar paquetes de acuerdo con el filtro antes de capturarlos.

Las mejores prácticas en materia de localización son:

  1. La duración durante la que se ejecuta el seguimiento debe ser lo más limitada posible, garantizando al mismo tiempo que se capturan los paquetes de interés.
  2. Programe la actividad de rastreo para que ocurra en un momento en que el número de usuarios (y, por lo tanto, el tráfico) se reduzca considerablemente, como durante las horas fuera de servicio.

Recursos adicionales

Inhabilitar la reutilización de sesiones en el servidor virtual desde la GUI de NetScaler

La reutilización de sesión se inhabilita al capturar un seguimiento para capturar un protocolo SSL completo en el seguimiento. Cuando está habilitado, es probable que solo capture un apretón de manos parcial en el seguimiento. Asegúrese de habilitar la opción después de la recopilación de seguimiento. No inhabilite la reutilización de sesión SSL cuando el método de persistencia es sslsession, ya que romperá la persistencia de las conexiones existentes. Para obtener más información, consulte CTX121925- Proceso de renegociación de SSL y reutilización de sesiones en el dispositivo NetScaler.

  1. Abra el servidor virtual y vaya a Parámetros SSL.
  2. Inhabilite Enable Session Reuse si está habilitado.

    Habilitar la reutilización de sesiones

Inhabilitar la reutilización de sesiones en el servidor virtual desde la CLI de NetScaler

  1. SSH al NetScaler.
  2. Ejecute el siguiente comando para inhabilitar DH Param desde el servidor virtual:

    set ssl vserver "vServer_Name" -sessReuse DISABLED

Inhabilitar el parámetro DH en el servidor virtual desde la GUI de NetScaler

Consulte CTX213335 - How do I setup a Diffie-Hellman key on NetScaler? para entender el parámetro DH.

  1. Abra el servidor virtual y vaya a Parámetros SSL.
  2. Desactive DH Param si está activado.

    Parámetros SSL

Inhabilitar el parámetro DH en el servidor virtual desde NetScaler CLI

  1. SSH al NetScaler.
  2. Ejecute el siguiente comando para inhabilitar DH Param desde el servidor virtual:

    set ssl vserver "vServer_Name" -dh DISABLED

Inhabilitar la curva ECC en el servidor virtual desde la GUI de NetScaler

La curva ECC se desactivan para descifrar la traza SSL capturada con clave privada. Estas claves no deben inhabilitarse si se utilizan los cifrados SSL relacionados. Para obtener más información sobre la curva ECC, consulte CTX20 - ¿Cómo configuro ECC en NetScaler?

  1. Abra el servidor virtual y vaya a ECC Curve.

    Curva ECC

  2. Si ninguna curva ECC está enlazada al servidor virtual, no se requiere ninguna otra acción.

    Sin curva CC

  3. Si alguna curva ECC está enlazada al servidor virtual, haga clic en la curva ECC y desvincularla del servidor virtual.

Inhabilitar la curva ECC en el servidor virtual desde la CLI de NetScaler

  1. SSH al NetScaler.
  2. Ejecute el siguiente comando para cada curva ECC enlazada al servidor virtual:

    unbind ssl vserver "vServer_Name" -eccCurveName "ECC_Curve_Name"