Citrix ADC

Protokollierung der Pakete eines Citrix ADC-Clusters

Das Citrix ADC Betriebssystem stellt ein Dienstprogramm namens nstrace bereit, um ein Abbild der Pakete zu erhalten, die von einer Appliance empfangen und gesendet werden. Das Dienstprogramm speichert die Pakete in Ablaufverfolgungsdateien. Sie können diese Dateien verwenden, um Probleme im Fluss von Paketen zu den Clusterknoten zu debuggen. Die Trace-Dateien müssen mit der Wireshark-Anwendung angezeigt werden.

Einige wichtige Aspekte des nstrace Dienstprogramms sind:

  • Kann so konfiguriert werden, dass Pakete selektiv mit klassischen Ausdrücken und Standardausdrücken verfolgt werden.
  • Kann die Ablaufverfolgung in mehreren Formaten erfassen: nstrace-Format (.cap) und TCP-Dump-Format (.pcap).
  • Kann die Ablaufverfolgungsdateien aller Clusterknoten auf dem Konfigurationskoordinator aggregieren.
  • Kann mehrere Ablaufverfolgungsdateien in einer einzelnen Ablaufverfolgungsdatei zusammenführen (nur für CAP-Dateien).

Sie können das Dienstprogramm nstrace über die Citrix ADC-Befehlszeile oder die Citrix ADC-Shell verwenden.

So verfolgen Sie Pakete einer eigenständigen Appliance

Führen Sie den Befehl start nstrace auf der Appliance aus. Der Befehl erstellt Ablaufverfolgungsdateien im <date-timestamp> Verzeichnis /var/nstrace/. Die Namen der Ablaufverfolgungsdatei haben die Form nstrace <id> .cap.

Sie können den Status anzeigen, indem Sie den Befehl show nstrace ausführen. Sie können die Verfolgung der Pakete beenden, indem Sie den Befehl stop nstrace ausführen.

Hinweis:

Sie können das Dienstprogramm nstrace auch von der Citrix ADC-Shell ausführen, indem Sie die Datei nstrace.sh ausführen. Es wird jedoch empfohlen, das Dienstprogramm nstrace über die Citrix ADC Befehlszeilenschnittstelle zu verwenden.

So verfolgen Sie Pakete eines Clusters

Sie können die Pakete auf allen Clusterknoten verfolgen und alle Ablaufverfolgungsdateien auf dem Konfigurationskoordinator abrufen.

Führen Sie den Befehl start nstrace für die Cluster-IP-Adresse aus. Der Befehl wird propagiert und auf allen Clusterknoten ausgeführt. Die Trace-Dateien werden in einzelnen Clusterknoten im <date-timestamp> Verzeichnis /var/nstrace/ gespeichert. Die Namen der Ablaufverfolgungsdatei haben die Form nstrace <id> _node <id> .cap.

Sie können die Ablaufverfolgungsdateien jedes Knotens verwenden, um die Knoten Operationen zu debuggen. Wenn Sie jedoch die Ablaufverfolgungsdateien aller Clusterknoten an einem Speicherort möchten, müssen Sie den Befehl stop nstrace für die Cluster-IP-Adresse ausführen. Die Ablaufverfolgungsdateien aller Knoten werden auf den Clusterkonfigurationskoordinator im <date-timestamp> Verzeichnis /var/nstrace/ wie folgt heruntergeladen:

lokalisiertes Bild

Mehrere Trace-Dateien zusammenführen

Sie können eine einzelne Datei aus den Ablaufverfolgungsdateien vorbereiten (die nur für CAP-Dateien unterstützt werden), die von den Clusterknoten erhalten wurden. Die einzelnen Ablaufverfolgungsdateien geben Ihnen eine kumulative Ansicht der Ablaufverfolgung der Clusterpakete. Die Ablaufverfolgungseinträge in der einzelnen Ablaufverfolgungsdatei werden basierend auf der Zeit sortiert, an der die Pakete auf dem Cluster empfangen wurden.

Um die Ablaufverfolgungsdateien zusammenzuführen, geben Sie in der Citrix ADC-Shell Folgendes ein:

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

Wobei:

  • srcdir ist das Verzeichnis, aus dem die Trace-Dateien zusammengeführt werden. Alle Trace-Dateien in diesem Verzeichnis werden in einer einzigen Datei zusammengeführt.
  • dstdir ist das Verzeichnis, in dem die zusammengeführte Trace-Datei erstellt wird.
  • filename ist der Name der Ablaufverfolgungsdatei, die erstellt wird.
  • filesize ist die Größe der Ablaufverfolgungsdatei.

Beispiele

Im Folgenden finden Sie einige Beispiele für die Verwendung des Dienstprogramms nstrace zum Filtern von Paketen.

  • So verfolgen Sie die Pakete auf den Backplane-Schnittstellen von drei Knoten:

    Klassische Ausdrücke verwenden:

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

    Standardausdrücke verwenden:

     > start nstrace -filter "CONNECTION.INTF.EQ("0/1/1") && CONNECTION.INTF.EQ("1/1/1") && CONNECTION.INTF.EQ("2/1/1")"
    
  • So verfolgen Sie die Pakete von einer Quell-IP-Adresse 10.102.34.201 oder von einem System, dessen Quellport größer als 80 ist und der Dienstname nicht “s1” lautet:

    Verwenden klassischer Ausdrücke

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

    Verwenden von Standardausdrücken

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

Hinweis Weitere Hinweise zu in nstrace verwendeten Filtern finden Sie unternstrace.

Erfassen von SSL-Sitzungsschlüsseln während einer Ablaufverfolgung

Wenn Sie den Befehl start nstrace ausführen, können Sie den neuen Parameter capsslkeys festlegen, um die SSL-Hauptschlüssel für alle SSL-Sitzungen zu erfassen. Wenn Sie diesen Parameter einschließen, wird zusammen mit der Paketverfolgung eine Datei namens nstrace.sslkeys generiert. Diese Datei kann in Wireshark importiert werden, um den SSL-Datenverkehr in der entsprechenden Trace-Datei zu entschlüsseln.

Diese Funktionalität ähnelt Webbrowsern, die Sitzungsschlüssel exportieren, die später in Wireshark importiert werden können, um SSL-Datenverkehr zu entschlüsseln.

Vorteile der Verwendung von SSL-Sitzungsschlüsseln

Im Folgenden sind die Vorteile der Verwendung von SSL-Sitzungsschlüsseln:

  1. Generiert kleinere Ablaufverfolgungsdateien, die nicht die zusätzlichen Pakete enthalten, die im SSLPLAIN Modus der Erfassung erstellt wurden.
  2. Bietet die Möglichkeit, Klartext [SP (1] aus der Ablaufverfolgung anzuzeigen und auszuwählen, ob die Hauptschlüsseldatei freigeben oder vertrauliche Daten geschützt werden soll, indem sie nicht freigegeben wird.

Einschränkungen bei der Verwendung von SSL-Sitzungsschlüsseln

Im Folgenden sind die Einschränkungen der Verwendung von SSL-Sitzungsschlüsseln:

  1. SSL-Sitzungen können nicht entschlüsselt werden, wenn anfängliche Pakete der Sitzung nicht erfasst werden.
  2. SSL-Sitzungen können nicht erfasst werden, wenn der FIPS-Modus (Federal Information Processing Standard) aktiviert ist.

So erfassen Sie SSL-Sitzungsschlüssel mit der Befehlszeilenschnittstelle (CLI)

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um SSL-Sitzungsschlüssel in einer Ablaufverfolgungsdatei zu aktivieren oder zu deaktivieren und den Ablaufverfolgungsvorgang zu überprüfen.

> start nstrace -capsslkeys ENABLED
> show nstrace
Beispiel
> 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
 Fertig

So konfigurieren Sie SSL-Sitzungsschlüssel über die Citrix ADC GUI

  1. Navigieren Sie zu Konfiguration > System > Diagnose > Technischer Support Tools, und klicken Sie auf Neue Ablaufverfolgung starten, um mit der Verfolgung verschlüsselter Pakete auf einer Appliance zu beginnen.
  2. Aktivieren Sie auf der Seite Trace starten das Kontrollkästchen SSL-Masterschlüssel erfassen.
  3. Klicken Sie auf OK und Fertig.

So importieren Sie die SSL-Master Keys in Wireshark

Navigieren Sie auf der Wireshark GUI zu Bearbeiten > Voreinstellungen > Protokolle > SSL > (Pre) -Master-Secret Protokolldateiname und geben Sie die Masterschlüsseldateien an, die von der Appliance erhalten wurden.

Protokollierung der Pakete eines Citrix ADC-Clusters