Citrix ADC

Policy-Based Routes (PBR) für IPv4-Datenverkehr

Die Konfiguration von PBRs umfasst die folgenden Aufgaben:

  • Erstellen Sie eine PBR.
  • PBRs anwenden.
  • (Optional) Deaktivieren oder aktivieren Sie eine PBR.
  • (Optional) Nummerieren Sie die Priorität des PBR neu.

Erstellen oder Ändern einer PBR

Sie können nicht zwei PBRs mit denselben Parametern erstellen. Wenn Sie versuchen, ein Duplikat zu erstellen, wird eine Fehlermeldung angezeigt.

Sie können die Priorität eines PBR konfigurieren. Die Priorität (ein ganzzahliger Wert) definiert die Reihenfolge, in der die Citrix ADC Appliance PBRs auswertet. Wenn Sie eine PBR ohne Angabe einer Priorität erstellen, weist Citrix ADC automatisch eine Priorität zu, die ein Vielfaches von 10 ist.

Wenn ein Paket mit der vom PBR definierten Bedingung übereinstimmt, führt Citrix ADC eine Aktion aus. Wenn das Paket nicht mit der vom PBR definierten Bedingung übereinstimmt, vergleicht der Citrix ADC das Paket mit dem PBR mit der nächsthöheren Priorität.

Anstatt die ausgewählten Pakete an einen Next Hop Router zu senden, können Sie die PBR so konfigurieren, dass sie an einen virtuellen Link-Load Balancing Server gesendet werden, an den Sie mehrere nächste Hops gebunden haben. Diese Konfiguration kann ein Backup bereitstellen, wenn ein nächster Hop-Link fehlschlägt.

Betrachten Sie das folgende Beispiel. Zwei PBRs, p1 und p2, sind auf dem Citrix ADC konfiguriert und weisen automatisch Prioritäten 20 und 30 zu. Sie müssen eine dritte PBR, p3, hinzufügen, die unmittelbar nach dem ersten PBR, p1, ausgewertet werden soll. Die neue PBR, p3, muss eine Priorität zwischen 20 und 30 haben. In diesem Fall können Sie die Priorität als 25 angeben.

CLI-Verfahren

So erstellen Sie eine PBR mit der CLI:

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add ns pbr <name> <action> [-srcIP [<operator>] <srcIPVal>] [-srcPort [<operator>] <srcPortVal>] [-destIP [<operator>] <destIPVal>] [-destPort [<operator>] <destPortVal>] [-nextHop <nextHopVal>] [-srcMac <mac_addr>] [-protocol <protocol> |-protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>] [-priority <positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor <string>]] [-state ( ENABLED | DISABLED )]
  • show ns pbr

Beispiel:

> add ns pbr pbr1  allow -srcip 10.102.37.252 -destip 10.10.10.2 -nexthop 10.102.29.77
 Done

So ändern Sie die Priorität eines PBR mit der CLI:

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um die Priorität zu ändern und die Konfiguration zu überprüfen:

  • set ns pbr <name> [-action ( ALLOW | DENY )] [-srcIP [<operator>] <srcIPVal>] [-srcPort [<operator>] <srcPortVal>] [-destIP [<operator>] <destIPVal>] [-destPort [<operator>] <destPortVal>] [-nextHop <nextHopVal>] [-srcMac <mac_addr>] [-protocol <protocol> | -protocolNumber <positive_integer>] [-vlan <positive_integer>] [-interface <interface_name>] [-priority <positive_integer>] [-msr ( ENABLED | DISABLED ) [-monitor <string>]] [-state ( ENABLED | DISABLED )]
  • ns pbr anzeigen[<name>]

Beispiel:

> set ns pbr pbr1 -priority 23
 Done

So entfernen Sie einen oder alle PBRs mit der CLI:

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:

  • rm ns pbr <name>
  • clear ns pbrs

Beispiel:

> rm ns pbr pbr1
 Done

> clear ns PBRs
 Done

GUI-Verfahren

So erstellen Sie eine PBR mit der GUI:

Navigieren Sie zu System > Netzwerk > PBRs, fügen Sie auf der Registerkarte PBRs eine neue PBR hinzu, oder bearbeiten Sie eine vorhandene PBR.

So entfernen Sie einen oder alle PBRs mit der GUI:

Navigieren Sie zu System > Netzwerk > PBRs, löschen Sie auf der Registerkarte PBRs die PBR.

Anwenden einer PBR

Sie müssen eine PBR anwenden, um sie zu aktivieren. Das folgende Verfahren wendet alle PBRs erneut an, die Sie nicht deaktiviert haben. Die PBRs bilden eine Speicherstruktur (Nachschlagetabelle). Wenn Sie beispielsweise 10 PBRs (p1 - p10) erstellen und dann einen weiteren PBR (p11) erstellen und anwenden, werden alle PBRs (p1 - p11) neu angewendet und eine neue Nachschlagetabelle erstellt. Wenn eine Sitzung mit einem DENY-PBR zusammenhängt, wird die Sitzung zerstört.

Sie müssen dieses Verfahren nach jeder Änderung, die Sie an einem PBR vornehmen, anwenden. Sie müssen dieses Verfahren beispielsweise ausführen, nachdem Sie eine PBR deaktiviert haben.

Hinweis: Auf der Citrix ADC Appliance erstellte PBRs funktionieren erst dann, wenn sie angewendet werden.

So wenden Sie eine PBR mit der CLI an:

Geben Sie an der Eingabeaufforderung Folgendes ein:

apply ns PBRs

So wenden Sie eine PBR mit der GUI an:

  1. Navigieren Sie zu System > Netzwerk > PBRs.
  2. Wählen Sie auf der Registerkarte PBRs die PBR aus, wählen Sie in der Liste Aktion die Option Anwenden aus.

Aktivieren oder Deaktivieren von PBRs

Standardmäßig sind die PBRs aktiviert. Das bedeutet, dass die Citrix ADC Appliance bei der Anwendung von PBRs automatisch eingehende Pakete mit den konfigurierten PBRs verglichen. Wenn ein PBR in der Nachschlagetabelle nicht erforderlich ist, aber in der Konfiguration beibehalten werden muss, muss er deaktiviert werden, bevor die PBRs angewendet werden. Nachdem die PBRs angewendet wurden, gleicht der Citrix ADC keine eingehenden Pakete mit deaktivierten PBRs.

So aktivieren oder deaktivieren Sie einen PBR mit der CLI:

Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:

  • enable ns pbr <name>
  • disable ns pbr <name>

Beispiel:

> enable ns PBR pbr1
 Done
> show ns PBR pbr1
1)      Name: pbr1
        Action: ALLOW                          Hits: 0
        srcIP = 10.102.37.252
        destIP = 10.10.10.2
        srcMac:                                Protocol:
        Vlan:                                  Interface:
        Active Status: ENABLED                 Applied Status: APPLIED
        Priority: 10
        NextHop: 10.102.29.77

 Done

> disable ns PBR pbr1
Warning: PBR modified, use 'apply pbrs' to commit this operation

> apply pbrs
 Done

> show ns PBR pbr1
1)      Name: pbr1
        Action: ALLOW                          Hits: 0
        srcIP = 10.102.37.252
        destIP = 10.10.10.2
        srcMac:                                Protocol:
        Vlan:                                  Interface:
        Active Status: DISABLED                Applied Status: NOTAPPLIED
        Priority: 10
        NextHop: 10.102.29.77
Done

So aktivieren oder deaktivieren Sie einen PBR mit der GUI:

  1. Navigieren Sie zu System > Netzwerk > PBRs.
  2. Wählen Sie auf der Registerkarte PBRs die PBR aus, wählen Sie in der Liste Aktion die Option Aktivieren oder Deaktivieren aus.

PBR6s neu nummerieren

Sie können die PBRs automatisch neu nummerieren, um ihre Prioritäten auf ein Vielfaches von 10 festzulegen.

So nummerieren Sie PBRs mit der CLI neu:

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • renumber ns pbrs

So nummerieren Sie PBRs mit der GUI neu:

Navigieren Sie zu System > Netzwerk > PBRs, wählen Sie auf der Registerkarte PBRs in der Liste Aktion die Option Priorität (n) neu nummerieren aus.

Anwendungsfall - PBR mit mehreren Hops

Betrachten Sie ein Szenario, in dem zwei PBRs, PBR1 und PBR2, auf der Citrix ADC Appliance NS1 konfiguriert sind. PBR1 leitet alle ausgehenden Pakete mit Quell-IP-Adresse als 10.102.29.30 an den nächsten Hop-Router R1 weiter. PBR2 leitet alle ausgehenden Pakete mit Quell-IP-Adresse als 10.102.29.90 an den Next Hop Router R2 weiter. R3 ist ein weiterer Next Hop-Router, der mit NS1 verbunden ist.

Wenn Router R1 ausfällt, werden alle ausgehenden Pakete, die mit PBR1 übereinstimmen, gelöscht. Um diese Situation zu vermeiden, können Sie beim Erstellen oder Ändern eines PBR im nächsten Hop-Feld einen virtuellen Link Load Balancing (LLB) angeben. Mehrere nächste Hops sind als Dienste an den virtuellen LLB-Server gebunden (z. B. R1, R2 und R3). Wenn R1 nun fehlschlägt, werden alle Pakete, die mit PBR1 übereinstimmen, an R2 oder R3 weitergeleitet, wie von der LB-Methode bestimmt, die auf dem virtuellen LLB-Server konfiguriert ist.

Die Citrix ADC Appliance löst in folgenden Fällen einen Fehler aus, wenn Sie versuchen, eine PBR mit einem virtuellen LLB-Server als nächsten Hop zu erstellen:

  • Hinzufügen eines weiteren PBR mit demselben virtuellen LLB-Server.
  • Angeben eines nicht vorhandenen virtuellen LLB-Servers.
  • Angeben eines virtuellen LLB-Servers, für den die gebundenen Dienste nicht als nächster Hops gelten.
  • Angeben eines virtuellen LLB-Servers, für den die LB-Methode nicht auf eine der folgenden Werte festgelegt ist:
    • LEASTPACKETS
    • LEASTBANDWIDTH
    • DESTIPHASH
    • SOURCEIPHASH
    • WEIGHTDRR
    • SRCIPDESTIP_HASH
    • LTRM
    • CUSTOM LOAD
  • Angeben eines virtuellen LLB-Servers, für den der LB-Persistenztyp nicht auf einen der folgenden Werte festgelegt ist:
    • DESTIP
    • SOURCEIP
    • SRCDSTIP

In der folgenden Tabelle sind die Namen und Werte der Entitäten aufgeführt, die auf der Citrix ADC Appliance konfiguriert sind:

Entitätstyp Name IP-Adresse
Link-Load Balancing virtueller Server LLB1 NA
Dienstleistungen (nächste Hops) Router1 1.1.1.254
  Router2 2.2.2.254
  Router3 3.3.3.254
PBRs PBR1 NA
  PBR2 NA

Tabelle 1. Beispielwerte für das Erstellen von Entitäten

Um die oben beschriebene Konfiguration zu implementieren, müssen Sie:

  1. Erstellen Sie Dienste Router1, Router2 und Router3, die Next Hop Router R1, R2 und R3 darstellen.
  2. Erstellen Sie den virtuellen Link-Load Balancing Server LLB1 und binden Sie die Dienste Router1, Router2 und Router3 an ihn.
  3. Erstellen Sie PBRs PBR1 und PBR2, wobei Next Hop Felder als LLB1 bzw. 2.2.2.254 (IP-Adresse des Routers R2) festgelegt sind.

So erstellen Sie einen Dienst mit der CLI:

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add service <name> <IP> <serviceType> <port>
  • Service anzeigen <name>

Beispiel:

> add service Router1 1.1.1.254 ANY *
 Done
> add service Router2 2.2.2.254 ANY *
 Done
> add service Router3 3.3.3.254 ANY *
 Done

So erstellen Sie einen Service mit der GUI:

Navigieren Sie zu Traffic Management > Load Balancing > Services, und erstellen Sie einen Service.

So erstellen Sie einen virtuellen Link-Load Balancing Server und binden einen Dienst mit der CLI:

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add lb vserver <name> <serviceType>
  • bind lb vserver < name> <serviceName>
  • show lb vserver < name>

Beispiel:

> add lb vserver LLB1 ANY
 Done
> bind lb vserver LLB1 Router1 Router2 Router3
 Done

So erstellen Sie einen virtuellen Link-Load Balancing Server und binden einen Dienst mit der GUI:

  1. Navigieren Sie zu Verkehrsverwaltung > Lastenausgleich > Virtuelle Server, und erstellen Sie einen virtuellen Server für den Link Load Balancing. Geben Sie ANY im Feld Protokoll an. Hinweis: Stellen Sie sicher, dass direkt adressierbar deaktiviert ist.
  2. Aktivieren Sie auf der Registerkarte Dienste in der Spalte Aktiv das Kontrollkästchen für den Dienst, den Sie an den virtuellen Server binden möchten.

So erstellen Sie eine PBR mit der CLI:

Geben Sie an der Eingabeaufforderung Folgendes ein:

  • add ns pbr <name> <action> [-srcIP [<operator>] <srcIPVal>] [-nextHop <nextHopVal>]
  • show ns pbr

Beispiel:

> add pbr PBR1 ALLOW -srcIP 10.102.29.30 -nextHop LLB1
 Done
> add pbr PBR2 ALLOW -srcIP 10.102.29.90 -nextHop 2.2.2.254
 Done

So erstellen Sie eine PBR mit der GUI:

Navigieren Sie zu System > Netzwerk > PBRs, fügen Sie auf der Registerkarte PBRs eine neue PBR hinzu.

Policy-Based Routes (PBR) für IPv4-Datenverkehr