ADC
Danke für das Feedback

Dieser Artikel wurde maschinell übersetzt. (Haftungsausschluss)

Konvertieren Sie Richtlinienausdrücke mit dem NSPEPI-Tool

Hinweis:

Sie können das NSPEPI- und Preconfig-Check-Tool vom öffentlichen GitHub herunterladen. Weitere Informationen finden Sie auf der GitHub NSPEPI-Seite und auf der README-Seite mit detaillierten Anweisungen zum Herunterladen, Installieren und Verwenden der Tools. Wir empfehlen Kunden, die in GitHub verfügbaren Tools für die vollständigste und aktuellste Version zu verwenden.

Klassische richtlinienbasierte Features und Funktionen sind ab NetScaler 12.0 Build 56.20 veraltet. Als Alternative empfiehlt NetScaler, die erweiterte Richtlinieninfrastruktur für die vom NSPEPI-Tool unterstützten Funktionen zu verwenden. Eine Liste der unterstützten Funktionen finden Sie unter Befehle oder Funktionen, die vom nspepi Konvertierungstool verarbeitet werden. Die Funktionen, die vom NSPEPI-Tool nicht unterstützt werden, unterstützen weiterhin klassische Richtlinien. Eine Liste der nicht unterstützten Funktionen finden Sie unter Nicht unterstützte Funktionen des NSPEPI-Tools.

Das nspepiTool kann die folgenden Aufgaben ausführen:

  1. Konvertieren Sie klassische Richtlinienausdrücke in erweiterte Richtlinienausdrücke.
  2. Konvertieren Sie bestimmte Classic-Richtlinien und deren Entitätsbindungen in erweiterte Richtlinien und Bindungen.
  3. Konvertieren Sie ein paar weitere veraltete Funktionen in ihre entsprechenden nicht veralteten Funktionen.
  4. Konvertieren Sie klassische Filterbefehle in erweiterte Filterbefehle.

Hinweis:

Nachdem das Tool nspepi die ns.conf-Konfigurationsdatei erfolgreich konvertiert hat, zeigt das Tool die konvertierte Datei als neue Datei mit dem Präfix “new_” an. Wenn die konvertierte Konfigurationsdatei Fehler oder Warnungen enthält, müssen Sie diese im Rahmen des Konvertierungsprozesses manuell beheben. Nach der Konvertierung müssen Sie die Datei in der Testumgebung testen und dann verwenden, um die eigentliche ns.conf-Konfigurationsdatei zu ersetzen. Nach dem Testen müssen Sie die Appliance für die neu konvertierte oder feste ns.conf-Konfigurationsdatei neu starten.

Funktionen, die nur klassische Richtlinien oder Ausdrücke unterstützen, sind veraltet und können durch die entsprechenden nicht veralteten Funktionen ersetzt werden.

Hinweis:

Informationen zur älteren Version des Tools nspepi sind in einem PDF-Format verfügbar. Weitere Informationen finden Sie unter Klassische Richtlinienkonvertierung mit dem Nspepi Tool vor 12.1-51.16 PDF.

Konvertierungswarnungen und Fehlerdateien

Bevor Sie das Tool für Ihre Konvertierung verwenden, sollten Sie einige Warnungen beachten:

  1. Alle Warnungen und Fehler werden an die Konsole ausgegeben. Es wird eine Warndatei erstellt, in der die Konfigurationsdateien gespeichert werden.
  2. Die Warnungs- und Fehlerdatei hat den gleichen Namen wie die Eingabedatei, jedoch mit dem Präfix “warn_”, das dem Dateinamen hinzugefügt wurde. Während der Ausdrucksumwandlung (bei Verwendung von -e) werden die Warnungen im aktuellen Verzeichnis mit dem Namen “warn_expr” angezeigt.

Hinweis:

Diese Datei hat ein Standard-Protokolldateiformat mit Datums-/Zeitstempel und Protokollebene. Frühere Instanzen der Datei werden mit Suffixen wie “.1”, “.2” usw. beibehalten, da das Tool mehrmals ausgeführt wird. Es werden höchstens 10 Instanzen beibehalten.

Konvertiertes Dateiformat

Beim Konvertieren einer Konfigurationsdatei (mit “-f”) wird die konvertierte Datei in dasselbe Verzeichnis abgelegt, in dem die Eingabekonfigurationsdatei mit demselben Namen, aber einem Präfix “neu_” existiert.

Befehle oder Funktionen, die vom nspepi-Konvertierungstool verarbeitet werden

Im Folgenden werden die Befehle aufgeführt, die während des automatischen Konvertierungsprozesses verarbeitet werden.

  • Die folgenden Classic-Richtlinien und ihre Ausdrücke werden in erweiterte Richtlinien und Ausdrücke umgewandelt. Die Konvertierung umfasst Entitätsbindungen und globale Bindungen.
  1. add appfw policy
  2. add cmp policy
  3. add cr policy
  4. add cs policy
  5. SSL-Richtlinie hinzufügen
  6. add filter action
  7. add filter policy
  8. Filterrichtlinienbindung an Lastausgleich, Content Switching, Cache-Umleitung und global.
  • Der in “add lb virtual server” konfigurierte Regelparameter wird vom klassischen Ausdruck in den erweiterten Ausdruck konvertiert.
  • Der im Befehl “add ns httpProfile” oder “set ns httpProfile” konfigurierte SPDY-Parameter wird in “-http2 ENABLED” geändert.
  • Benannte Ausdrücke (Befehle “Richtlinienausdruck hinzufügen”). Jeder klassische benannte Richtlinienausdruck wird in den entsprechenden benannten erweiterten Ausdruck umgewandelt, wobei “nspepi_adv_” als Präfix festgelegt ist. Darüber hinaus wird die Verwendung benannter Ausdrücke für die konvertierten Classic-Ausdrücke in die entsprechenden erweiterten benannten Ausdrücke geändert. Darüber hinaus hat jeder benannte Ausdruck zwei benannte Ausdrücke, wobei einer Classic und der andere Advanced ist (wie unten gezeigt).
  • Umgang mit integrierten klassischen Policy-Bindings in CMP und CR.
  • Patclass Feature wird in Pat Set Feature umgewandelt.
  • Der Parameter “-pattern” im Befehl “add rewrite action” wird umgewandelt, um den Parameter “-search” zu verwenden.
  • Q- und S-Präfixe von erweiterten Ausdrücken werden in äquivalente, nicht veraltete erweiterte Ausdrücke umgewandelt. Diese Ausdrücke sind in jedem Befehl zu sehen, in dem erweiterte Ausdrücke zulässig sind.

Beispiel:

add policy expression classic_expr ns_true Converts to: add policy expression classic_expr ns_true add policy expression nspepi_adv_classic_expr TRUE
  • Der im Befehl “set cmp parameter” konfigurierte policyType-Parameter wird entfernt. Standardmäßig ist der Richtlinientyp “Advanced”.

Konvertieren klassischer Filterbefehle in erweiterte Filterbefehle

Das Tool nspepi kann Befehle basierend auf klassischen Filteraktionen wie Hinzufügen, Binden usw. in erweiterte Filterbefehle konvertieren.

Das Tool nspepi unterstützt jedoch nicht die folgenden Filterbefehle.

  1. add filter action <action Name> FORWARD <service name>
  2. add filter action <action name> ADD prebody
  3. add filter action <action name> ADD postbody

Hinweis:

  1. Wenn es in ns.conf Rewrite- oder Responder-Features gibt und ihre Richtlinien global mit dem Ausdruck GOTO als END oder USER_INVOCATION_RESULTgebunden sind und der Bindetyp ist REQ_X oder RES_X dann konvertiert das Tool Bindungsfilterbefehle teilweise und kommentiert. Bei der manuellen Konvertierung wird ein Fehler angezeigt.
  2. Wenn es vorhandene Rewrite- oder Responder-Funktionen gibt und deren Richtlinien an virtuelle Server (z. B. Load Balancing, Content Switching oder Cache-Umleitung) vom Typ HTTPS mit GOTO - END oder USER_INVOCATION_RESULT gebunden sind , konvertiert das Tool Bindungsfilterbefehle teilweise und kommentiert dann Kommentare aus. Für die manuelle Konvertierung wird eine Warnung angezeigt.

Beispiel

Es folgt eine Beispieleingabe:

add lb vserver v1 http 1.1.1.1 80 -persistenceType NONE -cltTimeout 9000 add cs vserver csv1 HTTP 1.1.1.2 80 -cltTimeout 180 -persistenceType NONE add cr vserver crv1 HTTP 1.1.1.3 80 -cacheType FORWARD add service svc1 1.1.1.4 http 80 add filter action fact_add add 'header:value' add filter action fact_variable add 'H1:%%HTTP.TRANSID%%' add filter action fact_prebody add prebody add filter action fact_error_act1 ERRORCODE 200 "<HTML>Good URL</HTML>" add filter action fact_forward_act1 FORWARD svc1 add filter policy fpol_add_res -rule ns_true -resAction fact_add add filter policy fpol_error_res -rule ns_true -resAction fact_error_act1 add filter policy fpol_error_req -rule ns_true -reqAction fact_error_act1 add filter policy fpol_add_req -rule ns_true -reqAction fact_add add filter policy fpol_variable_req -rule ns_true -reqAction fact_variable add filter policy fpol_variable_res -rule ns_true -resAction fact_variable add filter policy fpol_prebody_req -rule ns_true -reqAction fact_prebody add filter policy fpol_prebody_res -rule ns_true -resAction fact_prebody add filter policy fpol_forward_req -rule ns_true -reqAction fact_forward_act1 bind lb vserver v1 -policyName fpol_add_res bind lb vserver v1 -policyName fpol_add_req bind lb vserver v1 -policyName fpol_error_res bind lb vserver v1 -policyName fpol_error_req bind lb vserver v1 -policyName fpol_variable_res bind lb vserver v1 -policyName fpol_variable_req bind lb vserver v1 -policyName fpol_forward_req bind cs vserver csv1 -policyName fpol_add_req bind cs vserver csv1 -policyName fpol_add_res bind cs vserver csv1 -policyName fpol_error_res bind cs vserver csv1 -policyName fpol_error_req bind cr vserver crv1 -policyName fpol_add_req bind cr vserver crv1 -policyName fpol_add_res bind cr vserver crv1 -policyName fpol_error_res bind cr vserver crv1 -policyName fpol_error_req bind cr vserver crv1 -policyName fpol_forward_req bind filter global fpol_add_req bind filter global fpol_add_res bind filter global fpol_error_req bind filter global fpol_error_res bind filter global fpol_variable_req bind filter global fpol_variable_res bind filter global fpol_variable_res -state DISABLED bind filter global fpol_prebody_req bind filter global fpol_forward_req

Nach der Konvertierung werden bei manuellem Aufwand Warnungen oder Fehlermeldungen angezeigt.

ERROR - Conversion of HTMLInjection feature related command [add filter action fact_prebody add prebody] is not supported in this tool. ERROR - Conversion of FORWARD action type related command [add filter action fact_forward_act1 FORWARD svc1] not supported in this tool ERROR - Conversion of HTMLInjection feature reated command [add filter policy fpol_prebody_req -rule ns_true -reqAction fact_prebody]not supported in this tool. ERROR - Conversion of HTMLInjection feature reated command [add filter policy fpol_prebody_res -rule ns_true -resAction fact_prebody]not supported in this tool. ERROR - Conversion of FORWARD action type related command [add filter policy fpol_forward_req -rule ns_true -reqAction fact_forward_act1]not supported in this tool. ERROR - Conversion of FORWARD action type related command [bind lb vserver v1 -policyName fpol_forward_req]not supported in this tool. ERROR - Conversion of FORWARD action type related command [bind cr vserver crv1 -policyName fpol_forward_req]not supported in this tool. WARNING - Following bind command is commented out because state is disabled. If state is disabled, then command is not in use. Since state parameter is not supported with the advanced configuration, so if we convert this config then functionality will change. If command is required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config': bind filter global fpol_variable_res -state DISABLED ERROR - Conversion of HTMLInjection feature related command [bind filter global fpol_prebody_req]not supported in this tool. ERROR - Conversion of FORWARD action type related command [bind filter global fpol_forward_req]not supported in this tool.

Es folgt eine Beispielausgabe. Alle konvertierten Befehle werden kommentiert.

add lb vserver v1 http 1.1.1.1 80 -persistenceType NONE -cltTimeout 9000 add cs vserver csv1 HTTP 1.1.1.2 80 -cltTimeout 180 -persistenceType NONE add cr vserver crv1 HTTP 1.1.1.3 80 -cacheType FORWARD add service svc1 1.1.1.4 http 80 add rewrite action fact_add insert_http_header header ""value"" add filter action fact_prebody add prebody add responder action fact_error_act1 respondwith "HTTP.REQ.VERSION.APPEND(" 200 OK\r nConnection: close\r nContent-Length: 21\r\n\r n<HTML>Good URL</HTML>")" add rewrite action nspepi_adv_fact_error_act1 replace_http_res "HTTP.REQ.VERSION.APPEND(" 200 OK\r nConnection: close\r nContent-Length: 21\r\n\r n<HTML>Good URL</HTML>")" add filter action fact_forward_act1 FORWARD svc1 add filter policy fpol_prebody_req -rule ns_true -reqAction fact_prebody add filter policy fpol_prebody_res -rule ns_true -resAction fact_prebody add filter policy fpol_forward_req -rule ns_true -reqAction fact_forward_act1 bind lb vserver v1 -policyName fpol_forward_req bind cr vserver crv1 -policyName fpol_forward_req #bind filter global fpol_variable_res -state DISABLED bind filter global fpol_prebody_req bind filter global fpol_forward_req add rewrite action nspepi_adv_fact_variable insert_http_header H1 HTTP.RES.TXID add rewrite action fact_variable insert_http_header H1 HTTP.REQ.TXID add rewrite policy fpol_add_res TRUE fact_add add rewrite policy fpol_error_res TRUE nspepi_adv_fact_error_act1 add responder policy fpol_error_req TRUE fact_error_act1 add rewrite policy fpol_add_req TRUE fact_add add rewrite policy fpol_variable_req TRUE fact_variable add rewrite policy fpol_variable_res TRUE nspepi_adv_fact_variable bind rewrite global fpol_add_req 100 NEXT -type REQ_DEFAULT bind rewrite global fpol_variable_req 200 NEXT -type REQ_DEFAULT bind rewrite global fpol_add_res 100 NEXT -type RES_DEFAULT bind rewrite global fpol_error_res 200 NEXT -type RES_DEFAULT bind rewrite global fpol_variable_res 300 NEXT -type RES_DEFAULT bind responder global fpol_error_req 100 END -type REQ_DEFAULT bind lb vserver v1 -policyName fpol_add_res -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_error_res -type RESPONSE -priority 200 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_variable_res -type RESPONSE -priority 300 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_variable_req -type REQUEST -priority 200 -gotoPriorityExpression NEXT bind lb vserver v1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END bind cs vserver csv1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_add_res -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_error_res -type RESPONSE -priority 200 -gotoPriorityExpression NEXT bind cs vserver csv1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END bind cr vserver crv1 -policyName fpol_add_req -type REQUEST -priority 100 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_add_res -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_error_res -type RESPONSE -priority 200 -gotoPriorityExpression NEXT bind cr vserver crv1 -policyName fpol_error_req -type REQUEST -priority 100 -gotoPriorityExpression END

Konvertieren Sie klassische Filterbefehle in erweiterte Feature-Befehle, wenn vorhandene Rewrite- oder Responder-Richtlinienbindungen den goto Ausdruck END oder USE_INNVOCATION haben

Wenn bei dieser Konvertierung eine Rewriterichtlinie an einen oder mehrere virtuelle Server gebunden ist und der Server über END oder USE_INVOCATION_RESULT verfügt, kommentiert das Tool die Befehle.

Beispiel

Es folgt ein Beispiel für einen Eingabebefehl:

add lb vserver v1_tcp TCP add lb vserver v1_http HTTP add lb vserver v2_http HTTP add cs vserver csv1_tcp TCP 1.1.1.1 12345 add cs vserver csv1_http HTTP 2.2.2.1 80 add cs vserver csv2_http HTTP 2.2.2.5 180 add cr vserver crv1_tcp TCP 1.1.1.2 2345 add cs vserver crv2_http HTTP 2.2.2.2 90 add filter policy fpol1 -rule ns_true -resAction reset add filter policy fpol2 -rule ns_true -reqAction reset add rewrite policy pol1 true NOREWRITE add rewrite policylabel pl http_res bind rewrite policylabel pl pol1 1 bind rewrite global NOPOLICY 1 USE_INVOCATION_RESULT -type RES_DEFAULT -invoke policylabel pl add responder policy pol2 true NOOP add responder policylabel pl -policylabeltype HTTP bind responder policylabel pl pol2 1 bind responder global NOPOLICY 1 USE_INVOCATION_RESULT -type REQ_DEFAULT -invoke policylabel pl bind lb vserver v1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE bind cs vserver csv1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE bind lb vserver v1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind cs vserver csv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind cr vserver crv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind lb vserver v1_http -policyName fpol1 bind cs vserver csv1_http -policyName fpol1 bind lb vserver v2_http -policyName fpol2 bind cs vserver csv2_http -policyName fpol2 bind cr vserver crv2_http -policyName fpol2 bind filter global fpol1 -priority 100 bind filter global fpol2 -priority 100

Es folgt ein Beispiel für einen Ausgabebefehl:

add lb vserver v1_tcp TCP add lb vserver v1_http HTTP add lb vserver v2_http HTTP add cs vserver csv1_tcp TCP 1.1.1.1 12345 add cs vserver csv1_http HTTP 2.2.2.1 80 add cs vserver csv2_http HTTP 2.2.2.5 180 add cr vserver crv1_tcp TCP 1.1.1.2 2345 add cs vserver crv2_http HTTP 2.2.2.2 90 add rewrite policy pol1 true NOREWRITE add rewrite policylabel pl http_res bind rewrite policylabel pl pol1 1 add responder policy pol2 true NOOP add responder policylabel pl -policylabeltype HTTP bind responder policylabel pl pol2 1 bind lb vserver v1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE bind cs vserver csv1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE bind lb vserver v1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind cs vserver csv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST bind cr vserver crv1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST add rewrite policy fpol1 TRUE RESET add responder policy fpol2 TRUE RESET #bind lb vserver v2_http -policyName fpol2 -type REQUEST #bind cs vserver csv2_http -policyName fpol2 -type REQUEST #bind cr vserver crv2_http -policyName fpol2 -type REQUEST #bind responder global fpol2 100 -type REQ_DEFAULT bind rewrite global NOPOLICY 1 USE_INVOCATION_RESULT -type RES_DEFAULT -invoke policylabel pl bind rewrite global fpol1 100 NEXT -type RES_DEFAULT bind responder global NOPOLICY 1 USE_INVOCATION_RESULT -type REQ_DEFAULT -invoke policylabel pl bind lb vserver v1_http -policyName fpol1 -type RESPONSE -priority 100 -gotoPriorityExpression NEXT bind cs vserver csv1_http -policyName fpol1 -type RESPONSE -priority 100 -gotoPriorityExpression NEXT

Ausführen des nspepi-Tools

Das Folgende ist ein Befehlszeilenbeispiel zum Ausführen des Tools nspepi. Dieses Tool wird von der Befehlszeile der Shell aus ausgeführt (Sie müssen den Befehl “Shell” an den NetScaler “CLI” eingeben, um dorthin zu gelangen). Entweder “-f” oder “-e” muss angegeben werden, um eine Konvertierung durchzuführen. Die Verwendung von “-d” ist für Citrix Mitarbeiter vorgesehen, um sie zu Supportzwecken zu analysieren.

usage: nspepi [-h] (-e <classic policy expression> | -f <path to ns config file>)[-d] [-v] [-V Convert classic policy expressions to advanced policy expressions and deprecated commands to non-deprecated commands. optional arguments: -h, --help show this help message and exit -e <classic policy expression>, --expression <classic policy expression> convert classic policy expression to advanced policy expression (maximum length of 8191 allowed) -f <path to ns config file>, --infile <path to ns config file> convert netscaler config file -d, --debug log debug output -v, --verbose show verbose output -V, --version show program's version number and exit

Beispiele für die Verwendung:

  1. nspepi -e "req.tcp.destport == 80"
  2. nspepi -f /nsconfig/ns.conf

Im Folgenden finden Sie einige Beispiele für das Ausführen des Tools nspepi über die CLI

Beispielausgabe für den Parameter —e:

root@ns# nspepi -e "req.http.header foo == "bar"" "HTTP.REQ.HEADER("foo").EQ("bar")"

Beispielausgabe für den Parameter -f:

root@ns# cat sample.conf add cr vserver cr_vs HTTP -cacheType TRANSPARENT -cltTimeout 180 -originUSIP OFF add cr policy cr_pol1 -rule ns_true bind cr vserver cr_vs -policyName cr_pol1

Ausführen von nspepi mit dem Parameter -f:

nspepi -f sample.conf

Die konvertierte Konfiguration ist in einer neuen Datei verfügbar new_sample.conf. Überprüfen Sie die Datei warn_sample.conf auf Warnungen oder Fehler, die möglicherweise generiert wurden.

Beispielausgabe des Parameters -f zusammen mit dem Parameter -v

nspepi -f sample.conf -v INFO - add cr vserver cr_vs HTTP -cacheType TRANSPARENT -cltTimeout 180 -originUSIP OFF INFO - add cr policy cr_pol1 -rule TRUE -action ORIGIN INFO - bind cr vserver cr_vs -policyName cr_pol1 -priority 100 -gotoPriorityExpression END -type REQUEST

Die konvertierte Konfiguration ist in einer neuen Datei verfügbar new_sample.conf. Überprüfen Sie die Datei warn_sample.conf auf Warnungen oder Fehler, die möglicherweise generiert wurden.

Konvertierte Config-Datei:

root@ns# cat new_sample.conf add cr vserver cr_vs HTTP -cacheType TRANSPARENT -cltTimeout 180 -originUSIP OFF add cr policy cr_pol1 -rule TRUE -action ORIGIN set cmp parameter -policyType ADVANCED bind cr vserver cr_vs -policyName cr_pol1 -priority 100 -gotoPriorityExpression END -type REQUEST

Beispielausgabe einer Beispielkonfiguration ohne Fehler oder Warnungen:

nspepi -f sample_2.conf

Die konvertierte Konfiguration ist in einer neuen Datei verfügbar new_sample_2.conf. Überprüfen Sie die Datei warn_sample_2.conf auf Warnungen oder Fehler, die möglicherweise generiert wurden.

Beispielausgabe einer Beispielkonfiguration mit Warnungen:

root@ns# cat sample_2.conf add policy expression security_expr "req.tcp.destport == 80" -clientSecurityMessage "Not allowed" set cmp parameter -policyType CLASSIC add cmp policy cmp_pol1 -rule ns_true -resAction COMPRESS add cmp policy cmp_pol2 -rule ns_true -resAction COMPRESS add cmp policy cmp_pol3 -rule TRUE -resAction COMPRESS bind cmp global cmp_pol1 bind cmp global cmp_pol2 -state DISABLED bind cmp global cmp_pol3 -priority 1 -gotoPriorityExpression END -type RES_DEFAULT bind lb vserver lb_vs -policyName cmp_pol2 root@ns#

Konvertierte Datei:

root@ns# cat new_sample_2.conf add policy expression security_expr "req.tcp.destport == 80" -clientSecurityMessage "Not allowed" set cmp parameter -policyType ADVANCED add cmp policy cmp_pol1 -rule TRUE -resAction COMPRESS add cmp policy cmp_pol2 -rule TRUE -resAction COMPRESS add cmp policy cmp_pol3 -rule TRUE -resAction COMPRESS #bind cmp global cmp_pol2 -state DISABLED #bind cmp global cmp_pol3 -priority 1 -gotoPriorityExpression END -type RES_DEFAULT bind cmp global cmp_pol1 -priority 100 -gotoPriorityExpression END -type RES_DEFAULT bind lb vserver lb_vs -policyName cmp_pol2 -priority 100 -gotoPriorityExpression END -type RESPONSE root@ns#

Warn-Datei:

WARNING - Following bind command is commented out because state is disabled. If state is disabled, then command is not in use. Since state parameter is not supported with the advanced configuration, so if we convert this config then functionality will change. If command is required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config': bind cmp global cmp_pol2 -state DISABLED WARNING - Initial global cmp parameter is classic and in this case advanced policies's bindings are not evaluated. Now global cmp parameter policy type is set to advanced, so existing advanced policies's bindings will be evaluted and can change the functionality. So, bindings of advanced CMP policies to cmp global are commented out. If commands are required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config'.

Verbindliche Prioritäten

Erweiterte Richtlinien erlauben kein willkürliches Interleaving nach Priorität zwischen global und nicht-global sowie zwischen verschiedenen Bindungstypen. Wenn Sie sich auf ein solches Interleaving von Classic-Richtlinienprioritäten verlassen, müssen Sie die Prioritäten anpassen, um den erweiterten Richtlinienregeln zu entsprechen und das gewünschte Verhalten zu erzielen. Prioritäten in erweiterten Richtlinien sind lokal an einem Bindepunkt. Ein Bindepunkt ist eine eindeutige Kombination aus Protokoll, Feature, Richtung und Entität (Entitäten sind bestimmte virtuelle Server, Benutzer, Gruppen, Dienste und entweder globale Überschreibung oder globale Standardeinstellung). Politische Prioritäten werden nicht über Bindepunkte hinweg befolgt.

Für ein bestimmtes Protokoll, eine bestimmte Funktion und Richtung ist die Reihenfolge der Bewertung der erweiterten Richtlinien wie folgt:

  • Globale Überschreibung.
  • (Aktueller) Authentifizierungs-, Autorisierungs- und Überwachungsbenutzer.
  • Authentifizierungs-, Autorisierungs- und Überwachungsgruppen (bei denen der Benutzer Mitglied ist) in der Reihenfolge des Gewichts - die Reihenfolge ist nicht definiert, wenn zwei oder mehr Gruppen das gleiche Gewicht haben.
  • Virtueller LB-Server, auf dem entweder die Anforderung empfangen wurde oder der Content Switching ausgewählt hat.
  • Virtueller Content Switching-Server, virtueller Cache-Umleitungsserver, auf dem die Anforderung empfangen wurde.
  • Durch Load Balancing ausgewählter Dienst.
  • Globale Standardeinstellung.

Innerhalb jedes Bindepunkts werden die Richtlinien in der Reihenfolge ihrer Priorität von der niedrigsten bis zur höchsten Nummerierung ausgewertet. Richtlinien werden nur für das verwendete Protokoll und die Richtung ausgewertet, von der die Nachricht empfangen wurde.

Klassische Richtlinienbindungen, die eine manuelle Neupriorisierung erfordern

Hier sind einige Arten von Classic-Richtlinienbindungen, die eine manuelle Neupriorisierung erfordern, um Ihre Anforderungen zu erfüllen. All dies ist für ein bestimmtes Merkmal und die Richtung.

  • Klassische Prioritäten, die die Prioritätszahl gegenüber der Richtung der oben genannten Entitätstyplisten erhöhen. Zum Beispiel ist eine Bindung eines virtuellen Content Switching-Servers niedriger als eine Bindung eines virtuellen Lastausgleichsservers.
  • Klassische Prioritäten, deren Anzahl außer der Reihenfolge der Gewichtungen von Authentifizierungs-, Autorisierungs- und Überwachungsgruppen zunimmt.
  • Klassische globale Prioritäten, die weniger als einige nicht-globale Priorität und dieselben globalen Prioritäten sind größer als einige andere nicht-globale Priorität (d. h. jedes Segment von Prioritäten, das eine nicht-globale Priorität ist, gefolgt von einem oder mehreren Globals, gefolgt von einem nicht-globalen).

Die Tools NSPEPI und check_invalid_config können auf den Systemen CentOS und Ubuntu ausgeführt werden

Die folgenden Module sind die Voraussetzungen für die Verwendung dieser Tools:

  • Python
  • Perl
  • Python-Pip-Modul
  • PLY-Modul für Python
  • Switch.pm für Perl

Wenn Python 3 installiert ist, erstellen Sie beispielsweise einen Softlink "ln -s /usr/bin/python3 /usr/bin/python".

Führen Sie die folgenden Befehle aus, um das Python-Pip-Modul, das PLY-Modul für Python und Switch.pm für Perl in CentOS zu installieren:

  • sudo yum install -y perl-Switch
  • sudo yum install python-pip
  • sudo yum install python-ply

Führen Sie die folgenden Befehle aus, um das Python-Pip-Modul, das PLY-Modul für Python und Switch.pm für Perl in Ubuntu zu installieren:

  • sudo apt install libswitch-perl
  • sudo apt install python-ply
  • sudo apt install python-pip or sudo apt install python3-pip
Die offizielle Version dieses Inhalts ist auf Englisch. Für den einfachen Einstieg wird Teil des Inhalts der Cloud Software Group Dokumentation maschinell übersetzt. Cloud Software Group hat keine Kontrolle über maschinell übersetzte Inhalte, die Fehler, Ungenauigkeiten oder eine ungeeignete Sprache enthalten können. Es wird keine Garantie, weder ausdrücklich noch stillschweigend, für die Genauigkeit, Zuverlässigkeit, Eignung oder Richtigkeit von Übersetzungen aus dem englischen Original in eine andere Sprache oder für die Konformität Ihres Cloud Software Group Produkts oder Ihres Diensts mit maschinell übersetzten Inhalten gegeben, und jegliche Garantie, die im Rahmen der anwendbaren Endbenutzer-Lizenzvereinbarung oder der Vertragsbedingungen oder einer anderen Vereinbarung mit Cloud Software Group gegeben wird, dass das Produkt oder den Dienst mit der Dokumentation übereinstimmt, gilt nicht in dem Umfang, in dem diese Dokumentation maschinell übersetzt wurde. Cloud Software Group kann nicht für Schäden oder Probleme verantwortlich gemacht werden, die durch die Verwendung maschinell übersetzter Inhalte entstehen können.