Exécuter une capture de paquets sur une instance de cœur de paquets

La capture de paquets pour les paquets de contrôle ou de plan de données est effectuée à l’aide de l’outil MEC-Dataplane Trace . La trace MEC-Dataplane (MEC-DP) est similaire à tcpdump, un programme d’ordinateur analyseur de paquets de réseau de données qui s’exécute sur une interface de ligne de commande (CLI). Vous pouvez utiliser MEC-DP Trace pour surveiller et enregistrer des paquets sur n’importe quelle interface de plan utilisateur sur le réseau d’accès (interface N3) ou le réseau de données (interface N6) sur votre appareil, ainsi que le plan de contrôle (interface N2). Vous pouvez accéder à MEC-DP Trace à l’aide du Portail Microsoft Azure ou d'Azure CLI.

La capture de paquets fonctionne en mettant en miroir des paquets sur une interface de noyau Linux, qui peut ensuite être surveillée à l’aide de tcpdump. Dans ce guide pratique, vous allez apprendre à effectuer la capture de paquets sur une instance de base de paquets.

Important

L’exécution de la capture de paquets réduit les performances de votre système et le débit de votre plan de données. Il est donc recommandé d’utiliser cet outil à faible échelle pendant les tests initiaux.

Prérequis

Vous devez disposer d’un site AP5GC déployé pour effectuer la capture de paquets.

Pour effectuer la capture de paquets à l’aide de la ligne de commande, vous devez :

  • Identifiez la ressource Kubernetes : Azure Arc qui représente le cluster Kubernetes avec Azure Arc sur lequel s’exécute votre instance Packet Core.
  • Vérifiez que votre ordinateur local dispose d’un accès kubectl principal au cluster Kubernetes avec Azure Arc. Cela nécessite un fichier principal kubeconfig, que vous pouvez obtenir en suivant Accès à l’espace de noms principal.

Exécution de la capture de paquets à l’aide du Portail Microsoft Azure

Installer un compte de stockage

Vous devez configurer un compte de stockage pour stocker le package de diagnostics.

  1. Créez un compte de stockage avec la configuration supplémentaire suivante :
    1. Sous l’onglet Protection des données, sous Contrôle d’accès, sélectionnez Activer la prise en charge de l’immutabilité au niveau de la version. Cela vous permettra de spécifier une stratégie de rétention basée sur la durée pour le compte à l’étape suivante.
    2. Si vous souhaitez que les traces de votre compte de stockage soient supprimées automatiquement après un certain temps, configurez une stratégie de rétention basée sur la durée par défaut pour votre compte de stockage.
    3. Créez un conteneur pour vos diagnostics.
    4. Notez l’URL de l’objet blob conteneur. Par exemple :
      https://storageaccountname.blob.core.windows.net/diagscontainername
      1. Accédez à votre compte de stockage.
      2. Sélectionnez le symbole ... sur le côté droit de l’objet blob de conteneur que vous souhaitez utiliser pour la collection de diagnostics.
      3. Sélectionnez les propriétés du conteneur dans le menu contextuel.
      4. Copiez le contenu du champ URL dans la vue Propriétés du conteneur.
  2. Créez une identité affectée par l’utilisateur et affectez-la au compte de stockage créé ci-dessus avec le rôle Contributeur aux données blob de stockage.

    Conseil

    Vous avez peut-être déjà créé et associé une identité affectée par l’utilisateur lors de la création du site.

  3. Accédez à la ressource Plan de contrôle de Packet Core.
  4. Sélectionnez Identité sous Paramètres dans le menu de gauche.
  5. Sélectionnez Ajouter.
  6. Sélectionnez l’identité managée signée par l’utilisateur que vous avez créée, puis sélectionnez Ajouter.

Important

Une fois que vous avez créé l’identité managée affectée par l’utilisateur, vous devez actualiser la configuration du cœur de paquet en effectuant une modification de configuraition factice. Il peut s’agir d’une modification qui n’aura aucun impact sur votre déploiement et qui peut être laissée en place ou une modification que vous rétablirez immédiatement. Consultez Modifier une instance de cœur de paquet. Si vous n’actualisez pas la configuration du cœur de paquet, la capture de paquets échoue.

Démarrer une capture de paquets

  1. Connectez-vous au portail Azure.
  2. Accédez à la page de vue d’ensemble du volet de contrôle Packet Core du site dans lequel vous souhaitez exécuter une capture de paquets.
  3. Sélectionnez Capture de paquets sous la section Aide sur le côté gauche. Une vue de Capture de paquets s’ouvre.
  4. Si c’est la première fois que vous avez effectué une capture de paquets à l’aide du portail, un message d’erreur vous invite à configurer un compte de stockage. Si c’est le cas :
    1. Suivez le lien dans le message d’erreur.
    2. Entrez l’URL du conteneur de compte de stockage configurée pour le stockage de diagnostics, puis sélectionnez Modifier.

      Conseil

      Si vous n’avez pas l’URL de votre conteneur de compte de stockage :

      1. Accédez à votre compte de stockage.
      2. Sélectionnez le symbole ... sur le côté droit du conteneur que vous souhaitez utiliser pour la capture de paquets.
      3. Sélectionnez les propriétés du conteneur dans le menu contextuel.
      4. Copiez le contenu du champ URL .
    3. Revenez à la vue Capture de paquets.
  5. Sélectionnez Démarrer la capture de paquets.
  6. Renseignez les détails du volet De capture de paquets Démarrer, puis sélectionnez Créer.
  7. La page s’actualise toutes les quelques secondes jusqu’à ce que la capture de paquets soit terminée. Utilisez le bouton Actualiser pour actualiser la page en fonction de vos besoins. Si vous souhaitez arrêter la capture de paquets tôt, sélectionnez Arrêter la capturede paquets.
  8. Une fois la capture de paquets terminée, le service en ligne AP5GC enregistre la sortie à l’URL du compte de stockage fourni.
  9. Pour télécharger la sortie de capture de paquets, vous pouvez utiliser le bouton Copier dans le Presse-papiers dans les colonnes Stockage ou Nom de fichier pour copier ces détails, puis les coller dans la zone Recherche dans le portail. Pour télécharger la sortie, cliquez avec le bouton droit sur le fichier, puis sélectionnez Télécharger.

Exécution de la capture de paquets à l’aide d'Azure CLI

  1. Dans une ligne de commande disposant d’un accès kubectl au cluster Kubernetes compatible avec Azure Arc, entrez le pod de résolution des problèmes MEC-DP :

    kubectl exec -it -n core core-mec-dp-0 -c troubleshooter -- bash
    
  2. Affichez la liste des interfaces de plan utilisateur configurées :

    mect list
    

    Cela doit signaler une interface unique sur le réseau de plan de contrôle (N2), une interface unique sur le réseau d’accès (N3) et une interface pour chaque réseau de données attaché (N6). Par exemple :

    n2trace
    n3trace
    n6trace0 (Data Network: internet)
    n6trace1 (Data Network: enterprise)
    n6trace2 (Data Network: test)
    
  3. Exécutez mectdump avec tous les paramètres que vous passez généralement à tcpdump. En particulier, -i pour spécifier l’interface et -w pour spécifier où écrire. Fermez l’outil lorsque vous avez terminé en appuyant sur Ctrl + C. Les exemples suivants sont des cas d’usage courants :

    • Pour exécuter des paquets de capture sur toutes les interfaces, exécutez mectdump -i any -w any.pcap
    • Pour exécuter des paquets de capture pour l’interface N3 et l’interface N6 pour un seul réseau de données, entrez le pod de résolution des problèmes MEC-DP dans deux fenêtres distinctes. Dans une fenêtre, exécutez mectdump -i n3trace -w n3.pcap et dans l’autre fenêtre mectdump -i <N6 interface> -w n6.pcap (utilisez l’interface N6 pour le réseau de données, comme identifié à l’étape 2).

    Important

    Les fichiers de capture de paquets peuvent être volumineux, en particulier lors de l’exécution de la capture de paquets sur toutes les interfaces. Spécifiez des filtres lors de l’exécution de la capture de paquets pour réduire la taille de fichier . Consultez la documentation tcpdump pour les filtres disponibles.

  4. Laissez le conteneur :

    exit
    
  5. Copiez les fichiers de sortie :

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

    Le tcpdump risque d’avoir été arrêté au milieu de l’écriture d’un paquet, ce qui peut entraîner la production d’une erreur indiquant unexpected EOF. Toutefois, votre fichier doit avoir été copié correctement, mais vous pouvez vérifier votre fichier de sortie cible pour confirmer.

  6. Supprimez les fichiers de sortie :

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

Étapes suivantes

Pour plus d’options pour surveiller votre déploiement et afficher l’analytique :