Citrix ADC

Aufzeichnen eines Pakettracings in Citrix ADC

In diesem Artikel zur Fehlerbehebung wird erläutert, wie ein Administrator mithilfe der Citrix ADC GUI eine Netzwerkpaketverfolgung aufzeichnen kann.

Wichtige Punkte

  • Citrix empfiehlt die Verwendung der aktuellen Wireshark-Version aus dem “Abschnitt zum automatisierten Erstellen”, der auf der folgenden Webseite verfügbar ist: http://www.wireshark.org/download/automated.

  • In Citrix ADC Version 11.1 oder höher, um die Erfassung zu entschlüsseln und sicherzustellen, dass ECC (Elliptic Curve Cryptography), Sitzungswiederverwendung und DH-Parameter auf dem virtuellen Server deaktiviert sind. Sie müssen dies tun, bevor Sie eine Spur aufnehmen.

Packet-Trace auf NetScaler Version 11.1 aufzeichnen

  1. Navigieren Sie zur Seite System > Diagnose .
  2. klicken Sie auf der Diagnoseseite auf den Link Neue Ablaufverfolgung starten, wie im folgenden Screenshot gezeigt.

    Auf die Diagnoseseite

  3. Aktualisieren Sie die Paketgröße im Feld Paketgröße auf 0.

    Paket-Größe

  4. Klicken Sie auf Start, um die Aufzeichnung des Netzwerk-Paket-Trace
  5. Klicken Sie auf Beenden und herunterladen, um die Aufzeichnung des Netzwerk-Paket-Trace nach Abschluss des Tests zu beenden.

    Trace anhalten und herunterladen

  6. Wählen Sie die gewünschte Datei aus, klicken Sie auf Auswählen und dann auf Herunterladen.

    Paket-Trace herunterladen

  7. Öffnen Sie die Netzwerk-Paket-Trace-Datei mit dem Wireshark-Dienstprogramm, um den Inhalt der Datei anzuzeigen.

    Hinweis: Wählen Sie Entschlüsselte SSL-Pakete (SSLPLAIN) aus, um die Paketverfolgung ohne den privaten Schlüssel zu entschlüsseln.

    Entschlüsselung SSL-Pakete

SSL-Masterschlüssel erfassen

In der Version 11.0, 11.1 und höher gibt es eine Option zum Erfassen der Sitzungsschlüssel, die nur für diese bestimmte Sitzung/nstrace gültig ist. Diese Option kann verwendet werden, wenn Sie den privaten Schlüssel nicht teilen oder den SSLPLAIN-Modus verwenden möchten. Weitere Informationen finden Sie unter https://support.citrix.com/article/CTX135889.

Exportieren von Sitzungsschlüsseln ohne privaten Schlüssel zu teilen

In den meisten Szenarien ist der private Schlüssel nicht verfügbar oder wird nicht freigegeben. In solchen Szenarien können wir vorschlagen, die SSL-Sitzungsschlüssel anstelle des privaten Schlüssels zu exportieren. Lesen Sie, [Exportieren und Verwenden von SSL-Sitzungsschlüsseln zum Entschlüsseln von SSL-Traces ohne gemeinsame Nutzung des privaten SSL-Keys, siehe https://support.citrix.com/article/CTX135889.

Filter

Außerdem wird immer empfohlen, IP-basierte Filter hinzuzufügen, während Spuren aufgezeichnet werden. Der Prozess stellt sicher, dass Sie nur interessierten Datenverkehr erfassen, was Ihre Fehlerbehebung erleichtert. Das Hinzufügen von Filtern verringert auch die Belastung des Geräts beim Aufnehmen von Spuren.

Abschnitt Filter

Einfache IP-basierte Filter reichen aus, um die richtigen Aufnahmen zu erhalten. Weitere Informationen zu nstrace-Filtern und -Beispielen finden Sie in der Citrix-Dokumentation .

Anwendungsfall zur Erfassung einer Paketverfolgung mit IP-Filter des virtuellen Servers (sowohl Front-End als auch Back-End)

Wenn Sie einen Filter der IP-Adresse des virtuellen Servers verwenden und die Option “—link” in der CLI aktivieren oder die Option “Gefilterten Verbindungs-Peer-Verkehr verfolgen” in der GUI (verfügbar ab Version 10.1) auswählen, können Sie sowohl den Front-End- als auch den Back-End-Verkehr für die IP-Adresse erfassen.

start nstrace -size 0 -filter "CONNECTION.IP.EQ(1.1.1.1)" -link ENABLED

show nstrace
        State:  RUNNING          Scope:  LOCAL            TraceLocation:  "/var/nstrace/24Mar2017_16_00_19/..." Nf:  24                  Time:  3600              Size:  0                 Mode:  TXB NEW_RX
        Traceformat:  NSCAP      PerNIC:  DISABLED        FileName:  24Mar2017_16_00_19 Filter:  "CONNECTION.IP.EQ(1.1.1.1)" Link:  ENABLED           Merge:  ONSTOP           Doruntimecleanup:  ENABLED
        TraceBuffers:  5000      SkipRPC:  DISABLED       Capsslkeys:  DISABLED    InMemoryTrace:  DISABLED
<!--NeedCopy-->

Merge

Erfassung zyklischer Spuren

Es ist immer schwierig, ein zeitweiliges Problem zu beheben. Die zyklische Ablaufverfolgung eignet sich am besten für intermittierende Probleme. Die Traces können über einen Zeitraum von wenigen Stunden oder Tagen ausgeführt werden, bevor das Problem auftritt. Sie können auch einen bestimmten Filter verwenden und die Größe der generierten Ablaufverfolgungsdateien auswerten, bevor Sie sie für eine längere Zeit ausführen.

Führen Sie den folgenden Befehl in der CLI aus:

start nstrace -nf 60 -time 30 -size 0
This particular trace will create 60 files each of them for 30 sec. This means the files will start getting overwritten after 60 trace files or 30 mins
Show nstrace à To check the status of the nstrace
Stop nstrace à To stop the nstrace.

<!--NeedCopy-->

Bewährte Methoden

Auf einer Einheit, die GB Verkehr pro Sekunde verarbeitet, ist das Erfassen von Datenverkehr ein sehr ressourcenintensiver Prozess. Die Auswirkungen auf Ressourcen beziehen sich hauptsächlich auf die CPU und den Speicherplatz. Die Auswirkungen auf den Speicherplatz können durch die Verwendung von Filterausdrücken reduziert werden. Die Auswirkungen auf die CPU bleiben jedoch bestehen und führen manchmal zu einem leichten Anstieg, da die Appliance nun Pakete gemäß dem Filter verarbeiten muss, bevor sie erfasst werden.

Die beste Vorgehensweise in Bezug auf die Rückverfolgung ist:

  1. Die Dauer, für die die Ablaufverfolgung ausgeführt wird, muss so begrenzt wie möglich sein, wenn Sie dennoch sicherstellen, dass die Pakete von Interesse erfasst werden.
  2. Planen Sie die Verfolgungsaktivität so ein, dass sie zu einem Zeitpunkt stattfindet, an dem die Anzahl der Benutzer (und damit der Verkehr) stark reduziert wird, z. B. außerhalb der Geschäftszeiten.

Weitere Ressourcen

Deaktivieren Sie die Wiederverwendung von Sitzungen auf einem virtuellen Server über die

Die Wiederverwendung von Sitzungen ist deaktiviert, wenn Sie einen Trace erfassen, um einen SSL-Handshake im Trace abzuschließen. Wenn es aktiviert ist, können Sie einen teilweisen Handshake in der Ablaufverfolgung erfassen. Stellen Sie sicher, dass Sie die Option nach der Trace-Erfassung aktivieren. Deaktivieren Sie die Wiederverwendung einer SSL-Sitzung nicht, wenn die Persistenzmethode sslsession ist, da dies die Persistenz für bestehende Verbindungen beeinträchtigt. Weitere Informationen finden Sie unter https://support.citrix.com/article/CTX121925.

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu SSL-Parameter.
  2. Deaktivieren Sie “Sitzungswiederverwendung aktivieren”, falls aktiviert

    Wiederverwendung von Sitzungen aktivieren

Deaktivieren Sie die Wiederverwendung von Sitzungen auf einem virtuellen Server über die CLI

  1. SSH an die Appliance-Konsole.
  2. Führen Sie den folgenden Befehl aus, um DH Param vom virtuellen Server aus zu deaktivieren:

    set ssl vserver "vServer_Name" -sessReuse DISABLED

DH-Parameter auf virtuellem Server über die GUI deaktivieren

Weitere Informationen zu DH-Parametern finden Sie unter https://support.citrix.com/article/CTX213335.

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu SSL-Parameter.
  2. Deaktivieren Sie DH Param, falls aktiviert.

    SSL-Parameter

Deaktivieren Sie den DH-Parameter auf dem virtuellen Server über die CLI

  1. SSH an die Appliance-Konsole.
  2. Führen Sie den folgenden Befehl aus, um DH Param vom virtuellen Server aus zu deaktivieren:

    set ssl vserver "vServer_Name" -dh DISABLED

Deaktivieren Sie die ECC-Kurve auf dem virtuellen Server über die GUI

Die ECC-Kurve ist deaktiviert, um den erfassten SSL-Trace mit einem privaten Schlüssel zu entschlüssel Sie dürfen die Schlüssel nicht deaktivieren, wenn die zugehörigen SSL-Chiffren verwendet werden. Weitere Hinweise zur ECC-Kurve finden Sie unter https://support.citrix.com/article/CTX205289

  1. Öffnen Sie den virtuellen Server und navigieren Sie zu ECC Curve.

    ECC-Kurve

  2. Wenn keine ECC-Kurve an den virtuellen Server gebunden ist, ist keine weitere Aktion erforderlich.

    Keine CC-Kurve

  3. Wenn eine ECC-Kurve an den virtuellen Server gebunden ist, klicken Sie auf die ECC-Kurve und lösen Sie sie vom virtuellen Server.

Deaktivieren Sie die ECC-Kurve auf dem virtuellen Server über die CLI

  1. SSH an die Appliance-Konsole.
  2. Führen Sie den folgenden Befehl für jede an den virtuellen Server gebundene ECC-Kurve aus:

    unbind ssl vserver "vServer_Name" -eccCurveName "ECC_Curve_Name"

Aufzeichnen eines Pakettracings in Citrix ADC