Policy-Based Routes (PBR) für IPv4-Verkehr
Die Konfiguration von PBRs umfasst die folgenden Aufgaben:
- Erstellen Sie eine PBR.
- Wenden Sie PBRs an.
- (Optional) Deaktivieren oder aktivieren Sie eine PBR.
- (Optional) Nummerieren Sie die Priorität des PBR neu.
PBR erstellen oder ändern
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 einer PBR konfigurieren. Die Priorität (ein ganzzahliger Wert) definiert die Reihenfolge, in der die NetScaler-Appliance PBRs auswertet. Wenn Sie eine PBR erstellen, ohne eine Priorität anzugeben, weist der NetScaler automatisch eine Priorität zu, die ein Vielfaches von 10 ist.
Wenn ein Paket die von der PBR definierte Bedingung erfüllt, führt der NetScaler eine Aktion aus. Wenn das Paket nicht der durch die PBR definierten Bedingung entspricht, vergleicht der NetScaler das Paket mit der PBR mit der nächsthöheren Priorität.
Anstatt die ausgewählten Pakete an einen Next-Hop-Router zu senden, können Sie den PBR so konfigurieren, dass er sie an einen virtuellen Link-Load-Balancing-Server sendet, an den Sie mehrere Next-Hops gebunden haben. Diese Konfiguration kann ein Backup bereitstellen, falls ein Next-Hop-Link ausfällt.
Sehen Sie sich das folgende Beispiel an. Zwei PBRs, p1 und p2, sind auf dem NetScaler konfiguriert und ihnen werden automatisch die Prioritäten 20 und 30 zugewiesen. Sie müssen einen dritten PBR, p3, hinzufügen, der unmittelbar nach dem ersten PBR, p1, ausgewertet werden soll. Das neue PBR, p3, muss eine Priorität zwischen 20 und 30 haben. In diesem Fall können Sie die Priorität auf 25 festlegen.
CLI-Verfahren
Um eine PBR mit der CLI zu erstellen:
Geben Sie in der Befehlszeile 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
<!--NeedCopy-->
So ändern Sie die Priorität einer PBR mithilfe 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 )]
- show ns pbr [\<name>]
Beispiel:
> set ns pbr pbr1 -priority 23
Done
<!--NeedCopy-->
Um eine oder alle PBRs mit der CLI zu entfernen:
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
<!--NeedCopy-->
GUI-Verfahren
Um eine PBR mit der GUI zu erstellen:
Navigieren Sie zu System > Netzwerk > PBRs und fügen Sie auf der Registerkarte PBRs eine neue PBR hinzu oder bearbeiten Sie eine vorhandene PBR.
Um eine oder alle PBRs mithilfe der GUI zu entfernen:
Navigieren Sie zu System > Netzwerk > PBRs und löschen Sie auf der Registerkarte PBRs die PBR.
PBR anwenden
Sie müssen eine PBR anwenden, um sie zu aktivieren. Das folgende Verfahren wendet erneut alle PBRs an, die Sie nicht deaktiviert haben. Die PBRs bilden einen Speicherbaum (Lookup-Tabelle). Wenn Sie beispielsweise 10 PBRs (p1 - p10) erstellen und dann eine weitere PBR (p11) erstellen und anwenden, werden alle PBRs (p1 - p11) neu angewendet und eine neue Nachschlagetabelle wird erstellt. Wenn zu einer Sitzung ein DENY-PBR-Wert gehört, wird die Sitzung zerstört.
Sie müssen dieses Verfahren nach jeder Änderung anwenden, die Sie an einer PBR vornehmen. Beispielsweise müssen Sie dieses Verfahren befolgen, nachdem Sie eine PBR deaktiviert haben.
Hinweis: Auf der NetScaler-Appliance erstellte PBRs funktionieren erst, wenn sie angewendet werden.
So wenden Sie eine PBR mit der CLI an:
Geben Sie in der Befehlszeile Folgendes ein:
als PBRs anwenden
So wenden Sie eine PBR mit der GUIan:
- Navigieren Sie zu System > Netzwerk > PBRs.
- Wählen Sie auf der Registerkarte PBRs die PBR aus und wählen Sie in der Aktionsliste die Option Anwenden aus.
PBRs aktivieren oder deaktivieren
Standardmäßig sind die PBRs aktiviert. Das bedeutet, dass die NetScaler-Appliance eingehende Pakete automatisch mit den konfigurierten PBRs vergleicht, wenn PBRs angewendet werden. Wenn eine PBR in der Nachschlagetabelle nicht erforderlich ist, aber in der Konfiguration beibehalten werden muss, muss sie deaktiviert werden, bevor die PBRs angewendet werden. Nachdem die PBRs angewendet wurden, vergleicht der NetScaler eingehende Pakete nicht mit deaktivierten PBRs.
So aktivieren oder deaktivieren Sie eine PBR mithilfe der CLI:
Geben Sie an der Eingabeaufforderung einen der folgenden Befehle ein:
- enable ns pbr <name>
- deaktiviere 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
<!--NeedCopy-->
Um eine PBR mithilfe der GUI zu aktivieren oder zu deaktivieren:
- Navigieren Sie zu System > Netzwerk > PBRs.
- Wählen Sie auf der Registerkarte PBRs die PBR aus und wählen Sie in der Aktionsliste die Option Aktivieren oder Deaktivieren aus.
PBRs neu nummerieren
Sie können die PBRs automatisch neu nummerieren, um ihre Prioritäten auf ein Vielfaches von 10 festzulegen.
Um PBRs mit der CLI neu zu nummerieren:
Geben Sie in der Befehlszeile Folgendes ein:
- ns pbrs neu nummerieren
Um PBRs mithilfe der GUI neu zu nummerieren:
Navigieren Sie zu System > Netzwerk > PBRs und wählen Sie auf der Registerkarte PBRs in der Aktionsliste die Option Priorität (n) neu nummerieren aus.
Anwendungsfall — PBR mit mehreren Hops
Stellen Sie sich ein Szenario vor, in dem zwei PBRs, PBR1 und PBR2, auf der NetScaler Appliance NS1 konfiguriert sind. PBR1 leitet alle ausgehenden Pakete mit der Quell-IP-Adresse 10.102.29.30 an den Next-Hop-Router R1 weiter. PBR2 leitet alle ausgehenden Pakete mit der Quell-IP-Adresse 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 übereinstimmten, verworfen. Um diese Situation zu vermeiden, können Sie beim Erstellen oder Ändern einer PBR im nächsten Hop-Feld einen virtuellen Link Load Balancing-Server (LLB) angeben. Mehrere Next-Hops sind als Dienste an den virtuellen LLB-Server gebunden (zum Beispiel R1, R2 und R3). Wenn R1 nun ausfällt, werden alle Pakete, die mit PBR1 übereinstimmten, an R2 oder R3 weitergeleitet, wie es durch die auf dem virtuellen LLB-Server konfigurierte LB-Methode bestimmt wird.
Die NetScaler-Appliance gibt in den folgenden Fällen einen Fehler aus, wenn Sie versuchen, eine PBR mit einem virtuellen LLB-Server als nächsten Hop zu erstellen:
- Hinzufügen einer weiteren PBR mit demselben virtuellen LLB-Server.
- Angabe eines nicht existierenden virtuellen LLB-Servers.
- Angabe eines virtuellen LLB-Servers, für den die gebundenen Dienste keine nächsten Hops sind.
- Angeben eines virtuellen LLB-Servers, für den die LB-Methode nicht auf eine der folgenden Werte festgelegt ist:
- ROUNDROBIN
- DESTINATIONIPHASH
- SOURCEIPHASH
- SRCIPDESTIPHASH
- LEASTPACKETS
- LEASTBANDWIDTH
- LTRM
- CALLIDHASH
- CUSTOM LOAD
- Angabe eines virtuellen LLB-Servers, für den der LB-Persistenztyp nicht auf einen der folgenden Werte gesetzt ist:
- DESTIP
- SOURCEIP
- SRCDSTIP
In der folgenden Tabelle sind die Namen und Werte der auf der NetScaler-Appliance konfigurierten Entitäten aufgeführt:
Typ der Entität | Name | IP-Adresse |
---|---|---|
Virtueller Server für Link-Load-Balancing | LLB1 | Nicht verfügbar |
Dienstleistungen (nächste Geschäfte) | Router1 | 1.1.1.254 |
Router2 | 2.2.2.254 | |
Router3 | 3.3.3.254 | |
PBRs | PBR1 | Nicht verfügbar |
PBR2 | Nicht verfügbar |
Tabelle 1. Beispielwerte für die Erstellung von Entitäten
Um die oben beschriebene Konfiguration zu implementieren, müssen Sie:
- Erstellen Sie die Dienste Router1, Router2 und Router3, die die Next-Hop-Router R1, R2 und R3 repräsentieren.
- Erstellen Sie den virtuellen Link-Load-Balancing-Server LLB1 und binden Sie die Dienste Router1, Router2 und Router3 daran.
- Erstellen Sie die PBRs PBR1 und PBR2, wobei die Next-Hop-Felder jeweils auf LLB1 und 2.2.2.254 (IP-Adresse des Routers R2) gesetzt sind.
So erstellen Sie einen Dienst über die CLI:
Geben Sie in der Befehlszeile Folgendes ein:
- Dienst hinzufügen <name><IP><serviceType><port>
- show service <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
<!--NeedCopy-->
So erstellen Sie einen Dienst über die GUI:
Navigieren Sie zu Traffic Management > Load Balancing > Servicesund erstellen Sie einen Dienst.
Um einen virtuellen Link-Load-Balancing-Server zu erstellen und einen Dienst mithilfe der CLI zu binden, gehen Sie wie folgt vor:
Geben Sie in der Befehlszeile Folgendes ein:
- lb vserver hinzufügen <name><serviceType>
- binde lb vserver < name> <serviceName>
- lb vserver anzeigen < name>
Beispiel:
> add lb vserver LLB1 ANY
Done
> bind lb vserver LLB1 Router1 Router2 Router3
Done
<!--NeedCopy-->
Um einen virtuellen Link-Load-Balancing-Server zu erstellen und einen Dienst mithilfe der GUI zu binden, gehen Sie wie folgt vor:
- Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server, und erstellen Sie einen virtuellen Server für den Link-Lastenausgleich. Geben Sie ANY im Feld Protokoll an. Hinweis: Vergewissern Sie sich, dass Direkt adressierbar deaktiviert ist.
- 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.
Um eine PBR mit der CLI zu erstellen:
Geben Sie in der Befehlszeile Folgendes ein:
- <nextHopVal>füge ns pbr <name><action>[-script [\]] [-nextHop\ <operator><srcIPVal>] hinzu
- 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
<!--NeedCopy-->
Um eine PBR mit der GUI zu erstellen:
Navigieren Sie zu System > Netzwerk > PBRs, fügen Sie auf der Registerkarte PBRs eine neue PBR hinzu.