Realización de una captura de paquetes del plano de datos para una instancia de núcleo de paquete

La captura de paquetes para los paquetes del plano de datos se realiza mediante la herramienta UPF Trace (UPFT). UPFT es similar a tcpdump, un programa de equipo analizador de paquetes de red de datos que se ejecuta en una interfaz de línea de comandos. Puede usar esta herramienta 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.

La captura de paquetes del plano de datos 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 del plano de datos para una instancia principal 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

  • Identifique el recurso de Kubernetes: Azure Arc que representa el clúster de Kubernetes habilitado para Azure Arc en el que se ejecuta la instancia principal del paquete.
  • Asegúrese de que tiene la asignación de roles Colaborador en la suscripción de Azure que contiene el recurso de Kubernetes : Azure Arc .
  • Asegúrese de que la máquina local tiene acceso kubectl principal al clúster de Kubernetes habilitado para Azure Arc. Esto requiere un archivo kubeconfig principal, que puede obtener siguiendo Configuración del acceso kubectl.

Realización de la captura de paquetes

  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 UPF-PP:

    kubectl exec -it -n core core-upf-pp-0 -c troubleshooter -- bash

  2. Vea la lista de interfaces que se pueden supervisar:

    upft list

  3. Ejecute upftdump con los parámetros que normalmente pasaría a tcpdump. En concreto, -i para especificar la interfaz y -w especificar dónde se va a escribir. Cierre la herramienta UPFT cuando termine presionando Ctrl + C. Los ejemplos siguientes son casos de uso comunes:

    • Para ejecutar paquetes de captura en todas las interfaces, ejecute upftdump -i any -w any.pcap
    • Para ejecutar paquetes de captura para la interfaz N3 y la interfaz N6 para una sola red de datos, escriba el pod del solucionador de problemas UPF-PP en dos ventanas independientes. En una ventana, ejecute upftdump -i n3trace -w n3.pcap y, en la otra, ejecute upftdump -i <N6 interface> -w n6.pcap (use la interfaz N6 para la red de datos como se identifica en el paso 2).

    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 archivos de salida:

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

    tcpdump Es posible que 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 haber copiado correctamente, pero puede comprobar el archivo de salida de destino para confirmarlo.

  6. Quite los archivos de salida:

    kubectl exec -it -n core core-upf-pp-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: