Compartir a través de


Realización de una captura de paquetes en una instancia de núcleo de paquete

La captura de paquetes para paquetes de plano de datos o control se realiza mediante la herramienta MEC-Dataplane Trace. Seguimiento de MEC-Dataplane (MEC-DP) es similar a tcpdump, un programa informático del analizador de paquetes de red de datos que se ejecuta en una interfaz de línea de comandos (CLI). Puede usar el seguimiento de MEC-DP para supervisar y registrar paquetes en cualquier interfaz de plano de usuario en la red de acceso (interfaz N3) o en la red de datos (interfaz N6) en el dispositivo, así como en el plano de control (interfaz N2). Puede acceder a MEC-DP Trade mediante Azure Portal o la CLI de Azure.

La captura de paquetes funciona mediante la creación de reflejo de paquetes en una interfaz de kernel de Linux, que luego se puede supervisar mediante tcpdump. En esta guía paso a paso, aprenderá a realizar la captura de paquetes en una instancia de núcleo de paquete.

Importante

La realización de la captura de paquetes reducirá el rendimiento del sistema y el rendimiento del plano de datos. Por lo tanto, solo se recomienda usar esta herramienta a baja escala durante las pruebas iniciales.

Requisitos previos

Debe tener un sitio AP5GC implementado para realizar la captura de paquetes.

Para realizar la captura de paquetes mediante la línea de comandos, debe:

  • Identifique el recurso Kubernetes - Azure Arc que representa el clúster de Kubernetes habilitado para Azure Arc en el que se ejecuta su instancia de la red troncal de paquetes.
  • Asegúrese de que el equipo local tiene acceso principal kubectl al clúster de Kubernetes habilitado para Azure Arc. Esto requiere un archivo kubeconfig básico, que puede obtener siguiendo Acceso principal al espacio de nombres.

Realización de la captura de paquetes mediante Azure Portal

Configuración de una cuenta de almacenamiento

Debe configurar una cuenta de almacenamiento para almacenar el paquete de diagnóstico.

  1. Cree una cuenta de almacenamiento para diagnósticos con la siguiente configuración adicional:
    1. En la pestaña Protección de datos, enControl de acceso, seleccione Enable version-level immutability support (Habilitar compatibilidad con inmutabilidad a nivel de versión). Esto le permitirá especificar una directiva de retención con duración definida para la cuenta en el siguiente paso.
    2. Si desea que el contenido de la cuenta de almacenamiento se elimine automáticamente después de un período de tiempo, configure una directiva predeterminada de retención con duración definida para la cuenta de almacenamiento.
    3. Cree un contenedor para los diagnósticos.
    4. Anote la dirección URL del Blob del contenedor. Por ejemplo:
      https://storageaccountname.blob.core.windows.net/diagscontainername
      1. Vaya a la Cuenta de almacenamiento.
      2. Seleccione el símbolo ... en el lado derecho del blob de contenedor que desea usar para la recopilación de diagnósticos.
      3. Seleccione Propiedades del contenedor en el menú contextual.
      4. Copie el contenido del campo de URL en la vista Propiedades del contenedor.
  2. Cree una identidad asignada por usuario y asígnela a la cuenta de almacenamiento creada anteriormente con el rol colaborador de datos de Storage Blob.

    Sugerencia

    Es posible que ya haya creado y asociado una identidad asignada por el usuario al crear el sitio.

  3. Vaya al Plano de control del núcleo del paquete del sitio.
  4. Seleccione Identidad en Configuración en el menú lateral.
  5. Seleccione Agregar.
  6. Seleccione la identidad administrada firmada por el usuario que creó y seleccione Agregar.

Importante

Una vez que haya creado la identidad administrada asignada por el usuario, debe actualizar la configuración del núcleo del paquete mediante un cambio de configuración ficticio. Este podría ser un cambio sin ningún impacto en la implementación que se puede conservar, o bien un cambio que revierta inmediatamente. Consulte Modificación de una instancia de la red troncal de paquetes. Si no actualiza la configuración del núcleo del paquete, se producirá un error en la captura de paquetes.

Inicio de una captura de paquetes

  1. Inicie sesión en Azure Portal.

  2. Vaya a la página de información general Panel de control del núcleo de paquetes del sitio en el que desea ejecutar una captura de paquetes.

  3. Seleccione Captura de paquetes en la sección Ayuda en el lado izquierdo. Se abrirá una vista captura de paquetes.

  4. Si esta es la primera vez que ha tomado una captura de paquetes mediante el portal, verá un mensaje de error que le pedirá que configure una cuenta de almacenamiento. Si es así:

    1. Siga el vínculo que aparece en el mensaje de error.
    2. Escriba la dirección URL del contenedor de la cuenta de almacenamiento que se configuró para el almacenamiento de diagnóstico y seleccione Modificar.

      Sugerencia

      Si no tiene la dirección URL del contenedor de la cuenta de almacenamiento:

      1. Vaya a la Cuenta de almacenamiento.
      2. Seleccione el símbolo ... en el lado derecho del contenedor que desea usar para la captura de paquetes.
      3. Seleccione Propiedades del contenedor en el menú contextual.
      4. Copie el contenido del campo URL.
    3. Vuelva a la vista Captura de paquetes.
  5. Seleccione Iniciar captura de paquetes.

  6. Rellene los detalles del panel Iniciar captura de paquetes y seleccione Crear.

    El límite máximo de bytes por sesión se aplica por nodo. En las implementaciones de alta disponibilidad (HA), es probable que la captura de paquetes alcance este límite y se complete en un nodo antes del otro, por lo que una captura de paquetes seguirá ejecutándose cuando se haya completado la primera. Debe detener las capturas de paquetes en ejecución antes de iniciar una nueva.

  7. La página se actualizará cada pocos segundos hasta que se haya completado la captura de paquetes. También puede usar el botón Actualizar para actualizar la página. Si desea detener la captura de paquetes antes, seleccione Detener captura de paquetes.

  8. Una vez completada la captura de paquetes, el servicio en línea AP5GC guardará la salida en la dirección URL de la cuenta de almacenamiento proporcionada.

    En las implementaciones de alta disponibilidad, se cargarán dos archivos de captura de paquetes, uno para cada nodo. Los archivos se etiquetarán con un 0 o un 1, correspondientes al pod de core-mec-dp-0 o core-mec-dp-1. Si se produce un error en una captura de paquetes, la página de estado mostrará un error, pero los resultados de captura correctos se cargarán como normales.

  9. Para descargar la salida de captura de paquetes, puede usar el botón Copiar en el Portapapeles de las columnas Almacenamiento o Nombre de archivo para copiar esos detalles y, a continuación, pegarlos en el cuadro Buscar del portal. Para descargar la salida, haga clic con el botón derecho en el archivo y seleccione Descargar.

Realización de la captura de paquetes mediante Azure CLI

  1. En una línea de comandos con acceso kubectl al clúster de Kubernetes habilitado para Azure Arc, escriba el pod del solucionador de problemas MEC-DP:

    kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- bash
    

    Nota:

    En una implementación de alta disponibilidad, core-mec-dp-0 puede que no exista porque el nodo está inactivo. En ese caso, escriba core-mec-dp-1 en su lugar.

  2. Vea la lista de interfaces de plano de usuario configuradas:

    mect list
    

    Esto debe notificar una sola interfaz en la red del plano de control (N2), una única interfaz en la red de acceso (N3) y una única interfaz para la red principal (N6).

    n2trace
    n3trace
    n6trace
    
  3. Ejecute mectdump con los parámetros que normalmente se pasan a tcpdump. En concreto, -i especificar la interfaz y -w especificar dónde escribir. Cierre la herramienta cuando termine presionando Ctrl + C. En los ejemplos siguientes se muestran algunos casos de uso comunes:

    • Para capturar paquetes en todas las interfaces, ejecute mectdump -i any -w any.pcap
    • Para capturar paquetes para la interfaz N3 y la interfaz N6 para una sola red de datos, escriba el pod del solucionador de problemas MEC-DP en dos ventanas independientes. En una ventana, ejecute mectdump -i n3trace -w n3.pcap y, en la otra ventana, ejecute mectdump -i n6trace -w n6.pcap. Para seleccionar una red de datos individual, filtre por identificador de VLAN.

    Importante

    Los archivos de captura de paquetes pueden ser grandes, especialmente cuando se ejecuta la captura de paquetes en todas las interfaces. Especifique filtros al ejecutar la captura de paquetes para reducir el tamaño del archivo; consulte la documentación de tcpdump para los filtros disponibles.

  4. Deje el contenedor:

    exit
    
  5. Copie los archivo de salida:

    kubectl cp -n core core-mec-dp-0:<path to output file> <location to copy to> -c troubleshooter
    

    Es posible que el tcpdump se haya detenido en medio de escribir un paquete, lo que puede hacer que este paso genere un error que indica unexpected EOF. Sin embargo, el archivo debe haberse copiado correctamente y puede comprobar el archivo de salida de destino para confirmarlo.

  6. Quite los archivos de salida:

        kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- rm <path to output file>
    

Pasos siguientes

Para obtener más opciones para supervisar la implementación y ver el análisis: