Citrix ADC

NSPEPI ツールを使用したポリシー式の変換

従来のポリシーベースの機能および機能は、NetScaler 12.0ビルド56.20以降では推奨されません。また、高度なポリシーインフラストラクチャを使用することをお勧めします。この作業の一環として、Citrix ADC 12.1ビルド56.20以降にアップグレードする場合、Classicポリシーベースの機能を、非推奨の機能に置き換える必要があります。また、クラシックポリシーと式を高度なポリシーと式に変換する必要があります。また、すべての新しいCitrix ADC機能は、高度なポリシーインフラストラクチャのみをサポートします。

nspepi ツールでは、次の処理を実行できます。

  1. クラシックポリシー式を高度なポリシー式に変換します。
  2. 特定のクラシックポリシーとそのエンティティバインディングを高度なポリシーとバインディングに変換します。
  3. いくつかの追加の非推奨機能を、対応する非推奨機能に変換します。
  4. 従来のフィルタコマンドを高度なフィルタコマンドに変換します。
  5. クラシックフィルタフィーチャを END または use_innocation として後方式の高度なフィーチャに変換する

nspepi ツールによって ns.conf 設定ファイルが正常に変換されると、変換されたファイルは、プレフィックス「new_」が付いた新しいファイルとして表示されます。変換された設定ファイルにエラーや警告がある場合は、変換プロセスの一環として手動で修正する必要があります。変換したら、テスト環境でファイルをテストし、それを使用して実際の ns.conf 設定ファイルを置き換える必要があります。テスト後、新しく変換または固定された ns.conf 構成ファイルのアプライアンスを再起動する必要があります。

Classic ポリシーまたは式のみをサポートする機能は廃止され、非推奨の対応する機能に置き換える必要があります。

注:

古いバージョンのnspepiツールに関する情報は、pdf形式で入手できます。詳細については、12.1-51.16 より前の nspepi ツールを使用した従来のポリシー変換pdf を参照してください。

変換の警告とエラーファイル

変換ツールを使用する前に、注意すべき警告はほとんどありません。

  1. すべての警告とエラーはコンソールに出力されます。設定ファイルが格納されている場所に警告ファイルが作成されます。
  2. 警告およびエラーファイルの名前は、入力ファイルと同じですが、ファイル名にプレフィックス「warn_」が付加されています。式の変換中 (-e を使用する場合)、現在のディレクトリに「warn_expr」という名前で警告が表示されます。

注:

このファイルは、日付/時刻のスタンプとログレベルの標準ログファイルフォーマットです。ツールが複数回実行されるため、ファイルの以前のインスタンスには「.1」、「.2」などの接尾辞が付きます。最大で 10 個のインスタンスが保持されます。

変換されたファイル形式

設定ファイルを変換する場合 (「-f」を使用)、変換されたファイルは、入力設定ファイルが同じ名前でプレフィックス「new_」の存在するディレクトリと同じディレクトリに置かれます。

nspepi 変換ツールによって処理されるコマンド

以下は、自動変換処理中に処理されるコマンドです。

  • 次のクラシックポリシーとその式は、高度なポリシーと式に変換されます。これには、グローバルバインディングを含むエンティティバインディングの変換が含まれます。
  1. add appfw policy
  2. add authorization policy
  3. add cmp policy
  4. add cr policy
  5. add cs policy
  6. add tm sessionPolicy
  7. add vpn trafficPolicy
  8. フィルタ操作を追加する
  9. フィルタポリシーの追加
  10. 負荷分散、コンテンツスイッチング、キャッシュリダイレクト、およびグローバルへのフィルタポリシーバインディング。

注:

ただし、「tm sessionPolicy の追加」および「vpn trafficPolicy の追加」では、高度なポリシーのグローバルオーバーライドにバインドできません。

  • “add lb vserver”で構成された規則パラメーターはClassic表現からAdvanced表現に変換されます。
  • 「httpProfile」コマンドまたは「set ns httpProfile」コマンドで設定された SPDY パラメータが「-http2 ENABLED」に変更されました。
  • 名前付き式(「ポリシー式の追加」コマンド)。各クラシック名前付きポリシー式は、プレフィックスとして「nspepi_adv_」が設定された対応する高度な名前付き式に変換されます。さらに、変換された Classic 式の名前付き式の使用法は、対応する Advanced 名前付き式に変更されます。さらに、すべての名前付き式には 2 つの名前付き式があります。1 つは Classic で、もう 1 つは Advanced です (以下を参照)。

たとえば、次のようになります:

add policy expression classic_expr ns_true
Converts to:
add policy expression classic_expr ns_true
add policy expression nspepi_adv_classic_expr TRUE
  • 「set cmp parameter」コマンドで設定された policyType パラメータが、高度なポリシータイプに変更されました。

従来のフィルタコマンドを高度なフィルタコマンドに変換する

nspepi ツールは、追加、バインドなどの従来のフィルタ操作に基づいてコマンドを高度なフィルタコマンドに変換できます。

ただし、nepepi ツールは次のフィルタコマンドをサポートしていません。

  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

注:

  1. ns.conf に既存の書き換え機能またはレスポンダ機能があり、そのポリシーが GOTO 式で END または USER_INVOCATION_RESULT としてグローバルにバインドされ、バインドタイプが REQ_X または RES_X である場合、ツールはバインドフィルタコマンドを部分的に変換し、コメントアウトします。手動作業を行うために警告が表示されます。
  2. 既存の書き換えまたはレスポンダー機能があり、そのポリシーが GOTO-END または USER_INVOCATION_RESULT で HTTPS タイプの仮想サーバー (負荷分散、コンテンツスイッチング、キャッシュリダイレクト) にバインドされている場合、ツールはバインドフィルターコマンドを部分的に変換してからコメントアウトします。手動作業を行うために警告が表示されます。

次に、入力例を示します。

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
After conversion, warning/error messages will be displayed for manual effort.
Warning files:
cat warn_<input file name>:
2019-11-07 17:13:34,724: ERROR - Conversion of [add filter action fact_prebody add prebody] not supported in this tool.
2019-11-07 17:13:34,739: ERROR - Conversion of [add filter action fact_forward_act1 FORWARD svc1] not supported in this tool.
2019-11-07 17:13:38,042: ERROR - Conversion of [add filter policy fpol_prebody_req -rule ns_true -reqAction fact_prebody] not supported in this tool.
2019-11-07 17:13:38,497: ERROR - Conversion of [add filter policy fpol_prebody_res -rule ns_true -resAction fact_prebody] not supported in this tool.
2019-11-07 17:13:39,035: ERROR - Conversion of [add filter policy fpol_forward_req -rule ns_true -reqAction fact_forward_act1] not supported in this tool.
2019-11-07 17:13:39,060: WARNING - Following bind command is commented out because state is disabled. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation. 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


次に、出力例を示します。変換されたすべてのコマンドがコメントされます。

cat new_<input file name>
add rewrite action fact_add insert_http_header header ""value""
add filter action fact_prebody add prebody
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 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 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
set cmp parameter -policyType ADVANCED
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

既存のリライトまたはレスポンダポリシーバインディングに goto 式 END または USE_INNVOCATION がある場合、クラシックフィルタコマンドを高度な機能コマンドに変換する

この変換では、書き換えポリシーが 1 つ以上の仮想サーバーにバインドされ、サーバーに END または USE_INVOCATION_RESULT がある場合、ツールはコマンドをコメントアウトします。

次に、入力コマンドの例を示します。

COPY
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


次に、出力コマンドの例を示します。

COPY
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
add rewrite policy fpol1 TRUE RESET
add responder policy fpol2 TRUE RESET
#bind lb vserver v1_http -policyName fpol1 -type RESPONSE
#bind cs vserver csv1_http -policyName fpol1 -type RESPONSE
#bind rewrite global fpol1 100 -type RES_DEFAULT
#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 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 lb vserver v1_tcp -policyName pol2 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type REQUEST
bind cs vserver csv1_tcp -policyName pol1 -priority 100 -gotoPriorityExpression USE_INVOCATION_RESULT -type RESPONSE
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-

nspepi 変換ツールで処理されないコマンド

以下は、自動変換処理の一部として処理されないコマンドです。

  • 一部のバインディングは、グローバルバインドポイントと非グローバルバインドポイント間、ユーザーとグループ間、および異なるエンティティへのバインド間に一定の優先度インターリーブがある場合、変換できません。これにより、影響を受ける設定がコメントアウトされ、エラーが生成されます。このような構成は手動で変換する必要があります。
  • クラシックポリシーとアドバンスポリシーの両方を cmp global にバインドできます。クラシックポリシーを詳細ポリシーに変換すると、機能が変更されるケースが多くあります。いくつかのポリシーをコメントアウトすることで解決できるコマンドを変換しました。それでも、変換できないコマンドもあります。そのような場合は、エラーが発生し、手動で変換を行う必要があります。
  • 複数のバインドポイントにバインドされている従来のコンテンツスイッチングポリシーは処理されません。
  • 組み込みのクラシックポリシーバインディングは、すべての機能では処理されません。
  • Classic 組み込みの名前付き式のすべての使用が、同等の Advanced 名前付き式に変換されるわけではありません。
  • 負荷分散ルール内の名前付き式は処理されません。
  • クライアントセキュリティ式は処理されません。
  • GSLB 仮想サーバーへのバインディングは処理されません。
  • コンテンツスイッチングおよびキャッシュリダイレクト仮想サーバーの「-precedence」オプションは処理されません。

既知の問題

nspepi ツールでは、次のエラーが発生する可能性があります。

  • 式の変換時に問題がある場合。
  • 名前付きポリシー式で-clientSecurityMessage パラメーターを使用する場合、このパラメータは詳細ポリシー式ではサポートされていません。

注:

-state オプションを無効にしたクラシックポリシーバインディングはすべてコメントアウトされます。-state オプションは、高度なポリシー・バインディングでは使用できません。

nspepi ツールの実行

以下は、nspepi ツールを実行するコマンドラインの例です。このツールは、シェルのコマンドラインから実行します(NetScaler「CLI」に「shell」コマンドを入力する必要があります)。変換を実行するには、「-f」または「-e」を指定する必要があります。「-d」の使用は、主にCitrix 担当者がサポート目的で分析することを目的としています。

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           show debug output
  -v, --verbose         show verbose output
  -V, --version         show program's version number and exit

コマンドラインインターフェイスからnspepiツールを実行するいくつかの例を以下に示します。

—e パラメータの出力例:

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

-f パラメータの出力例:

root@ns# cat sample.conf

add c\*\*Input\*\*r 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

** nspepiを-fパラメーターで実行する:

root@ns# nspepi -f sample.conf  
root@ns#

-fパラメータと-vパラメータの出力例

root@ns# 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 - set cmp parameter -policyType ADVANCED
INFO - bind cr vserver cr_vs -policyName cr_pol1 -priority 100 -gotoPriorityExpression END -type REQUEST
root@ns#

変換されたファイルと警告ファイルが生成された場合の出力例

変換された構成ファイル:

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

エラーや警告のない設定例の出力例:

root@ns# cat warn_sample.conf
root@ns#

警告付きの設定例の出力例:

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#

-fパラメータを指定してnspepiを実行する例:

root@ns# nspepi -f sample_2.conf
ERROR - Error in converting expression security_expr : conversion of clientSecurityMessage based expression is not supported.
WARNING - Following bind command is commented out because state is disabled. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation. 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 - Bindings of advanced CMP policies to cmp global are commented out, because initial global cmp parameter is classic but advanced policies are bound. Now global cmp parameter policy type is set to advanced. If commands are required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config'. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation.
root@ns#

変換されたファイル:

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#

警告ファイル:

root@ns# cat warn_sample_2.conf
2019-02-28 06:20:10,590: ERROR - Error in converting expression security_expr : conversion of clientSecurityMessage based expression is not supported.
2019-02-28 06:20:12,187: WARNING - Following bind command is commented out because state is disabled. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation. 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
2019-02-28 06:20:12,191: WARNING - Bindings of advanced CMP policies to cmp global are commented out, because initial global cmp parameter is classic but advanced policies are bound. Now global cmp parameter policy type is set to advanced. If commands are required please take a backup because comments will not be saved in ns.conf after triggering 'save ns config'. Advanced expressions only have a fixed ordering of the types of bindings without interleaving, except that global bindings are allowed before all other bindings and after all bindings. If you have global bindings in the middle of non-global bindings or any other interleaving then you will need to reorder all your bindings for that feature and direction. Refer to nspepi documentation.
root@ns#

バインドの優先順位

高度なポリシーでは、グローバルと非グローバル、および異なるバインディングタイプ間の優先度による任意のインターリーブは許可されません。このようなクラシックポリシーの優先度のインターリーブに頼っている場合は、高度なポリシールールに準拠し、必要な動作を得るために、優先順位を調整する必要があります。 詳細ポリシーの優先順位は、バインドポイントに対してローカルです。バインドポイントは、プロトコル、機能、方向、およびエンティティの一意の組み合わせです(エンティティは、特定の仮想サーバ、ユーザ、グループ、サービス、およびグローバルオーバーライドまたはグローバルデフォルトです)。ポリシーの優先順位は、バインドポイント間で追跡されません。

特定のプロトコル、機能、および方向について、高度なポリシーの評価順序を次に示します。

  • グローバルオーバーライド。
  • (現在)AAA ユーザ。
  • AAA グループ(ユーザがメンバーである)の重み付け順。2 つ以上のグループが同じ重みを持つ場合、順序は未定義です。
  • 要求を受信した、またはコンテンツスイッチングが選択された LB 仮想サーバー。
  • コンテンツスイッチング仮想サーバー、要求を受信したキャッシュリダイレクト仮想サーバー。
  • 負荷分散によって選択されたサービス。
  • グローバルデフォルト。

認可ポリシー評価の順序は次のとおりです。

  • システム上書き。
  • 要求を受信した、またはCSが選択された仮想サーバの負荷分散。
  • 要求を受信したコンテンツスイッチング仮想サーバー。
  • システムデフォルト。

各バインドポイント内では、優先順位の高い順にポリシーが評価されます。もちろん、ポリシーは、使用されるプロトコルとメッセージの受信元の方向についてのみ評価されます。

手動での優先順位付けが必要な従来のポリシーバインディング

ここでは、ニーズを達成するために手動での優先順位付けが必要になるクラシックポリシーバインディングのいくつかのタイプを示します。これらはすべて、特定のフィーチャと方向のためのものです。

  • 上記のエンティティタイプリストの方向とは反対の優先順位番号が増加する古典的な優先順位。たとえば、負荷分散仮想サーバーバインディングよりも低いコンテンツスイッチング仮想サーバーバインディングです。
  • AAA グループをインターリーブするクラシックプライオリティ。あるグループの1つの部分は、他のグループの前にあり、さらに別の部分は、そのグループの一部後にあります。
  • AAA グループの重み付け順序以外の数が増加するクラシックプライオリティ。
  • 一部の非グローバルプライオリティよりも小さく、同じグローバルプライオリティのクラシックグローバルプライオリティは、他の非グローバルプライオリティ(つまり、非グローバルプライオリティのセグメント、続いて 1 つ以上のグローバル、その後に非グローバルプライオリティ)よりも大きくなります。