Suivi des paquets d’un cluster Citrix ADC

Le système d’exploitation Citrix ADC fournit un utilitaire appelé nstrace pour obtenir un vidage des paquets reçus et envoyés par une appliance. L’utilitaire stocke les paquets dans des fichiers de suivi. Vous pouvez utiliser ces fichiers pour déboguer des problèmes dans le flux de paquets vers les nœuds de cluster. Les fichiers de suivi doivent être affichés avec l’application Wireshark.

Certains aspects saillants de l’utilitaire nstrace sont :

  • Peut être configuré pour tracer les paquets de manière sélective à l’aide d’expressions classiques et d’expressions par défaut.
  • Peut capturer la trace dans plusieurs formats : format nstrace (.cap) et format de vidage TCP (.pcap).
  • Peut agréger les fichiers de trace de tous les nœuds de cluster sur le coordinateur de configuration.
  • Peut fusionner plusieurs fichiers de trace en un seul fichier de trace (uniquement pour les fichiers .cap).

Vous pouvez utiliser l’utilitaire nstrace à partir de la ligne de commande Citrix ADC ou de l’interpréteur de commandes Citrix ADC.

Pour suivre les paquets d’une appliance autonome

Exécutez la commande start nstrace sur l’appliance. La commande crée des fichiers de trace dans le <date-timestamp> répertoire /var/nstrace/. Les noms des fichiers de trace sont de la forme nstrace <id> .cap.

Vous pouvez afficher l’état en exécutant la commande show nstrace . Vous pouvez arrêter le suivi des paquets en exécutant la commande stop nstrace .

Remarque

Vous pouvez également exécuter l’utilitaire nstrace à partir du shell Citrix ADC en exécutant le fichier nstrace.sh. Toutefois, il est recommandé d’utiliser l’utilitaire nstrace via l’interface de ligne de commande Citrix ADC.

Pour suivre les paquets d’un cluster

Vous pouvez suivre les paquets sur tous les nœuds de cluster et obtenir tous les fichiers de trace sur le coordinateur de configuration.

Exécutez la commande start nstrace sur l’adresse IP du cluster. La commande est propagée et exécutée sur tous les nœuds de cluster. Les fichiers de trace sont stockés dans des nœuds de cluster individuels dans le <date-timestamp> répertoire /var/nstrace/. Les noms des fichiers de trace sont de la forme nstrace <id> _node <id> .cap.

Vous pouvez utiliser les fichiers de trace de chaque nœud pour déboguer les opérations des nœuds. Mais si vous souhaitez que les fichiers de trace de tous les nœuds de cluster soient situés à un seul emplacement, vous devez exécuter la commande stop nstrace sur l’adresse IP du cluster. Les fichiers de trace de tous les nœuds sont téléchargés sur le coordinateur de configuration du cluster dans le <date-timestamp> répertoire /var/nstrace/ comme suit :

image localisée

Fusionner plusieurs fichiers de trace

Vous pouvez préparer un seul fichier à partir des fichiers de trace (pris en charge uniquement pour les fichiers .cap) obtenus à partir des nœuds de cluster. Les fichiers de trace unique vous donnent une vue cumulative de la trace des paquets de cluster. Les entrées de suivi dans le fichier de suivi unique sont triées en fonction de l’heure à laquelle les paquets ont été reçus sur le cluster.

Pour fusionner les fichiers de trace, dans le shell Citrix ADC, tapez :

> nstracemerge.sh -srcdir \<DIR\> -dstdir \<DIR\> -filename \<name\> -filesize \<num\>

où,

  • srcdir est le répertoire à partir duquel les fichiers de trace sont fusionnés. Tous les fichiers de suivi de ce répertoire sont fusionnés en un seul fichier.
  • dstdir est le répertoire où le fichier de trace fusionné est créé.
  • nomfichier est le nom du fichier de trace créé.
  • filesize est la taille du fichier trace.

Exemples

Voici quelques exemples d’utilisation de l’utilitaire nstrace pour filtrer les paquets.

  • Pour suivre les paquets sur les interfaces de backplane de trois nœuds :

    Utilisation d’expressions classiques :

     > start nstrace -filter "INTF == 0/1/1 && INTF == 1/1/1 && INTF == 2/1/1"
    

    Utilisation des expressions par défaut :

     > start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")"
    
  • Pour suivre les paquets à partir d’une adresse IP source 10.102.34.201 ou d’un système dont le port source est supérieur à 80 et le nom de service n’est pas “s1” :

    Utilisation d’expressions classiques

     > start nstrace -filter "SOURCEIP == 10.102.34.201 || (SVCNAME != s1 && SOURCEPORT > 80)"
    

    Utilisation d’expressions par défaut

     > start nstrace -filter "CONNECTION.SRCIP.EQ(10.102.34.201) || (CONNECTION.SVCNAME.NE("s1") && CONNECTION.SRCPORT.GT(80))"
    

Remarque Pour plus d’informations sur les filtres utilisés dans nstrace, reportez-vous à la sectionNstrace.

Capture des clés de session SSL lors d’une trace

Lorsque vous exécutez la commande « start nstrace », vous pouvez définir le nouveau paramètre « capsslkeys » pour capturer les clés principales SSL pour toutes les sessions SSL. Si vous incluez ce paramètre, un fichier nommé nstrace.sslkeys est généré avec la trace des paquets. Ce fichier peut être importé dans Wireshark pour déchiffrer le trafic SSL dans le fichier de trace correspondant.

Cette fonctionnalité est similaire aux navigateurs Web qui exportent des clés de session qui peuvent ultérieurement être importées dans Wireshark pour décrypter le trafic SSL.

Avantages de l’utilisation des clés de session SSL

Voici les avantages de l’utilisation des clés de session SSL :

  1. Génère des fichiers de trace plus petits qui n’incluent pas les paquets supplémentaires créés par le mode SSLPLAIN de capture.
  2. Permet d’afficher le texte brut [SP (1] à partir de la trace et de choisir de partager le fichier des clés principales ou de protéger les données sensibles en ne le partageant pas.

Limitations de l’utilisation des clés de session SSL

Voici les limites de l’utilisation des clés de session SSL :

  1. Les sessions SSL ne peuvent pas être déchiffrées si les paquets initiaux de la session ne sont pas capturés.
  2. Les sessions SSL ne peuvent pas être capturées si le mode FIPS (Federal Information Processing Standard) est activé.

Pour capturer les clés de session SSL à l’aide de l’interface de ligne de commande (CLI)

À l’invite de commandes, tapez les commandes suivantes pour activer ou désactiver les clés de session SSL dans un fichier de suivi et vérifier l’opération de suivi.

> start nstrace -capsslkeys ENABLED
> show nstrace
Exemple
> start nstrace -capsslkeys ENABLED
> show nstrace
      State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/04May2016_17_51_54/..."
      Nf:  24                  Time:  3600              Size:  164               Mode:  TXB NEW_RX
      Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  04May2016_17_51_54 Link:  DISABLED
      Merge:  ONSTOP           Doruntimecleanup:  ENABLED TraceBuffers:  5000      SkipRPC:  DISABLED
      SkipLocalSSH:  DISABLED  Capsslkeys:  ENABLED     InMemoryTrace:  DISABLED
 Done

Pour configurer les clés de session SSL à l’aide de l’interface graphique Citrix ADC

  1. Accédez à Configuration > Système > Diagnostics > Outils de support technique et cliquez sur Démarrer une nouvelle trace pour démarrer le suivi des paquets chiffrés sur une appliance.
  2. Dans la page Démarrer le suivi, activez la case à cocher Capturer les clés principales SSL.
  3. Cliquez sur OK et Terminé.

Pour importer les clés principales SSL dans Wireshark

Dans l’interface graphique Wireshark, accédez à Edition > Préférences > Protocoles > SSL > (Pre) -Master-Secret nom du fichier journal et spécifiez les fichiers de clé principale obtenus à partir de l’appliance.