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 analyser et enregistrer des paquets sur toute 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.
- Créez un compte de stockage avec la configuration supplémentaire suivante :
- 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.
- 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.
- Créez un conteneur pour vos diagnostics.
- Notez l’URL de l’objet blob conteneur. Par exemple :
https://storageaccountname.blob.core.windows.net/diagscontainername
- Accédez à votre compte de stockage.
- Sélectionnez le symbole ... sur le côté droit de l’objet blob de conteneur que vous souhaitez utiliser pour la collection de diagnostics.
- Sélectionnez les propriétés du conteneur dans le menu contextuel.
- Copiez le contenu du champ URL dans la vue Propriétés du conteneur.
- 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.
- Accédez à la ressource Plan de contrôle de Packet Core.
- Sélectionnez Identité sous Paramètres dans le menu de gauche.
- Sélectionnez Ajouter.
- 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
Connectez-vous au portail Azure.
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.
Sélectionnez Capture de paquets sous la section Aide sur le côté gauche. Une vue de Capture de paquets s’ouvre.
Si c’est la première fois que vous effectuez une capture de paquets à l’aide du portail, un message d’erreur vous invitera à configurer un compte de stockage. Si c’est le cas :
- Suivez le lien dans le message d’erreur.
- 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 :
- Accédez à votre compte de stockage.
- Sélectionnez le symbole ... sur le côté droit du conteneur que vous souhaitez utiliser pour la capture de paquets.
- Sélectionnez les propriétés du conteneur dans le menu contextuel.
- Copiez le contenu du champ URL .
- Revenez à la vue Capture de paquets.
Sélectionnez Démarrer la capture de paquets.
Renseignez les détails du volet De capture de paquets Démarrer, puis sélectionnez Créer.
La limite Octets maximum par session est appliquée par nœud. Dans les déploiements à haute disponibilité (HA), il est probable que la capture de paquets atteindra cette limite et se terminera sur un nœud avant l’autre, de sorte qu’une capture de paquets sera toujours en cours d’exécution quand la première aura terminé. Vous devez arrêter toutes les captures de paquets en cours d’exécution avant de commencer une nouvelle capture.
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.
Une fois la capture de paquets terminée, le service en ligne AP5GC enregistre la sortie à l’URL du compte de stockage fourni.
Dans les déploiements HA, deux fichiers de capture de paquets seront chargés, un pour chaque nœud. Les fichiers seront étiquetés avec un
0
ou un1
correspondant au podcore-mec-dp-0
oucore-mec-dp-1
. Si une capture de paquets échoue, la page d’état affichera une erreur, mais les résultats de capture réussis seront chargés normalement.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
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
Remarque
Dans un déploiement HA,
core-mec-dp-0
peut ne pas exister, car le nœud est arrêté. Dans ce cas, entrezcore-mec-dp-1
à la place.Affichez la liste des interfaces de plan utilisateur configurées :
mect list
Cette opération 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 unique pour le réseau principal (N6).
n2trace n3trace n6trace
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 capturer des paquets sur toutes les interfaces, exécutez
mectdump -i any -w any.pcap
- Pour capture des paquets 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, exécutezmectdump -i n6trace -w n6.pcap
. Pour sélectionner un réseau de données individuel, filtrez par ID VLAN.
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.
- Pour capturer des paquets sur toutes les interfaces, exécutez
Laissez le conteneur :
exit
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 pourrait 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 le confirmer.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 :
- En savoir plus sur la surveillance d'Azure Private 5G Core à l’aide des métriques de plateforme Azure Monitor
- Si vous avez trouvé un problème et ne savez pas comment le résoudre, vous pouvez Obtenir une assistance pour votre service Azure Private 5G Core