CUPS でのエンタープライズ オンボーディング

機能変更履歴


Note


リリース 21.24 よりも前に導入された機能については、詳細な改訂履歴は示していません。


改訂の詳細

リリース

初版

21.24 より前

機能説明

CUPS アーキテクチャでは、ユーザープレーン(SAEGW-U)は、ユーザープレーングループ(UP グループ)と呼ばれる論理概念にグループ化され、コントロールプレーン(CP)ノードによって制御されます。APN は UP グループに関連付けられ、IP プールの UP は、使用頻度が最も低いユーザープレーンに基づいて選択されます。

新しい APN と IP プールの設定時に、オペレータは使用する UP グループを決定する必要があります。UP グループを決定するために必要な情報はシステムによって公開されず、このプロセスは煩雑でエラーが発生しやすくなります。また、ASR 5500 と比較して、CUPS アーキテクチャの CP と UP の両方でコンテキスト、APN、VRF、および IP プールの数は少なくなります。これにより、新しい APN と IP プールを適切なコンテキストと UP グループに追加することも制限されます。

インテリジェント オンボーディング(IOB)ツールは、追加する新しい APN に適した UP グループと SGi コンテキストを選択する手順を自動化します。このツールは、CUPS システムで設定されている現在のリソース情報(UP グループの数、グループごとの UP、既存のコンテキスト、APN、および IP プール)を収集します。次に、システムが新しい設定に対応できるかどうかを判断し、システムの制限に違反することなくサポートできる UP グループを決定します。これに伴い、新しい設定がツールによって適用されます。

運用ユースケース

企業は、APN および IP プールに基づく情報を使用して、オペレータを通じたユーザーの追加、変更、削除を行う必要があります。このツールは、CUPS 環境で APN を追加、変更、または削除するために必要な設定を生成して適用します。

次の操作を実行できます。

  • 企業の追加:必要な数の IPv4/IPv6 プールを持つ新しい APN が追加されます。

  • 企業の変更:既存の APN の IP プールを追加/削除できます。

  • 企業の削除:APN が削除されます。

21.20.13 以降のリリースでは、IOB ツールは、1 回の操作で 1 つまたは複数の仮想 APN のオンボーディングが可能です。この操作の一環として、1 つまたは複数の既存の APN を変更して、これらの新しい仮想 APN を参照できます。同様に、このツールは、一緒にオンボードされた一連の仮想 APN を削除し、同時に他の APN からそれらの APN への既存の参照を削除することもできます。

アーキテクチャ

ASR 5500 では、エンタープライズの追加は新しい APN の追加で構成されます。CUPS には、APN の設定だけでなく、正しい UP グループと SGi コンテキストの設定を含める必要があります。

IOB ツールはプロビジョニングツールから入力データを取得し、APN に最適な UP グループと SGi コンテキストを選択し、CP と UP を設定します。IOB ツールでは、APN 設定の変更(IP プールの追加/削除)と APN の削除もできます。

複数の APN をオンボーディングする場合は、APN 設定セクションに以下を指定する必要があります。

  • すべてのオンボーディング対象 APN

  • それらを参照する APN(仮想 APN の場合)

前述のシナリオでは、すべての APN が同じ UP グループと SGi コンテキストにオンボーディングされます。

インストール

IOB ツールは、Linux 実行ファイルとして出荷されます。Pexpect や接続管理ライブラリなど、依存関係があるものはすべて、スタンドアロンの .exe ファイルにパッケージ化されます。

このツールは StarOS イメージに付属しており、StarOS VPC-SI イメージに使用されるキーと同じキーで署名されています。

実行可能ツールには、次の環境が必要です。

  • RedHat Enterprise Linux 7.6(または同等の CentOS)64 ビットのインストール

  • OpenSSL バージョン 1.0.2.k-fips

  • 次の共有ライブラリは、/lib64 の下にインストールされます(共有ライブラリは通常、標準の RHEL または CentOS インストールに存在します)。

    • libdl.so.2

    • libz.so.1

    • libc.so.6

    • ld-linux-x86-64.so.2

  • /tmp ディレクトリの読み取り、書き込み、実行権限。実行中、ツールは /tmp の下に一時ディレクトリを作成し、実行ファイルのセクションをこの一時ディレクトリに抽出し、セクションを実行します。

  • ツールとログファイル用の十分なディスク容量(現在の使用量は約 10 MB)

  • オンボーディングが実行される CP および UP への IP 接続。パスワードベースの SSH は接続に使用されます。

機能の仕組み

IOB ツールはスタンドアロン アプリケーションで、StarOS CLI を活用してシステムレベルのリソースの収集、設定の読み取り、エラーや SRP 情報の確認などを行います。IOB ツールへの入力パラメータには、CP および UP のアドレス指定とログイン情報、操作の詳細(追加/変更/削除)、適用される特定の設定が含まれます。設定を適用するコンテキストは事前に認識されていない可能性があるため、入力設定ではプレースホルダとしてダミーコンテキストを指定します。IOB ツールは、設定を適用する前に、そのダミーコンテキストを、選択された特定のコンテキストに置き換えます。

また、エンタープライズ オンボーディング ソリューションの一部として、新しい CLI コマンドが導入され、既存の CLI コマンドが変更されました。詳細については、「CUPS OAM におけるエンタープライズ オンボーディングのサポート」 の項を参照してください。

IOB ツールは、次の手順を実行します。

  • 前処理:オンボーディング操作を続行するにあたり、システムが安定した状態であることを確認するために実行されます。検証に成功すると、IOB ツールはシステムから現在のリソース使用状況情報を収集します。

  • コンテキストと UP グループの選択:IOB ツールは、オンボーディング アルゴリズムを適用してコンテキストと UP グループを選択し、APN をオンボーディングします。

  • 設定:実行する操作に応じて、前処理ステップで収集したデータを使ってアルゴリズムが適用されます。その後、設定が CP および UP に適用されます。障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • 後処理:設定後のチェックが実行され、システムのエラーが検証されます。障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • ロギング:操作全体がログに記録されます。ロギングメカニズムは、操作の出力、操作の履歴、警告/エラーメッセージ、およびデバッグに役立つその他の情報をキャプチャします。

前処理

前処理の手順は、オンボーディング操作が実行されている CUPS システムのステータスを理解するのに役立ちます。前処理段階では、操作に関係なく次のチェックが実行されます。

  • すべての CP および UP 管理 IP が到達可能かどうかを確認します。

    • すべての CP のアクティブ/スタンバイ管理 IP に ping を実行します。

    • すべての UP のアクティブ/スタンバイ管理 IP に ping を実行します。

  • 次の出力に基づいて、リソース情報(APN、IP プール、VRF、コンテキスト)を収集します。

    • show ip user-plane verbose

    • show cups-resources session summary

  • 追加操作

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • オンボーディングする VRF、APN、および IP プールがシステムで設定されていないことを確認します。1つ以上の仮想 APN をオンボーディングする場合、これらの仮想 APN を参照する APN がシステムにすでに存在している必要があります。このツールは、APN 内の次の設定の存在を使用して、これらの APN を区別します。
        virtual-apn gcdr apn-name-to-be-included Gn

        そのため、1 つ以上の APN を含む入力設定がある場合、システムにすでに存在する APN には前述の設定が含まれている必要があります。それ以外の場合、ツールは APN が存在しないと見なし、事前監査手順に失敗します。

      • show srp info を使用して、アクティブおよびスタンバイ CP 間に設定の違いがないことを確認します。

    • コンテキストと UP グループの選択後、ユーザープレーンノードでは、選択した UP グループのすべての UP に対して次の前処理チェックが実行されます。

      • オンボーディングする VRF がシステムに存在しないことを確認します。存在する場合、前処理は失敗し、オンボーディングは中止されます。

      • show srp info を使用して、アクティブおよびスタンバイ UP 間に設定の違いがないことを確認します。

      • SGi コンテキストが UP グループにマッピングされているかどうかを確認します。

  • 変更操作:

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • 変更する VRF がシステムに存在することを確認します。

      • 変更する APN がシステムに存在することを確認します。

      • 変更操作の一部として削除された IP プールがシステムに存在することを確認します。変更操作の一部として追加された IP プールは、システムに存在しません。

      • show srp info を使用して、アクティブおよびスタンバイ CP 間に設定の違いがないことを確認します。

  • 削除操作

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • 削除する VRF がシステムに存在することを確認します。

      • 削除する APN がシステムに存在することを確認します。

      • show srp info を使用して、アクティブおよびスタンバイ CP 間に設定の違いがないことを確認します。

    • ユーザープレーンノードでは、次のチェックが実行されます。

      • 削除する VRF がシステムに存在することを確認します。

      • show srp info を使用して、アクティブおよびスタンバイ UP 間に設定の違いがないことを確認します。

CP および UP の設定

前処理が成功すると、ツールは入力内容に従って追加/変更/削除操作を実行し、CP および UP に設定を適用します。ICSR セットアップの場合、設定はアクティブとスタンバイの両方の CP と UP に適用されます。

  • 追加操作:アルゴリズムは、追加する APN の適切な SGi コンテキストと UP グループを選択します。

    • コントロールプレーンノードでは、次の手順が実行されます。

      • 選択された SGi コンテキストと UP グループが APN 設定に追加され、ツールへの入力データとして使用されます。仮想 APN をオンボーディングする場合、オンボードの対象の仮想 APN のみで、UP グループと IP コンテキストが更新されます。それらを参照する APN(システムにすでに存在する)は、入力ファイル内にある virtual-apn preference .. の設定により更新されます。

      • その後、更新された設定が CP ノードに適用されます。

    • ユーザープレーンノード:

      • IOB ツールは、ダミーの SGi コンテキストを選択されたコンテキストに置き換え、選択された UP グループ内のすべての UP に最終的な設定を適用します。

      • UP グループ内のすべての UP に VRF 設定を適用します。

    • 障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • 変更操作:IP プールを追加または削除するように設定が変更されます。

    • コントロールプレーンノード:

      • 特定の APN 設定については、IP プールを追加/削除するために IP プールの設定が変更されます。IP プールが削除される場合、削除前にツールは次の処理を実行します。

        • プールをビジーアウトします。

        • ペースアウト間隔ごとに、そのプールの既存のサブスクライバをクリアします。ペースアウト間隔は、プールのサイズに基づいて計算されます。

          IPv6 プールの場合、式は次のとおりです。

          ペースアウト間隔 = (2^(64 - プールサイズ) * 2 - 2) / 500

          したがって、/48 プールのペースアウト間隔は、(2^(64 - 48) * 2 - 2) / 500 = (2^16 * 2 - 2) / 500 = 131070 / 500 = 262 秒になります。

          IPv4 プールの場合、式は次のとおりです。

          ペースアウト間隔 = (2^(32 - プールサイズ) * 2 - 2) / 500

          したがって、/21 プールのペースアウト間隔は、(2^(32 - 21) * 2 - 2) / 500 = (2^11 * 2 - 2) / 500 = 4094 / 500 = 8 秒になります。

    • 障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • 削除操作:APN を削除します。

    • コントロールプレーンノード:

      • APN に関連付けられている IP プールと VRF が削除されます。

        APN を削除する前に、IOB ツールは指定された APN にユーザーがアタッチされているかどうかを確認します。ユーザーが存在する場合は、ツールが終了して「サブスクライバをクリアしてから DELETE_ENTERPRISE を実行してください。そうしない場合は APN が削除されます」という内容のエラーメッセージが表示されます。

      • APN 設定が削除されます。

      • 仮想 APN を削除すると、仮想 APN と仮想 APN への参照のみが削除されます。それらを参照する APN は、システムに残ります。そうでなければ、監査情報の送信に失敗します。

    • ユーザープレーンノードでは、VRF 設定が削除されます。

      障害発生時に IOB ツールは以前の設定にロールバックしませんが、手動クリーンアップが必要になる容量を最小限に抑えるために、関連設定をできるだけ多く削除しようとします。

後処理

設定が CP および UP にプッシュされると、設定変更を検証するためのチェックが実行されます。

  • 追加操作:

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • show ip vrf vrf_name を使用して設定済みの VRF を検証します。VRF 設定が CUPS システムに適用されているかどうかを確認します。

      • show configuration apn apn_name を使用して、選択したコンテキストが表示されるかを検証します。これにより、コンテキストが追加された APN に関連付けられているかどうかを確認します。この検証は、オンボードされている APN ごとに行われます。仮想 APN がオンボードされている場合、この検証は各仮想 APN に対してのみ実行されます。

      • show configuration apn apn_name を使用して、選択した UP グループが表示されるかを検証します。これにより、UP グループが追加された APN に関連付けられているかどうかを確認します。

      • 仮想 APN がオンボードされている場合、ツールは、入力設定(virtual-apn preference <preference> apn <virtual apn> など)に従った他の APN から仮想 APN へのすべての参照が存在し、正しいことを確認します。

      • save configuration file_path / file_name を使用して設定を保存します。新しい企業が正常に追加された後、それぞれの構成ファイルが「CUPSinfo.txt」ファイルで指定されたパスに保存されているかどうかを確認します。

      • filesystem synchronize を使用して CP の設定を同期します。新しい企業が正常に追加された後、ファイルの同期を確認します。

      • show srp info を使用して CP 間で設定の違いがないことを確認します。ICSR セットアップでの SRP 検証:新しい企業が正常に追加された後、IOB ツールは [Primary] および [secondary] ステータス、[Last Peer Configuration Error]、[Connection State]、および [Number of Sessmgrs] の SRP 検証を確認します。

    • ユーザープレーンノードでは、次のチェックが実行されます。

      • show ip vrf vrf_name を使用して設定済みの VRF を検証します。CUPS システムに適用される VRF 設定を確認します。

      • show ip vrf vrf_name を使用してルート識別子を検証します。CUPS システムに適用されるルート識別子の設定を確認します。

      • save configuration file_path / file_name を使用して設定を保存します。

      • srp validate-configuration を使用した SRP 検証の呼び出し:show srp info を使用して UP 間で設定の違いがないことを確認します。ICSR セットアップでの SRP 検証。

    • 障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • 変更操作:

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • 変更内容が CUPS システムに適用されていることを確認します。

      • IP プールへの変更がシステムに反映されていることを確認します。

      • save configuration file_path / file_name を使用して設定を保存します。

      • srp validate-configuration を使用した SRP 検証の呼び出し:show srp info を使用して UP 間で設定の違いがないことを確認します。ICSR セットアップでの SRP 検証

    • 障害が発生した場合、IOB ツールは以前の設定へのロールバックを試行します。

  • 削除操作:

    • コントロールプレーンノードでは、次のチェックが実行されます。

      • この検証は、削除操作後に APN ごとに行われます。仮想 APN の削除操作では、仮想 APN への参照のみが削除され、それを参照する APN は保持されます。後者の APN を削除すると、後処理が失敗します。

      • VRF 設定が CUPS システムから削除されているかどうかを確認します。

      • save configuration file_path / file_name を使用して設定を保存します。

      • srp validate-configuration を使用した SRP 検証の呼び出し:show srp info を使用して UP 間で設定の違いがないことを確認します。ICSR セットアップでの SRP 検証

    • ユーザープレーンノードでは、次のチェックが実行されます。

      • VRF 設定が CUPS システムから削除されているかどうかを確認します。

      • save configuration file_path / file_name を使用して設定を保存します。

      • srp validate-configuration を使用した SRP 検証の呼び出し:show srp info を使用して UP 間で設定の違いがないことを確認します。ICSR セットアップでの SRP 検証。

追加操作

追加操作では、企業顧客の新しい APN を設定します。このツールを使用すると、同じ SGi コンテキストと VRF 設定を共有している場合、1 回の操作で複数の APN のオンボーディングもサポートできます。この場合、オンボーディング APN は IP プール情報を共有する場合と共有しない場合があります(両方の条件をサポートします)。すべてのオンボーディング APN は、前述のシナリオで同じ SGi コンテキストと UP グループにマッピングされます。アルゴリズムによってシステムパラメータを考慮して適切な SGi コンテキストと UP グループが選択され、APN にマッピングされます。

アルゴリズムロジック

  • システム制限を確認します(システム制限 に記載されている CP 制限について確認)。仮想 APN をオンボーディングする場合、ツールでは仮想 APN のみが APN 制限の計算対象の新しい APN と見なされます。仮想 APN を参照する APN はすでにシステムに存在しているため、システムの現在の APN 数にすでに含まれています。

  • 上位の低い数値で設定された APN の数に基づいて UP グループをランク付けします。

  • 設定された VRF の数に基づいて SGi コンテキストを昇順でソートします。

  • リストから VIP UP グループとコンテキストを除外します。

  • リストの一番上から(使用頻度が最も低い)UP グループを選択します。

    • UP グループにマッピングされているコンテキストを取得します(コンテキストがマッピングされていない場合は、ソート済みリストから選択します)。

    • VRF、IPv4、IPv6 プールの数、および合計プールサイズをチェックします。

    • 結果がしきい値内に収まっている場合は、コンテキストを選択します。収まっていない場合は、次のコンテキストに対してチェックを繰り返します。

    • 制限内で適切なコンテキストを選択します。適切なコンテキストが見つからない場合は、アルゴリズムを終了します。

    • この UP グループについて、UP を反復処理し、合計 IP プールの制限を確認します。

    • 成功した場合は、UP グループとコンテキストを選択します。

  • すべての UP グループを反復処理します。

  • 各ステップで、しきい値をチェックしながら、エラーメッセージを出力します。

  • 選択したコンテキストと UP グループを使用して設定を準備し、適用します。

変更操作

変更操作により、導入準備を終えた企業のお客様は、IP プールを追加するか、既存の IP プールを削除することでサブスクライバを増減できます。

削除操作

削除操作では、以前にオンボーディングしたエンタープライズが削除されます。この操作中に、IOB ツールはエンタープライズで使用される IP プール、VRF、および APN をクリーンアップします。

エンタープライズを削除する際は、システムにアクティブなサブスクライバが存在する可能性があるため、次の手順に従う必要があります。

  • IP プールのビジーアウト:これは、新しいサブスクライバをブロックするために実行します。IOB ツールを呼び出し、MODIFY 操作を使用してビジーアウト操作を実行します。

  • サブスクライバのクリア:プロビジョニングツールを使用して、アクティブなサブスクライバをクリアします。

  • エンタープライズの削除:IOB ツールを呼び出し、DELETE 操作を使用してエンタープライズの削除を実行します。

パスワード暗号化

IOB ツールを使用すると、「CUPSInfo.txt」入力ファイル内のパスワードが RSA 暗号化され、Base64 形式に変換されます。暗号化は、OpenSSL コマンド(現在バージョン 1.0.2.k をサポート)と RSA 公開キーを使用して行われます。パスワードを復号できるように、IOB ツールに対応する RSA 秘密キーへのパスを指定する必要があります。復号されたパスワードは、IOB ツールの RAM にのみ保存されます。暗号化と復号の詳細な手順を以下に示します。

  1. 正しいバージョンの OpenSSL がターゲットマシンにインストールされていることを確認します。

    • 「openssl version」に、バージョンが 1.0.2.k-fips と表示されている必要があります。

  2. RSA の秘密キーと公開キーのペアを生成します。

    1. RSA 秘密キー:

      
      openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:4096 
      

      それぞれの説明は次のとおりです。

      • 「private_key.pem」には、生成された秘密キーファイルが PEM 形式で表示されます。これは復号に使用されるため、安全に保存する必要があります。

      • 4,096 はビット単位のキーの長さです。2,048 または 4,096 を使用できます。場合によっては、複数のパスワードを暗号化する必要があるため、4,096 を推奨します。一般に、キーサイズが大きいほど、暗号化できるデータのサイズも大きくなりますが、暗号化と復号にも時間がかかります。

    2. RSA 公開キー:

      
      openssl rsa -pubout -in private_key.pem -out public_key.pem 
      

      それぞれの説明は次のとおりです。

      • 「private_key.pem」は、ステップ(a)で生成された秘密キーです。

      • 「public_key.pem」は、対応する公開キーを含むファイルです。

  3. 暗号化する必要があるパスワードごとに、次の手順を実行します。

    1. エディタを使用して、テキストファイルにプレーンテキストでパスワードを入力します。行の最後で Enter を押さないでください。1 行にパスワードのみを含める必要があります。この例では、ファイルの名前は「pp1」です。

    2. 実行:

      
      openssl pkeyutl -encrypt -inkey public_key.pem -pubin -in pp1 -out encrypted_pp1 
      

      それぞれの説明は次のとおりです。

      • 「public_key.pem」は、ステップ 2b で生成された公開キーです。

      • 「pp1」は、プレーンテキストの単一のパスワードを含むファイルです。

      • 「encrypted_pp1」には、暗号化形式のパスワードが含まれています。

      誤って公開されないように、ステップ 3a で作成した「pp1」は削除します。

    3. 「encrypted_pp1」には、raw バイナリ形式のキーが含まれています。次のように Base64 に変換します。

      
      base64 encrypted_pp1 
      
    4. 前述のコマンド(ステップ 3c)を実行すると、Base64 でエンコードされた暗号化パスワードが端末に出力されるので、そのパスワードをコピーして、IOB ツールに提供されるログイン情報を含む「CUPSinfo.txt」ファイルに貼り付けます。コピー時に、改行文字やスペースはすべて削除してください。パスワード全体を 1 行にする必要があります。

    5. 「encrypted_pp1」はこの時点で削除できます。


Note


ステップ 3 は、すべてのパスワードに同じ公開キー/秘密キーのペアを使用して、パスワードごとに 1 つずつ実行する必要があります。


「CUPSinfo.txt」ファイルが暗号化されたすべての Base64 パスワードで更新されると、IOB ツールを実行できます。スクリプトを実行するときに、ステップ 2a で作成した追加のパラメータ(-k absolute path to private_key.pem )を指定します。

オンボーディング アプリケーション:使用状況と入力パラメータ

このアプリケーションは、スタンドアロンの .exe を作成するためにコンパイルされ、RedHat Enterprise Linux マシンで実行できます。

オンボーディング アプリケーションは、次の構文で実行できます。

./intelligent_onboarding -o <OP_Type_Parameter_File> -i <CUPS_Info_File> -k 
<Path_to_Pvt_Key_file> [ -l <Path_to_store_logfiles> ] [ -p ] [ --context_selection_from_cp ] [ -v ]

次のオプションがあります。

  • -o:(必須)呼び出される操作に固有の入力パラメータファイルを指定します。

    オンボーディングが成功すると、IOB ツールによってファイルが削除されます。

  • -i:(必須)このオプションは、CUPS システムの詳細を含む「CUPSinfo.txt」ファイルに使用されます。

  • -k:(必須)秘密キーファイルへの絶対パス。ツールはこのパスを使用して、以前に暗号化されたパスワードを復号します。この秘密キーファイルは、パスワードの暗号化に使用される公開キーに対応している必要があります。

  • -p:(任意)このキーワードを含めると、追加/変更/削除操作にかかる時間を短縮するために、いくつかの事前監査および事後監査チェックがバイパスされます。

  • -l:(任意)ログを保存する絶対パスを指定します。

    このキーワードが指定されていない場合、ログファイルは IOB ツールが呼び出されたディレクトリに作成されます。

  • --context_selection_from_cp:(任意)指定すると、ツールは CP で使用可能なコンテキストのリストのみに基づいてコンテキストを選択します。このツールでは、選択したコンテキストが UP でも使用可能であると想定されているため、コンテキストは検証されません。つまり、最適化されています。デフォルトの動作では、CP と UP で設定されたコンテキストが検査され、両方に共通のコンテキストから選択されます。

  • -v:(任意)IOB 実行ファイルのバージョンを表示します。

    -v オプションを指定せずに IOB ツールを実行すると、次のようなバージョンが表示されます。

          ###############################################################
          #                                                             #
          #             WELCOME TO ENTERPRISE ONBOARDING                #
          #                   Version 21.20.9.private                   #
          #                                                             #
          ###############################################################

    :バージョンは、ログファイルと端末出力に表示されます。

CUPSinfo.txt

オンボーディング アプリケーションは、オンボーディング操作を実行するためにシステムレベルの詳細を認識している必要があります。「CUPSinfo.txt」ファイルには、CP ノードと UP ノードの IP アドレスと設定可能なしきい値が含まれています。「Skip_UPGroup」と「Skip_Context」は、オンボーディング アルゴリズムで考慮すべきではない UP グループとコンテキストを指します。たとえば、他の企業には使用できない VIP グループやコンテキストです。ファイルで、設定を保存する必要があるパスを指定します。このファイルのパスワードは、RSA 暗号化された Base64 形式で指定する必要があります。

21.20.9 以前のリリースでは、CP および UP 入力のエントリ順序は次のとおりでした。

//Control_Plane: Host,Node,Primary_IP,Secondary-IP,Login,Password,Primary_config_path,Secondary_config_path
//User_Plane: Host,Node,Primary_IP,Secondary-IP,Login,Password,Sx-IP-Address,Primary_config_path,Secondary_config_path

21.20.10 以降のリリースでは、CP および UP 入力のエントリ順序は次のとおりです。

//Control_Plane: Host,Node,Primary_IP,Secondary-IP,Primary_config_path,Secondary_config_path,Login,Password
//User_Plane: Host,Node,Primary_IP,Secondary-IP,Sx-IP-Address,Primary_config_path,Secondary_config_path,Login,Password
CUPSinfo.txt ファイルの例

21.20.9 以前のリリース:

//Threshold for Warning, input as percentage values

CPContext_threshold = {vrf_threshold:80, ipv4_threshold:80, ipv6_threshold:80}
CPSystem_threshold = {vrf_threshold:80, total_pool_threshold:80, apn_threshold:80}
UPContext_threshold = {vrf_threshold:80, ipv4_threshold:80, ipv6_threshold:80}
UPSystem_threshold = {vrf_threshold:80, apn_threshold:80, total_pool_threshold:80}
UPBudgeted_Sessions_threshold = {budgeted_threshold:80}

SKIP_UPGroup =
SKIP_Context =

//Control_Plane: Host,Node,Primary_IP,Secondary-IP,Login,Password,Primary_config_path,Secondary_config_path
cups_di_cp1,Control_Plane,209.165.200.225,209.165.200.225,<login_id>,<password>, /flash/209.165.200.225-cups-vpp-saegw-global-control-plane.cfg, /flash/209.165.200.225-cups-vpp-saegw-global-control-plane.cfg

//User_Plane: Host,Node,Primary_IP,Secondary-IP,Login,Password,Sx-IP-Address,Primary_config_path,Secondary_config_path
cups_di_up0,User_Plane,209.165.200.230,209.165.200.230,<login_id>,<password>, 209.165.200.238,/flash/209.165.200.230-cups-vpp-saegw-global-user-plane-.cfg, /flash/209.165.200.230-cups-vpp-saegw-global-user-plane.cfg
cups_di_up1,User_Plane,209.165.200.235,209.165.200.235,<login_id>,<password>, 209.165.200.242,/flash/209.165.200.235-cups-vpp-saegw-global-user-plane.cfg, /flash/209.165.200.235-cups-vpp-saegw-global-user-plane.cfg

21.20.10 以降のリリース:

//Threshold for Warning, input as percentage values

CPContext_threshold = {vrf_threshold:98, ipv4_threshold:98,ipv6_threshold:98}
CPSystem_threshold = {vrf_threshold:98, total_pool_threshold:98, apn_threshold:98}
UPContext_threshold = {vrf_threshold:98, ipv4_threshold:98, ipv6_threshold:98}
UPSystem_threshold = {vrf_threshold:98, apn_threshold:98, total_pool_threshold:98}
UPBudgeted_Sessions_threshold = {budgeted_threshold:80}

SKIP_UPGroup =
SKIP_Context =

//Control_Plane: Host,Node,Primary_IP,Secondary-IP,Primary_config_path, Secondary_config_path,Login,Password
cups_di_cp1,Control_Plane,209.165.200.225,209.165.200.225,/flash/209.165.200.225-CP01.cfg, /flash/209.165.200.225-CP02.cfg,<login_id>,<password>
//User_Plane: Host,Node,Primary_IP,Secondary-IP,Sx-IP-Address,Primary_config_path, Secondary_config_path,Login,Password
cups_si_up1,User_Plane,209.165.200.235,209.165.200.235,209.165.200.242,/flash/209.165.200.235-UP01.cfg, /flash/209.165.200.235-UP02.cfg,<login_id>,<password>

ADD_ENTERPRISE_INPUT_PARAMETERS.txt

このファイルには、APN 追加時の設定情報が含まれ、IP プール情報と VRF 情報を提供します。提供されるコンテキストはダミーであり、実際のコンテキストはアルゴリズムの一部として決定されます。IP プールはチャンクをサポートしていません。

ADD_ENTERPRISE_INPUT_PARAMETERS.txt の例

次に、単一の APN をオンボーディングするための設定例を示します。


OpType = "ADD_ENTERPRISE" 
 
CP_APN_Config  = '''Config 
context APN 
        apn starent.com 
ip address pool name starent_ipv4_pool_group_01 
ipv6 address prefix-pool starent_ipv6_pool_group_01 
        exit 
    exit 
exit''' 
 
// script will replace the dummy-SGI context with the chosen context 
CP_SGi_Context = '''Config 
    context dummy-SGi 
ip vrf MPN00001 
ip pool starent_ip_pool_v4_001 209.165.200.225 255.255.255.250 private 0 no-chunk-pool group-name starent_ipv4_pool_group_01 vrf MPN00001 
ip pool starent_ip_pool_v4_002 209.165.200.228 255.255.255.250 private 0 no-chunk-pool group-name starent_ipv4_pool_group_01 vrf MPN00001 
 
ipv6 pool starent_ip_pool_v6_001 prefix 2001:1:1::/48 private 0 no-chunk-pool group-name starent_ipv6_pool_group_01 vrf MPN00001 
 
    exit 
exit''' 
 
// UP VRF config 
// script will replace the dummy-SGI context with the chosen context 
UP_VRF_Config= '''config 
context dummy-SGI 
ip vrf MPN00001 
ip maximum-routes 100 
exit 
router bgp 65101 
ip vrf MPN00001 
route-distinguisher 65101 11100001 
route-target both 65101 11100001 
exit 
address-family ipv4 vrf MPN00001 
redistribute connected 
exit 
address-family ipv6 vrf MPN00001 
redistribute connected 
exit 
exit 
exit 
exit''' 

次に、1 回の追加操作で複数の仮想 APN をオンボーディングするための設定例を示します。

OpType = "ADD_ENTERPRISE"

CP_APN_Config  = '''Config
        context APN
        apn virtual1
                        ip address pool name apn2_ipv4_pool_group_01
                        ipv6 address prefix-pool apn2_ipv6_pool_group_01
        exit
        apn virtual2
                        ip address pool name apn2_ipv4_pool_group_02
                        ipv6 address prefix-pool apn2_ipv6_pool_group_02
        exit
        apn virtual3
                        ip address pool name apn2_ipv4_pool_group_03
                        ipv6 address prefix-pool apn2_ipv6_pool_group_03
        exit
        apn virtual4
                        ip address pool name apn2_ipv4_pool_group_04
                        ipv6 address prefix-pool apn2_ipv6_pool_group_04
        exit
        apn virtual5
                        ip address pool name apn2_ipv4_pool_group_05
                        ipv6 address prefix-pool apn2_ipv6_pool_group_05
        exit
        apn virtual6
                        ip address pool name apn2_ipv4_pool_group_06
                        ipv6 address prefix-pool apn2_ipv6_pool_group_06
        exit
        apn virtual7
                        ip address pool name apn2_ipv4_pool_group_07
                        ipv6 address prefix-pool apn2_ipv6_pool_group_07
        exit
        apn virtual8
                        ip address pool name apn2_ipv4_pool_group_08
                        ipv6 address prefix-pool apn2_ipv6_pool_group_08
        exit
        apn virtual9
                        ip address pool name apn2_ipv4_pool_group_09
                        ipv6 address prefix-pool apn2_ipv6_pool_group_09
        exit
        apn virtual10
                        ip address pool name apn2_ipv4_pool_group_10
                        ipv6 address prefix-pool apn2_ipv6_pool_group_10
        exit
        apn real1
            virtual-apn preference 1 apn virtual2 domain virtual2
            virtual-apn preference 2 apn virtual3 domain virtual3
            virtual-apn preference 3 apn virtual4 domain virtual4
        exit
        apn real2
            virtual-apn preference 3 apn virtual5 domain virtual5
            virtual-apn preference 6 apn virtual6 domain virtual6
            virtual-apn preference 9 apn virtual7 domain virtual7
        exit
        apn real3
            virtual-apn preference 2 apn virtual6 domain virtual6
            virtual-apn preference 5 apn virtual7 domain virtual7
            virtual-apn preference 8 apn virtual8 domain virtual8
        exit
        apn real4
            virtual-apn preference 2 apn virtual8 domain virtual8
            virtual-apn preference 3 apn virtual9 domain virtual9
            virtual-apn preference 5 apn virtual10 domain virtual10
        exit
        apn real5
            virtual-apn preference 7 apn virtual10 domain virtual10
            virtual-apn preference 8 apn virtual1 domain virtual1
            virtual-apn preference 9 apn virtual2 domain virtual2
        exit
        apn real6
            virtual-apn preference 11 apn virtual10 domain virtual10
            virtual-apn preference 12 apn virtual1 domain virtual1
            virtual-apn preference 13 apn virtual2 domain virtual2
        exit
        apn real7
            virtual-apn preference 12 apn virtual2 domain virtual2
            virtual-apn preference 13 apn virtual3 domain virtual3
        exit
        apn real8
            virtual-apn preference 12 apn virtual7 domain virtual7
        exit
        apn real9
            virtual-apn preference 12 apn virtual5 domain virtual5
            virtual-apn preference 13 apn virtual6 domain virtual6
            virtual-apn preference 14 apn virtual7 domain virtual7
            virtual-apn preference 15 apn virtual8 domain virtual8
            virtual-apn preference 16 apn virtual9 domain virtual9
            virtual-apn preference 17 apn virtual10 domain virtual10
            virtual-apn preference 18 apn virtual2 domain virtual2
            virtual-apn preference 19 apn virtual3 domain virtual3
        exit
        apn real10
            virtual-apn preference 1 apn virtual1 domain virtual1
        exit
    exit
exit'''

// script will replace the dummy-SGI context with the chosen context
CP_SGi_Context = '''Config
    context dummy-SGi      
        ip vrf MPN00002
        ip pool apn2_ip_pool_v4_001 209.165.201.1 255.255.255.224 private 0 group-name 
apn2_ipv4_pool_group_01 vrf MPN00002 no-chunk-pool
        ip pool apn2_ip_pool_v4_002 209.165.201.3 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_02 vrf MPN00002
        ip pool apn2_ip_pool_v4_003 209.165.201.5 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_03 vrf MPN00002
        ip pool apn2_ip_pool_v4_004 209.165.201.7 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_04 vrf MPN00002
        ip pool apn2_ip_pool_v4_005 209.165.201.9 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_05 vrf MPN00002
        ip pool apn2_ip_pool_v4_006 209.165.201.11 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_06 vrf MPN00002
        ip pool apn2_ip_pool_v4_007 209.165.201.13 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_07 vrf MPN00002
        ip pool apn2_ip_pool_v4_008 209.165.201.15 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_08 vrf MPN00002
        ip pool apn2_ip_pool_v4_009 209.165.201.17 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_09 vrf MPN00002
        ip pool apn2_ip_pool_v4_010 209.165.201.19 255.255.255.224 private 0 no-chunk-pool group-name apn2_ipv4_pool_group_10 vrf MPN00002

        ipv6 pool apn2_ip_pool_v6_001 prefix 2001:268:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_01 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_002 prefix 2001:278:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_02 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_003 prefix 2001:288:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_03 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_004 prefix 2001:298:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_04 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_005 prefix 2001:2A8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_05 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_006 prefix 2001:2B8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_06 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_007 prefix 2001:2C8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_07 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_008 prefix 2001:2D8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_08 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_009 prefix 2001:2E8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_09 vrf MPN00002 
        ipv6 pool apn2_ip_pool_v6_010 prefix 2001:2F8:1::/48 private 0 no-chunk-
pool group-name apn2_ipv6_pool_group_10 vrf MPN00002 
    exit
exit'''

// UP VRF config
// script will replace the dummy-SGI context with the chosen context
UP_VRF_Config   = '''config
                context dummy-SGI
                        ip vrf MPN00002
                                ip maximum-routes 100
                        exit
                        router bgp 65101
                                ip vrf MPN00002
                                        route-distinguisher 65101 11100002
                                        route-target both 65101 11100002
                                exit
                                address-family ipv4 vrf MPN00002
                                        redistribute connected
                                exit
                                address-family ipv6 vrf MPN00002
                                        redistribute connected
                                exit
                        exit
                exit
        exit'''

MODIFY_ENTERPRISE_INPUT_PARAMETERS.txt

このファイルは、既存のエンタープライズの追加または削除対象の IP プールを提供します。コンテキスト名は、プール名に基づいて決定されます。

MODIFY_ENTERPRISE_INPUT_PARAMETERS.txt の例

OpType = "MODIFY_ENTERPRISE" 
CP_APN_Config  = '''Config 
     context APN 
            apn cisco.com 
            exit 
     exit 
  exit''' 
CP_SGi_Context = '''Config 
    context dummy-SGi 
      no ip pool cisco_ip_pool_v4_002 209.165.202.129 255.255.255.224 private 0 no-chunk-pool group-name starent_ipv4_pool_group_01 vrf MPN00001 
      ip pool starent_ip_pool_v4_003 209.165.202.132 255.255.255.224 private 0 no-chunk-pool group-name starent_ipv4_pool_group_01 vrf MPN00001 
    exit 
exit''' 

DELETE_ENTERPRISE_INPUT_PARAMETERS.txt

エンタープライズを削除する要求の場合、この入力ファイルには APN、SGi コンテキスト、および VRF の詳細が含まれている必要があります。

DELETE_ENTERPRISE_INPUT_PARAMETERS.txt の例

単一の APN を削除するための設定例を以下に示します。


OpType= "DELETE_ENTERPRISE" 
 
CP_APN_Config = '''config 
     context APN 
         no apn cisco.com 
     exit 
exit''' 
 
// script will replace the dummy-SGI context with the chosen context 
CP_SGi_Context = '''config 
    context dummy-SGi 
no ip vrf MPN00001 
 
    exit 
exit''' 
 
// UP VRF config 
// script will replace the dummy-SGI context with the chosen context 
UP_VRF_Config = '''config 
      router bgp 65101 
          no ip vrf MPN00001 
      exit 
exit''' 

1 回の削除操作で複数の仮想 APN を削除するための設定例を以下に示します。

CP_APN_Config = '''config
     context APN
         no apn virtual1
         no apn virtual2
         no apn virtual3
         no apn virtual4
         no apn virtual5
         no apn virtual6
         no apn virtual7
         no apn virtual8
         no apn virtual9
         no apn virtual10

         apn real1
            no virtual-apn preference 1
            no virtual-apn preference 2
            no virtual-apn preference 3
         exit
         apn real2
            no virtual-apn preference 3
            no virtual-apn preference 6
            no virtual-apn preference 9
         exit
         apn real3
            no virtual-apn preference 2
            no virtual-apn preference 5
            no virtual-apn preference 8
         exit
         apn real4
            no virtual-apn preference 2
            no virtual-apn preference 3
            no virtual-apn preference 5
         exit
         apn real5
            no virtual-apn preference 9
            no virtual-apn preference 8
            no virtual-apn preference 7
         exit
         apn real6
            no virtual-apn preference 13
            no virtual-apn preference 11
            no virtual-apn preference 12
         exit
         apn real7
            no virtual-apn preference 12
            no virtual-apn preference 13
         exit
         apn real8
            no virtual-apn preference 12
         exit
         apn real9
            no virtual-apn preference 19
            no virtual-apn preference 17
            no virtual-apn preference 13
            no virtual-apn preference 12
            no virtual-apn preference 15
            no virtual-apn preference 14
            no virtual-apn preference 16
            no virtual-apn preference 18
         exit
         apn real10
            no virtual-apn preference 1
         exit
     exit
exit'''


// script will replace the dummy-SGI context with the chosen context
CP_SGi_Context = '''config
    context dummy-SGi 
        no ip vrf MPN00002

    exit
exit'''


// UP VRF config
// script will replace the dummy-SGI context with the chosen context
UP_VRF_Config = '''config 
      router bgp 65101 
          no ip vrf MPN00002
      exit
exit'''

システム制限

ASR 5500 および CUPS の制限事項を次の表に示します。

表 1. システム制限
パラメータ ASR 5500 コントロール プレーン ユーザープレーン
VRF 制限

コンテキストあたり 300

シャーシあたり 2,048

  • コンテキストあたり 300:show ip user-plane verbose CLI コマンドの出力から取得されます。

  • シャーシあたり 1500:すべてのコンテキストに追加される show ip user-plane verbose CLI コマンドの出力から取得されます。

205 VRF(デフォルトルートあり):show ip user-plane verbose CLI コマンドの出力から取得されます。UP ごとに計算する必要があります。

IP プールの制限

IPv4:コンテキストあたり 2,000

IPv6:コンテキストあたり 256 IPv6

シャーシあたり 5,000(IPv4 と IPv6 の組み合わせ)

IPv4:コンテキストあたり 2,000:show ip user-plane verbose CLI コマンドの出力から取得されます。

IPv6:コンテキストあたり 256 IPv6

シャーシあたり 3400(IPv4 と IPv6 の組み合わせ):show ip user-plane verbose CLI コマンドの出力から取得されます。

UP グループごとのコンテキストあたり合計 600 個の IP プール:

  • 合計 600 個の IP プールは、最大 256 個の IPv6 IP プールで構成できます。

  • 合計 600 個の IP プールは、最大 600 個の IPv4 IP プールで構成できます。

show ip user-plane verbose CLI コマンドの出力から取得されます。出力から値を計算する必要があります(最大 600 個の IPv4 プール、最大 256 個の IPv6 プール)。

APN 制限 2048 システムの合計 1500:show cups-resource session summary CLI コマンドの出力から取得されます。 UP あたり 205:show cups-resource session summary CLI コマンドの出力から取得されます。UP ごとに計算する必要があります。

(注)  


  • IOB ツールを使用すると、すべての APN が入力ファイルの「CP_SGi_Context」および「UP_VRF_Config」セクションを共有している場合、複数の APN をオンボーディング(OpType:ADD_ENTERPRISE)できます。APN は複数の IP プールグループを使用する可能性がありますが、それらのプールグループはすべて、入力ファイルの「CP_SGi_Context」セクションの単一のコンテキストに存在する必要があります。また、APN は単一の VRF を共有する必要があります。このような場合、すべての APN が同じ UP グループと SGi コンテキストにオンボードされます。

  • このツールを使用すると、すべての APN が入力設定の「UP_VRF_Config」および「CP_SGi_Context」セクションを共有している場合、複数の APN を削除(OpType:DELETE_ENTERPRISE)できます。ツールは操作の終了時に VRF とプールを削除します。複数の APN を削除する目的は、一緒にオンボーディングされた APN を削除することです。一緒にオンボードされた APN は一緒に削除する必要があります。このツールは、一緒にオンボードされた APN の個別の削除をサポートしていません。

  • また、1 回の操作で複数の APN を変更(OpType:MODIFY_ENTERPRISE)することはできません。一度に変更できる APN は 1 つだけです。

  • CUPSinfo.txt ファイルは、プライマリ UP 情報と見なされます。システムに追加された UP グループがファイルに存在しない場合、それらはオンボーディングの対象外となります。


CUPS OAM サポートでのエンタープライズ オンボーディング

ここでは、この機能の操作、管理、およびメンテナンスに関して説明します。

コマンドの表示

show cups-resource session summary

この CLI コマンドは、CUPS ソリューションでのエンタープライズ オンボーディングをサポートするために導入されました。この CLI コマンドの出力には、CP のシステムレベルのリソースが表示されます。

  • 出力に表示される [Group Name] 列は、UP グループの名前です。

  • Sx-IP には、UP グループで設定された UP の IP アドレスが表示されます。

  • APN、アクティブセッション、および LCI の詳細は UP グループに関する内容です。

show ip user-plane verbose

この CLI コマンドの出力は、[Total Pool Kernel Routes] フィールドと [Max Pool Kernel Routes] フィールドを表示するように拡張されています。動的 IPv4 および IPv6 プール数は、IPv4 および IPv6 プールの合計数に置き換えられます。この CLI コマンドの出力には、コンテキストとコンテキストが属する UP グループが表示され、その UP の IP プールと VRF の数に関する情報も追加されます。

エラー コード

次のエラーコードのリストは、CUPS 機能でのエンタープライズ オンボーディングのサポートで使用できます。

エラー コード 説明
1001 入力ファイルの解析が失敗したことを示します。
1002 Input_parameters ファイルの解析が失敗したことを示します。
1003 CUPSinfo ファイルの解析が失敗したことを示します。
1004 パスワードを復号できないことを示します。
1005 OpType が入力パラメータに存在しないことを示します。
1006 必要な設定が、特定の OpType の Input_parameters ファイルで使用できないことを示します。
1101 システムの前処理が失敗したことを示します。
1102 特定の OpType に対する CP の事前監査が失敗したことを示します。
1103 <UP_name> に対する UP の事前監査が失敗したことを示します。
1107 選択した SGi コンテキストと UP グループがある CP_APN_Config セクションを、ツールで更新できないことを示します。これは、入力構成ファイルにエラーがあることを示します。
1108 MODIFY_ENTERPRISE 操作で指定された複数の APN が入力ファイルに含まれていることを示します。そのようなポリシーはサポートされていません。
1301 CONTEXT および UPGROUP は選択できないことを示します。
1401 <context_name> および <group_name> が CUPS システムで見つからないことを示します。
1501 show apn CLI コマンドの出力から <context_name> を取得できないことを示します。
1601 <control/user plane name> <connection state> の設定が失敗したことを示します。
1602 <control/user plane name> のロールバック設定が失敗したことを示します。
1701 <control plane name> <connection state> の CP 事後監査が失敗したことを示します。
1702 <user plane name> <connection state> の UP 事後監査が失敗したことを示します。
1703 Sx の再関連付けが失敗したことを示します。