UDP-Sitzungen bleiben nach Failover hängen
50676
Created On 11/30/20 02:01 AM - Last Modified 10/23/24 20:17 PM
Symptom
- UDP-Datenverkehr wird nach einem Fehler auf der primären Verbindung nicht an die Sicherungsverbindung weitergeleitet.
- Die Sicherungsausgangsschnittstelle wird ignoriert.
- Dies kann eine PBF-Regel oder eine andere Route sein.
Environment
- Alle aktuellen PAN-OS
- Dual Homed-Konfiguration.
- Pfadüberwachung für Ausgangsschnittstellen.
Cause
Die Firewall folgt Sitzungen.
Die Sitzungen sind für TCP-Datenverkehr leicht nachzuverfolgen, da wir einen Sitzungsbeginn und ein Sitzungsende identifizieren können.
Dies ist jedoch bei UDP nicht möglich.
Für UDP erstellt die Firewall eine Sitzung beim ersten UDP-Paket, dann bleibt die Sitzung oben, wenn die Sitzungttl 0 erreicht. Die Sitzungs-TTL wird auf ihren Standardwert (standardmäßig 30 Sek.) zurückgesetzt, solange UDP-Datenverkehr dieser Sitzung entspricht.
Da die Sitzung aufgrund des kontinuierlich engressiven Pakets nicht abgelaufen ist, kann die Sitzung nicht bewillt werden, und der UDP-Datenverkehr wird an der falschen ausgehenden Schnittstelle klebt.
Resolution
HINWEIS:
Die einfache Lösung besteht darin, die festgefahrenen UDP-Sitzungen zu löschen.
> klare Sitzung alle Filterprotokoll 17
Es ist jedoch nicht möglich, dies bei jedem Fehler manuell zu tun.
Die unten gezeigte Methode nutzt die XMLAPI, um die Sitzungen zu löschen.
Die folgenden Schritte ermöglichen es Ihnen, diese Sitzungen automatisch zu löschen, wenn ein PBF-Fehler auftritt. Eine ähnliche Konfiguration kann jedoch für fehlerbehaftete Pfadüberwachung auf statischer Route durchgeführt werden.
Schritt 1 - Erstellen eines Benutzerkontos für die XML-API
Für unseren Anwendungsfall muss das Benutzerkonto mindestens die Rolle "Geräteadministrator" haben.- Gehen Sie zu Device>Administrators
- Klicken Sie auf hinzufügen.
- Eingeben der Benutzerkontoinformationen
- Nachdem das Konto erstellt wurde, übernehmen Sie die Konfigurationsänderung.
Schritt 2. Generieren Sie den XML-API-Schlüssel.
- Öffnen Sie mit Ihrem Webbrowser die URL
https://firewall/api/?type=keygen&user=username&password=password
- Halten Sie den Schlüssel im Notizblock, wie wir ihn später benötigen.
Schritt 3. Die PBF muss ein Protokoll generieren
- Stellen Sie sicher, dass die PBF-Regel über eine Pfadüberwachung verfügt, da wir dieses Protokoll verwenden, um die Aktion auszulösen.
- Aktivieren der Pfadüberwachung für die PBF-Regel
Schritt 4. Suchen Sie nach dem zu verwendenden Protokoll
- Hinweis in den Systemprotokollen sind die Protokolle für die PBF mit dem Filter "(subtype eq pbf)" sichtbar.
- Um zu vermeiden, dass mehrere Sitzungen in kurzer Zeit gelöscht werden, verwenden Sie den Filter
(Subtyp eq pbf) und (Beschreibung enthält ' nexthop ist ')
Schritt 5 . Konfiguration des HTTP-Profils.
- Wechseln zu Gerät > HTTP
- Klicken Sie auf hinzufügen
- Klicken Sie auf Hinzufügen .
- Legen Sie die folgenden Parameter für den Server fest:
Name : beliebiger Name Adresse : localhost Protokoll : HTTP Anschluss : 80 HTTP-Methode : GET
- Klicken Sie auf Nutzlastformat.
- Klicken Sie auf System (während wir an Systemprotokollen arbeiten).
- Legen Sie im Nutzlastformatfenster die folgenden Werte fest:
Name : beliebiger Name In Parametern: Schlüssel : der ZUVOR abgerufene API-Schlüssel Typ : op cmd : <clear> <session> <all> <filter> <protocol>17</protocol></filter></all></session></clear>
- Sobald Sie fertig sind, klicken Sie zweimal auf OK.
Schritt 6. Wenden Sie das HTTP-Profil auf das Protokoll an.
- Gehen Sie zu Device>Log-Einstellungen
- Klicken Sie auf Hinzufügen
- Geben Sie der Regel einen Namen.
- Klicken Sie auf den Pfeil, um die Filteroptionen zu erweitern
- Klicken Sie auf Filter Builder.
- Im Filter-Generator können Sie den Filter "(subtype eq pbf) und ( Beschreibung enthält ' Nexthop ist ')" einfügen.
- Klicken Sie auf OK.
- Klicken Sie im HTTP-Bereich auf Hinzufügen.
- Wählen Sie das HTTP-Profil aus, das wir zuvor erstellt haben.
- Klicken Sie auf OK.
- Klicken Sie auf Commit.
Schritt 7. Überprüfung
- Um zu überprüfen, ob einige Sitzungen geschlossen werden, überprüfen Sie die Datenverkehrsprotokolle, und suchen Sie nach Sitzungsende aus unbekanntem Grund.
- Korrelieren Sie mit den Systemprotokollen.
Additional Information
Admin Guide
Abrufen Des API Keys
Configure LogForwarding