Contenu

Introduction

Conditions préalables

Conditions requises

Composants utilisés

Informations générales

Flux de paquets dans le WLC 9800

Suivi du plan de contrôle

Syslog

Suivi permanent

suivi d'échec

Débogage conditionnel et suivi RadioActive

Traces radioactives via l'interface utilisateur Web

Traces radioactives via CLI

Débogage non conditionnel par processus

Suivi des paquets du plan de données

Capture de paquets intégrée

Voyant d'alarme et alarmes critiques de plate-forme

Introduction

Ce document décrit et fournit une vue d'ensemble de toutes les fonctionnalités de Cisco IOS® XE utilisées pour le dépannage de Catalyst 9800.

Conditions préalables

Conditions requises

- Connaissances de base des contrôleurs LAN sans fil (WLC).

- Connaissance de base des flux de cas d'utilisation impliqués dans l'utilisation d'un WLC.

Composants utilisés

Ce document couvre les contrôleurs 9800-CL, 9800-L, 9800-40 et 9800-80. Il est principalement basé sur la version 17.3 de Cisco IOS® XE.

Informations générales

Cisco IOS® XE exécuté sur les WLC 9800 est essentiellement constitué d'un noyau Linux (binOS) avec Cisco IOS® et de tous les processus sans fil implémentés en tant que démons. Tous les démons de processus peuvent être regroupés sous le terme générique Plan de contrôle (CP) et sont responsables du contrôle et de la mise en service des points d'accès (CAPWAP), de la mobilité et de la gestion des ressources radio (RRM). Gestion des systèmes non fiables, protocole NMSP (Network Mobility Service) destinés au WLC 9800 et provenant de celui-ci.

Le plan de données (DP) fait référence aux composants qui transfèrent les données sur le WLC 9800.

Sur toutes les itérations de 9800 (9800-40, 9800-80, 9800-CL, 9800-SW, 9800-L), le plan de contrôle reste assez commun. Cependant, le plan de données varie avec les modèles 9800-40 et 9800-80 qui utilisent un complexe matériel de processeur Quantum Flow (QFP) similaire à ASR1k, tandis que les modèles 9800-CL et 9800-L utilisent la mise en oeuvre logicielle de Cisco Packet Processor (CPP). Le 9800-SW utilise simplement le chipset Doppler sur les commutateurs de la gamme Catalyst 9k pour le transfert des données.

Flux de paquets dans le WLC 9800

Lorsqu'un paquet entre dans le WLC 9800 à partir de ports physiques, s'il est déterminé comme étant du trafic de contrôle, il est envoyé aux processus du plan de contrôle correspondants. Pour une jointure AP, il s'agit de tous les échanges capwap et dtls provenant d'AP. Dans le cas d'une jointure client, il s'agit de tout le trafic provenant du client jusqu'à ce que le client passe à l'état d'exécution et suive le chemin PUNT.

Au fur et à mesure que les différents démons traitent le trafic entrant, le trafic de retour résultant (réponse capwap, dot11, dot1x, réponse dcp) provenant du WLC 9800 à envoyer au client est réinjecté dans le plan de données pour être envoyé par le port physique. Lorsque nous traitons des jointures AP, des jointures client, des échanges de mobilité, le plan de données doit être programmé pour pouvoir gérer le transfert du trafic de données. Ceci se produit lorsque plusieurs composants sont programmés séquentiellement sur le chemin de programmation indiqué dans l'image.

Cisco IOS® XE fournit un ensemble d'outils polyvalent pour suivre le paquet à partir du moment où il entre dans le WLC 9800 jusqu'à ce que le trafic traité quitte la boîte. La section suivante présente ces outils ainsi que les commandes utilisées pour les appeler à partir de l'interface de ligne de commande (CLI).

Suivi du plan de contrôle

Cette section décrit les commandes et les outils disponibles pour visualiser le traitement effectué par les processus du plan de contrôle après que le paquet destiné au WLC 9800 a été envoyé du DP ou avant d'injecter le paquet de réponse provenant du WLC 9800 au DP pour envoyer l'interface physique

Syslog

Les journaux générés par le WLC 9800 constituent le premier moyen de vérifier l'état général du système. Toute violation du seuil prédéfini pour les ressources système telles que le processeur, la mémoire et les tampons est signalée dans le journal. En outre, toutes les erreurs générées par les sous-systèmes sont consignées dans les journaux. Pour afficher les journaux, accédez à Troubleshooting > Syslog

ou exécutez la commande CLI :

# show logging

Cette sortie affiche des journaux généraux ainsi que certains journaux spécifiques à la technologie sans fil. Cependant, contrairement à l'ancienne plate-forme logicielle Cisco IOS®, aucun débogage sans fil ne parvient généralement à cette sortie de journalisation.

Note: Si le WLC9800 est configuré pour rediriger ces journaux vers un serveur syslog externe, vous devez également vérifier les journaux sur le serveur syslog externe.

Suivi permanent

Chaque processus de plan de contrôle sur le WLC9800 est constamment en train de se connecter au niveau de journalisation de Notice à sa propre mémoire tampon dédiée. C'est ce que l'on appelle le suivi permanent. Il s'agit d'une fonctionnalité unique qui vous permet d'obtenir des données contextuelles sur une défaillance qui s'est produite sans exiger que la condition de défaillance soit reproduite.

Par exemple, si vous connaissez AireOS, pour tout dépannage de connectivité client, vous devez activer les débogages et reproduire l’état du problème de connectivité client pour identifier la cause première. Avec le suivi toujours actif, vous pouvez revenir sur les traces déjà capturées et identifier s'il s'agit d'une cause racine commune.  En fonction du volume de journaux générés, nous pouvons revenir en arrière de plusieurs heures à plusieurs jours.

Maintenant, alors que les traces sont enregistrées par processus individuel, il est possible de les afficher de manière holistique pour un contexte particulier d'intérêt comme mac client ou mac AP ou adresse ip AP. Pour ce faire, exécutez la commande

# show logging profile wireless filter mac  to-file bootflash:

Par défaut, cette commande ne remonte que 10 minutes en arrière pour générer et décoder les journaux. Vous pouvez choisir de remonter le temps avec :

# show logging profile wireless start last

[minutes|hours|days] filter mac to-file bootflash:

Pour afficher les journaux par processus, exécutez la commande

# show logging process  to-file bootflash:

Note: Il existe plusieurs options de filtrage sur ces CLI, notamment le module, le niveau de journalisation, l'horodatage de début, etc. Pour afficher et explorer ces options, exécutez la commande

# show logging profile wireless ?

# show logging process  ?

suivi d'échec

Pour obtenir un aperçu rapide des conditions de défaillance courantes, la fonctionnalité de suivi des défaillances est disponible. Cette commande analyse toutes les traces sur le système à un moment donné afin de correspondre aux conditions de défaillance prédéfinies et présente une vue récapitulative ainsi que des statistiques.

Pour obtenir une vue récapitulative, exécutez la commande

# show logging profile wireless trace-on-failure summary

Pour afficher les conditions d'échec prédéfinies ainsi que les statistiques correspondant à ces conditions, exécutez la commande

# show wireless stats trace-on-failure

Une fois que vous connaissez l'échec, pour collecter des traces spécifiques au contexte de l'échec, exécutez la commande

# show logging profile wireless filter uuid  to-file bootflash:tof-FILENAME.txt

Vous pouvez les afficher sur une session de terminal ou les exporter pour une analyse hors ligne à l'aide des commandes

# more bootflash:tof-FILENAME.txt

OR

# copy bootflash:tof-FILENAME.txt { tftp: | ftp: | scp: | https: } tof-FILENAME.txt

Débogage conditionnel et suivi RadioActive

Le débogage conditionnel permet d'activer la journalisation au niveau du débogage pour des fonctionnalités spécifiques pour les conditions intéressantes. Le traçage RadioActive va encore plus loin en ajoutant la possibilité d'imprimer conditionnellement des informations de débogage à travers des processus, des threads pour la condition d'intérêt. Cela signifie que l'architecture sous-jacente est complètement abstraite.

Note: Sur la version 16.12, le traçage radioactif est uniquement mis en oeuvre pour le dépannage de la jonction AP avec les adresses MAC radio et Ethernet AP, de la jonction client avec l'adresse MAC client ainsi que des problèmes de mobilité avec la connectivité IP homologue de mobilité et CMX avec l'adresse IP CMX comme conditions d'intérêt.

Note: La condition adresse MAC/adresse IP fournit des sorties différentes, car différents processus connaissent différents identificateurs pour la même entité réseau (point d'accès ou client ou homologue de mobilité).

Avec la connectivité client, comme exemple à dépanner, le débogage conditionnel s'exécute pour le client mac pour obtenir une vue de bout en bout au niveau du plan de contrôle.

Traces radioactives via l'interface utilisateur Web

Accédez au menu de la page Dépannage et choisissez Suivi radioactif

Cliquez sur Add et entrez une adresse MAC de client ou d'AP que vous souhaitez dépanner.  Depuis la version 16.12, seules les adresses MAC peuvent être ajoutées via l'interface utilisateur graphique. Vous pouvez ajouter une adresse IP via l'interface CLI.

Vous pouvez ajouter plusieurs adresses MAC à suivre. Lorsque vous êtes prêt à démarrer le suivi radioactif, cliquez sur start.

Une fois démarré, les journaux de débogage sont écrits sur le disque à propos de tout traitement du plan de contrôle lié aux adresses MAC suivies.

Lorsque vous avez reproduit le problème que vous souhaitez résoudre, cliquez sur Stop.

Pour chaque adresse mac déboguée, vous pouvez générer un fichier journal rassemblant tous les journaux appartenant à cette adresse mac en cliquant sur Générer.

Choisissez le délai d'attente avant lequel vous souhaitez que votre fichier journal assemblé parte et cliquez sur Apply to Device.

Vous pouvez maintenant télécharger le fichier en cliquant sur la petite icône située à côté du nom du fichier. Ce fichier est présent dans le lecteur bootflash du contrôleur et peut également être copié hors du boîtier via l'interface de ligne de commande.

Traces radioactives via CLI

Pour activer le débogage conditionnel, exécutez la commande

# debug wireless {mac | ip} {aaaa.bbbb.cccc | x.x.x.x } {monitor-time} {N seconds}

Pour afficher les conditions actuellement activées, exécutez la commande

# show debugging

Ces débogages n'impriment aucune sortie sur la session de terminal, mais stockent le fichier de sortie de débogage dans la mémoire flash pour être récupéré et analysé ultérieurement. Le fichier est enregistré avec la convention d'attribution de noms ra_trace_*

Par exemple, pour l'adresse MAC aaaa.bbbb.cccc, le nom de fichier généré est ra_trace_MAC_aaabbbccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log

Un avantage est que la même commande peut être utilisée pour dépanner les problèmes de jonction AP (entrée AP radio mac et ethernet mac), les problèmes de connectivité client (entrée client mac), les problèmes de tunnel de mobilité (entrée peer ip), les problèmes d'itinérance client (entrée client mac). En d'autres termes, vous n'avez pas à mémoriser plusieurs commandes comme debug capwap, debug client, debug mobility et ainsi de suite.

Note: debug wireless permet également de pointer vers un serveur FTP et d'exécuter encore plus de journalisation détaillée avec le mot clé internal. Nous ne les recommandons pas pour l'instant, car certains problèmes sont en cours de résolution.

Afin de déboguer le fichier de sortie sur la session de terminal, exécutez la commande

# more bootflash:ra_trace_MAC_*.log

Afin de rediriger la sortie de débogage vers un serveur externe pour l'analyse hors connexion, exécutez la commande

# copy bootflash:ra_trace_MAC_*.log ftp://username:password@FTPSERVERIP/path/RATRACE_FILENAME.txt

Il existe une vue beaucoup plus détaillée des mêmes niveaux de journaux de débogage. pour afficher cette vue détaillée, exécutez la commande

# show logging profile wireless internal filter mac  to-file

Pour désactiver le débogage pour un contexte spécifique ou avant que le temps de surveillance configuré ou par défaut ne soit écoulé, exécutez la commande.

# no debug wireless mac <aaaa.bbbb.cccc>

Attention : Le débogage conditionnel active la journalisation au niveau du débogage qui à son tour augmente le volume des journaux générés. Laisser cette opération en cours réduit le retard dans le temps à partir duquel vous pouvez afficher les journaux. Il est donc recommandé de toujours désactiver le débogage à la fin de la session de dépannage.

Afin de désactiver tous les débogages, exécutez ces commandes

# clear platform condition all

# undebug all

Débogage non conditionnel par processus

Pour les cas d'utilisation et les processus, non implémentés pour le traçage radioactif, vous pouvez obtenir des traces de niveau de débogage. Pour définir le niveau de débogage sur un processus spécifique, utilisez la commande

# set platform software trace <PROCESS_NAME> wireless chassis active R0 { module_name | all-modules }

Pour vérifier les niveaux de suivi des différents modules, exécutez la commande

# show platform software trace level <PROCESS_NAME> chassis active R0

Pour afficher les traces collectées, exécutez la commande

# show logging process  to-file

Suivi des paquets du plan de données

Lorsqu’un paquet entre pour la première fois dans le WLC 9800, un certain traitement se produit au niveau du plan de données pour identifier si le trafic est un plan de contrôle ou un plan de données. La fonction Packet-Trace fournit une vue détaillée de ce traitement Cisco IOS® XE effectué au niveau du plan de données et de la décision prise quant à l'envoi, la transmission, l'abandon ou la consommation du paquet. Cette fonctionnalité sur le WLC 9800 fonctionne exactement de la même manière que l'implémentation sur ASR ! k.

Packet Tracer sur le WLC 9800 fournit trois niveaux d'inspection identiques à ASR1K.

- Statistiques : indique le nombre de paquets qui entrent dans le processeur réseau et en sortent

- Résumé-

- Il est collecté pour un nombre fini de paquets qui correspondent à une condition d'intérêt spécifique.

- Le résumé indique les interfaces d'entrée et de sortie, la décision de recherche prise par le plan de données et suit également les paquets de point, d'abandon et d'injection, le cas échéant.

- Ce résultat fournit une vue succincte du traitement du plan de données

- Path Data : ce champ fournit la vue la plus détaillée du traitement des paquets DP. Collecté pour un nombre fini de paquets, il inclut un ID de débogage conditionnel qui peut être utilisé pour corréler le paquet DP aux débogages du plan de contrôle, à l'horodatage ainsi qu'aux données de trace de chemin spécifiques aux fonctionnalités. Cette vue détaillée comporte deux fonctionnalités facultatives

- La copie de paquets vous permet de copier des paquets entrants et sortants sur différentes couches du paquet (couche 2, couche 3 et couche 4)

- Le tableau d'appel de fonction (FIA) est la liste séquentielle des fonctions qui sont exécutées sur le paquet par le plan de données. Ces fonctionnalités sont dérivées de la configuration par défaut et activée par l'utilisateur sur le WLC 9800

Pour une explication détaillée de la fonctionnalité et des sous-options, référez-vous à Fonctionnalité de trace de paquet de Datapath de Cisco IOS XE

Pour les workflows sans fil tels que la jonction AP, la connectivité client, etc., le suivi de la liaison ascendante bidirectionnel

Attention : Le traceur de paquets de plan de données analyse uniquement l'en-tête CAPWAP externe. Par conséquent, des conditions telles que le MAC client sans fil ne génèrent pas de résultats utiles.

Étape 1 : définition de la condition intéressante

# debug platform condition { interface | mac | ingress | egress | both | ipv4 | ipv6 | mpls | match }

Avertissement : Les commandes - debug platform condition feature et debug platform condition mac aaaa.bbb.cccc sont destinées au suivi des paquets du plan de contrôle et ne renvoient pas de traces de paquets du plan de données.

Étape 2. Pour afficher les conditions actuellement activées, exécutez la commande

# show platform conditions

Étape 3 : activation de packet-tracer pour un nombre fini de paquets Ce numéro de paquet est défini comme une puissance de 2 comprise entre 16 et 8192. Par défaut, le résumé et les données de fonction sont capturés. Vous pouvez éventuellement choisir d'obtenir une vue récapitulative uniquement si vous utilisez une sous-option de synthèse uniquement. Vous avez également des sous-options disponibles pour obtenir la trace fia, définir la taille des paquets en octets, tracer punt, injecter ou abandonner des paquets. et ainsi de suite.

# debug platform packet-tracer packet <packet-number> {fia-trace}

Étape 4. (Facultatif) Vous pouvez copier et vider les paquets lors de leur traçage

# debug platform packet-trace copy packet both size 2048 { l2 | l3 | l4 }

Étape 5 : activation du débogage conditionnel

# debug platform condition start

Étape 6. Afin de voir si la commande packet-trace collecte des informations, vérifiez les statistiques

# show platform packet-trace statistics

Étape 7. Pour afficher le résultat de la commande packet-trace, exécutez la commande

# show platform packet-tracer summary

Étape 8. (Facultatif) Vous pouvez exporter le vidage de paquets pour une analyse hors ligne par le TAC Cisco

# show platform packet-trace packet all | redirect { bootflash: | tftp: | ftp: } pactrac.txt

Capture de paquets intégrée

La capture de paquets intégrée (EPC) est une fonction de capture de paquets qui permet de visualiser les paquets destinés aux WLC Catalyst 9800, provenant de ceux-ci et transitant par ceux-ci. Ces captures peuvent être exportées pour une analyse hors ligne avec Wireshark. Pour plus d'informations sur cette fonction, reportez-vous au Guide de configuration EPC

Comparé à AireOS, au lieu de s'appuyer sur les capacités de capture de paquets et de mise en miroir du trafic sur le commutateur de liaison ascendante, le WLC 9800 permet la capture de paquets sur le boîtier lui-même. Sur le 9800, cette capture peut être configurée à la fois à partir de l'interface de ligne de commande (CLI) et de l'interface graphique utilisateur (GUI).

Pour configurer via l'interface graphique utilisateur, accédez à Troubleshooting > Packet Capture > +Add

Étape 1 : définition du nom de la capture de paquets Un maximum de 8 caractères est autorisé.

Étape 2. Définissez les filtres, le cas échéant

Étape 3. Cochez la case Surveiller le trafic de contrôle si vous voulez voir le trafic envoyé au processeur système et réinjecté dans le plan de données

Étape 4 : définition de la taille de la mémoire tampon Un maximum de 100 Mo est autorisé

Étape 5. Définissez la limite, soit par la durée qui autorise une plage de 1 à 1000000 secondes, soit par le nombre de paquets qui autorise une plage de 1 à 100000 paquets, selon les besoins

Étape 6. Choisissez l’interface dans la liste des interfaces de la colonne de gauche et sélectionnez la flèche pour la déplacer vers la colonne de droite

Étape 7. Enregistrer et appliquer au périphérique

Étape 8. Pour démarrer la capture, sélectionnez Start

Étape 9. Vous pouvez laisser la capture s'exécuter jusqu'à la limite définie. Pour arrêter manuellement la capture, sélectionnez Arrêter.

Étape 10. Une fois arrêté, un bouton Export devient disponible pour cliquer avec l'option de télécharger le fichier de capture (.pcap) sur le bureau local via https ou serveur TFTP ou serveur FTP ou disque dur du système local ou flash.

Note: L'interface de ligne de commande offre un peu plus de granularité pour les options telles que Limiter par. L'interface graphique utilisateur est suffisante pour capturer des paquets pour des utilisations courantes.

Pour configurer via CLI :

Créez la capture de surveillance :

monitor capture uplink interface <uplink_of_the_9800> both

Associez un filtre. Le filtre peut être spécifié en ligne ou une liste de contrôle d'accès ou un mappage de classe peut être référencé.

Dans cet exemple, il s'agit de la liste de contrôle d'accès pour faire correspondre le trafic entre les 2 adresses IP du 9800 et d'un autre WLC 5520. Scénario type de dépannage de la mobilité :

conf t

ip access-list extended mobilitywlcs

permit ip host <5520_ip_address> host <9800_ip_address>

permit ip host <9800_ip_address> host <5520_ip_address>

end

monitor capture uplink access-list mobilitywlcs

Si vous souhaitez que la capture s'exécute dans une mémoire tampon circulaire, vous disposez d'un certain temps pour remarquer le problème, puis arrêter la capture et l'enregistrer.

Si vous le définissez sur 50MB buffer par exemple. Il faut un maximum de 50 Mo de disque sur le 9800 et son assez grand pour capturer plusieurs minutes de données dans l'espoir que vous obtenez l'occurrence du problème.

monitor capture uplink buffer circular size 50

Démarrez la capture. Vous pouvez y accéder à partir de l'interface utilisateur graphique ou CLI :

monitor capture uplink start

La capture est maintenant active.

Laisser le client collecter les données nécessaires.

Arrêtez la capture. Vous pouvez le faire via l'interface utilisateur graphique ou CLI :

monitor capture uplink stop

Vous pouvez récupérer la capture à partir de la GUI > Troubleshooting > Packet Capture > Export.

Ou téléchargez vers un serveur à partir de l'interface CLI. Exemple via ftp :

monitor capture uplink export ftp://x.x.x.x/MobilityCAP.pcap

Une fois les données nécessaires collectées, supprimez la capture :

no monitor capture uplink

Voyant d'alarme et alarmes critiques de plate-forme

Tous les appareils 9800 (9800-L, 9800-40 et 9800-80) sont équipés d'un voyant ALM sur leur panneau avant. Si ce voyant devient rouge, cela signifie qu'il y a une alarme critique sur la plate-forme.

Vous pouvez vérifier les alarmes qui font passer le voyant au rouge avec la commande show facility-alarm status

WLC#show facility-alarm status

System Totals  Critical: 2  Major: 0  Minor: 0

Source                     Time                   Severity      Description [Index]

------                     ------                 --------      -------------------

TenGigabitEthernet0/1/0    Jul 26 2019 15:14:04   CRITICAL      Physical Port Link Down [1]

TenGigabitEthernet0/1/1    Jul 26 2019 15:14:04   CRITICAL      Physical Port Link Down [1]