はじめに
このドキュメントでは、さまざまなNetwork Services Orchestrator(NSO)ライセンスと、Cisco Smart License®を使用してそれらのライセンスをアクティブ化する方法について説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
- NSO CLI の使い方
- NSO のトラブルシューティング
- Linux に関する基本知識
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- NSO 4.5以降
- NSO 4.4
- NSO 4.1/4.2/4.3
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
NSOライセンス
注:ユーザは有効なNSOライセンスを所有している必要があります。
NSO では次のライセンスを使用します。
PID |
SSM の表示 |
種類 |
説明 |
R-NSO-K 9 |
|
トップ レベル |
NSO のインスタンスごとに必須。 |
NSO-P-PAK |
NSO-platform-production |
サーバ |
アクティブ ノードで必須。 |
NSO-HA-LIC-P |
NSO-platform-production-standby |
サーバ |
スタンバイ ノードで必須。 |
NSO-DEV-P-PAK |
NSO-platform-development-test |
サーバ |
開発環境で必須。 |
NSO-PNF-() |
NSO-network-element |
ネットワーク要素 |
接続デバイスが物理デバイスの場合、サウスバウンド。
|
NSO-VNF-() |
NSO-network-element |
ネットワーク要素 |
接続されたデバイスが仮想デバイスの場合、サウスバウンド。 |
NED-() |
NED ごとに異なる
例:
Cisco-ios-NED Cisco-iosxr-NED
|
NED |
NED 向け。さまざまなデバイスの種類ごとに必須。
例:
NED-IOS-P:IOS NED用 NED-IOSX-P:IOS-XR NED用
|
注:これはパッケージのパケット識別子(PID)(ESCなどを含むバンドル)に含まれる場合があるため、これらのPIDが順番に表示されない可能性があります。
スマートアカウントとバーチャルアカウント
NSOを含む各製品は、シスコサーバに対して、自身をアクティブ化するためのライセンスを取得するように要求します。基本的に、製品に対して十分な数のライセンスを購入し、それらを使用できるかどうかを確認します。
1つのスマートアカウントが組織に割り当てられます。A社を例にとって考えてみましょう。
- 会社Aは部門X、Y、Zを持つことができ、ライセンスを個別に管理したいと考えています。
- 各部門に仮想アカウントを割り当てることができます。

トークンは、仮想アカウントごとに生成できます。トークンを使用して、製品から仮想アカウントにアクセスします。
Smart Software Managerでは、仮想アカウントのライセンスステータスは次のように表示されます。

設定
NSO がスマート ライセンス サーバに接続する方法は、NSO がインストールされている環境によってさまざまです。このドキュメントでは、NSOとシスコライセンスサーバ間のさまざまな統合についても説明します。
ステップ 1:トークンの生成
1. 新しいトークンを作成するには、ユーザIDまたはCCO IDでCisco Smart Software Manager(CSSM)にログインし、適切な仮想アカウントを選択します。Manage licensesをクリックして、次に進みます。Cisco Software Centralでリンクを見つけます。

2. Inventoryタブをクリックし、操作する仮想アカウントを選択します。

3. CSSMでNew Tokenをクリックします。
必要な情報を入力します。有効期限はトークンの有効期間を示すため、ユーザーは作成されたトークンを数日以内に使用する必要があります。ショートとロングは、利便性とセキュリティリスクのバランスをとる必要があります。また、ライセンスの有効期間も重要ではありません。

5. 新しく作成されたトークンがテーブルに表示されます。

6. トークン・リンクをクリックして、ポップアップ・ウィンドウを表示します。ダイアログ ウィンドウに表示されるトークンをクリップボードにコピーします。

ステップ 2:トークン登録の準備
次の登録方法(ダイレクト、プロキシ、サテライト)があります。
NSOまたはシスコ製品でスマートライセンスが必要な場合は、Cisco Smart Software Manager(またはCisco Cloud)に問い合わせて登録してください。
スマート ライセンスでサポートされる環境のセットアップについては、次の 4 つのオプションがあります。

オプション 1ダイレクトクラウドアクセス
この方法では、NSO サーバが HTTPS で直接 Cisco クラウドと通信できる必要があります。HTTP も使用可能ですが、セキュリティ上の理由から推奨されません。
この方法では、特別な設定をせずに登録プロセスを開始できます。
オプション 2HTTPSプロキシを介したダイレクトクラウドアクセス
HTTP(S)プロキシサーバを使用してインターネット上のWebに接続する必要がある場合、NSOのスマートエージェントにプロキシサーバ情報を設定する必要があります。
オプション2を使用する場合、スマートエージェントは、登録要求をシスコに直接送信するのではなく、プロキシサーバに送信するように指示される必要があります。
設定はバージョンによって異なります。
NSO 4.5 以降
NSO 4.5から、ncs.confを使用してスマートライセンス設定を行えるようになりました。スマートライセンスの設定がncs.confとNSO CDBの両方に存在する場合は、ncs.confの設定が優先されます。
つまり、smart-license smart-agent override-url url https://10.1.2.3/ などのコマンドは、ncs.confに別の設定がある場合は有効になりません。NSOシステムインストールを実行する場合、ncs.confにはデフォルトで次が含まれます。
<smart-license>
<smart-agent>
<java-executable>DEFAULT</java-executable>
<java-options>DEFAULT</java-options>
<production-url>DEFAULT</production-url>
<alpha-url>DEFAULT</alpha-url>
<override-url>
<url>DEFAULT</url>
</override-url>
<proxy>
<url>DEFAULT</url>
</proxy>
</smart-agent>
</smart-license>
DEFAULTは、$install_dir/src/ncs/yang/tailf-ncs-smart-license.yangで定義されているデフォルト値を使用することを意味します。
代わりにNSO CDBのncs.confにリストされているリーフを設定するには、ncs.confからそれぞれのエントリを削除し、/etc/init.d/ncs reloadを実行します。
NSO 4.4
次のパスでプロキシ URL を設定します。
smart-license smart-agent proxy url <proxy url>
admin@ncs(config)# smart-license smart-agent proxy url https://10.10.10.10:8080
admin@ncs(config)#
デフォルト設定では、NSOは https://tools.cisco.com/its/service/oddce/services/DDCESサービスそのため、HTTPSプロキシを使用する必要があります。
このプロキシ設定はHTTPSとHTTPの両方に対して自動的に設定されるため、オプション3.または4.で説明したサテライトを使用するために対象のURLをHTTPに変更しても、一方の設定で両方のケースに対応できます。
オプション 3接続されたオンプレミスコレクタを介した間接アクセス
多くの場合、NSO ネットワークは直接インターネットに接続されていません。Option 2.以外にも、Smart Software Managerサテライトを導入できるため、NSOがCisco Cloudと直接メッセージを交換する必要はありません。
スマート ソフトウェア マネージャ サテライトの製品詳細は、こちらをご覧ください。
インストール方法については、リンク先にあるインストールガイドを参照してください。
この方式を使用すると、NSOlはCisco Cloudではなくサテライトと通信します。
ターゲットを変更するには override-url を変更します。
admin@ncs(config)# smart-license smart-agent override-url url https://10.1.2.3/
admin@ncs(config)#
この URL はスマート ソフトウェア マネージャ サテライトの管理 Web で確認できます。
オプション4:非接続状態のオンプレミスコレクタを介した間接アクセス
この方法は、NSOの観点からは方法(3)とまったく同じです。違いはスマート ソフトウェア マネージャ サテライトが Cisco クラウドに同期する方法のみです。
ステップ 3:トークン登録
トークンの使用後、生成した Cisco サーバへのトークンを使って NSO をアクティベートします。トークンは NSO CLI から CSSM に登録する際に使用します。コマンドを入力すると、登録プロセスが非同期的に開始されます。
admin@ncs# smart-license register idtoken YWVlMmQ3ZjEtYT....
result Registration process in progress. Use the 'show license status' command to check the progress and result.
admin@ncs#
確認
ここでは、設定が正常に機能しているかどうかを確認します。
登録前
スマート ライセンシングは常に有効です。この出力は、NSOが登録されておらず、EVALモードであり、89日23時間で期限切れになることを示しています。
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: UNREGISTERED
Export-Controlled Functionality: Allowed
License Authorization:
Status: EVAL MODE
Evaluation Period Remaining: 89 days, 23 hr, 17 min, 36 sec
Last Communication Attempt: NONE
Next Communication Attempt: NONE
Development mode: enabled
admin@ncs#
登録ステータスは show license status コマンドで確認できます。登録がまだ処理中の場合、このコマンドは次の出力を表示し、「REGISTRATION PENDING」と表示します。
<登録処理中の場合>
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: UNREGISTERED - REGISTRATION PENDING
Initial Registration: First Attempt Pending
Export-Controlled Functionality: Allowed
License Authorization:
Status: EVAL MODE
Evaluation Period Remaining: 89 days, 23 hr, 16 min, 36 sec
Last Communication Attempt: SUCCEEDED on Aug 3 09:41:56 2016 UTC
Next Communication Attempt: NONE
Development mode: enabled
admin@ncs#
しばらくすると、登録が完了します。ステータスがREGISTEREDの場合、システムはCSSMに登録されています。
<登録!!>
admin@ncs# show license status
Smart Licensing is ENABLED
Registration:
Status: REGISTERED
Smart Account: BU Production Test
Virtual Account: TAC-Japan-Cloudorch
Export-Controlled Functionality: Allowed
Initial Registration: SUCCEEDED on Aug 4 05:29:52 2016 UTC
Last Renewal Attempt: SUCCEEDED on Aug 4 05:30:03 2016 UTC
Next Renewal Attempt: Jan 31 05:30:03 2017 UTC
Registration Expires: Aug 4 05:24:56 2017 UTC
Export-Controlled Functionality: Allowed
License Authorization:
License Authorization:
Status: AUTHORIZED on Aug 4 05:30:05 2016 UTC
Last Communication Attempt: SUCCEEDED on Aug 4 05:25:02 2016 UTC
Next Communication Attempt: Sep 3 05:30:07 2016 UTC
Communication Deadline: Aug 4 05:24:56 2017 UTC
Development mode: enabled
admin@ncs#
使用状況(AUTHORIZED ステータス)
どのライセンスが使用されているかは show license summary コマンドで確認できます。次の例では、システムは NSO-platform-production、NSO-network-element 、cisco-ios-NED を使用しています。[License Authorization] のステータスは「AUTHORIZED」になっています。 このステータスはライセンスを必要とするすべてのコンポーネントが、ライセンスを受けた状態で正しく動作していること意味します。
admin@ncs# show license summary
Smart Licensing is ENABLED
Registration:
Status: REGISTERED
Smart Account: COMPANY A
Virtual Account: Network Department
Last Renewal Attempt: None
Next Renewal Attempt: Jan 31 05:33:02 2017 UTC
License Authorization:
Status: AUTHORIZED
Last Communication Attempt: SUCCEEDED
Next Communication Attempt: Sep 3 05:33:06 2016 UTC
License Usage:
License Entitlement Tag Count Status
----------------------------------------------------------------------------------------------------------------------------------------------
348fbb21-7edf-42bb-baa7-198903058a54regid.2016-04.com.cisco.NSO-platform-production,4.2_348fbb21-7edf-42bb-baa7-198903058a54 1 InCompliance
5d641fa0-757d-43b0-a926-166cb6e3cfddregid.2015-10.com.cisco.NSO-network-element,1.0_5d641fa0-757d-43b0-a926-166cb6e3cfdd 3 InCompliance
d9eca34d-1f6a-4595-ad74-9c0c57e03c27regid.2015-10.com.cisco.cisco-ios-NED,1.0_d9eca34d-1f6a-4595-ad74-9c0c57e03c27 1 InCompliance
Development mode: disabled
admin@ncs#
次は別の例で show license usage コマンドを実行した際の出力内容です。この例では cisco-iosxr-NED が追加されていて、ステータスは OutOfCompliance になっています。これは、CSSM への登録には問題がないが、バーチャルアカウントの cisco-iosxr-NED のライセンスに不備があることを示しています。cisco-iosxr-NED がコンプライアンス違反状態になっているため、全体のステータスも OUT_OF_COMPLIANCE となっています。
admin@ncs # show license usage
License Authorization Status : OUT_OF_COMPLIANCE as of Oc 24 06:14:11 2016 UTC
NSO-platform-production (regid.2016-04.com.cisco.NSO-platform-production, 1.0_d1445dab-9d96-4593-99f2-6f633b8a759c)
Description : API unavailable
Count : 1
Version : 1.0
Status : InCompliance
NSO-network-element (regid.2015-10.com.cisco.NSO-network-element, 1.0_5d641fa0-757d-43b0-a926-166cb6e3cfdd)
Description : API unavailable
Count : 3
Version : 1.0
Status : InCompliance
cisco-ios-NED (regid.2015-10.com.cisco.cisco-ios-NED, 1.0_d9eca34d-1f6a-4595-ad74-9c0c57e03c27)
Description : API unavailable
Count : 1
Version : 1.0
Status : InCompliance
cisco-iosxr-NED (regid.2015-10.com.cisco.cisco.cisco-iosxr-NED, 1.0_9956fc34-cbed-4d13-a1ea-6a36f4e40a99)
Description : API unavailable
Count : 1
Version : 1.0
Status : OutOfCompliance
トラブルシュート
スマートライセンス機能でデバッグを有効にしてみます。デバッグを有効にすると、デバッグログが/smart-license/smart-agent/stdout-capture/fileで指定したファイルに生成されます。スマートライセンスデバッグでは多くのログが生成されるため、データを収集した後でデバッグを無効にすることを推奨します。
デバッグの有効化
admin@ncs# debug smart_lic all
ok
admin@ncs#
デバッグの無効化
admin@ncs# no debug smart_lic all
ok
admin@ncs#
スマートライセンスログの設定
admin@ncs# show running-config smart-license
smart-license smart-agent stdout-capture disabled
smart-license smart-agent stdout-capture file ./logs/ncs-smart-licensing.log
admin@ncs#
スマートライセンスログを有効にする
admin@ncs(config)# smart-license smart-agent stdout-capture enabled
admin@ncs(config)# commit
Commit complete.
admin@ncs(config)#
CSSMオンプレミスSSL証明書の更新
オンプレミスのCSSMを使用しているお客様では、SSL証明書の期限が切れている場合、NSOがサーバへの接続に失敗する可能性があります。
onprem.crtファイルを生成して問題を修正する手順を次に示します。
1. opensslを使用してCSSMサーバから新しい証明書を収集します(通常使用されるポートは443)。
openssl s_client -showcerts -connect <>:443 | openssl x509 -out onprem.crt
2. 証明書をインポートするディレクトリを検索します。デフォルト ディレクトリは /etc/pki/ca-trust/extracted/java/cacerts です。これを確認するには、システム内のcacertsディレクトリを検索するコマンドと出力例を次に示します。
[root@localhost /]# find / -name cacerts 2>/dev/null | xargs -I {} ls -l {}
-r--r--r--. 1 root root 156478 Jun 26 08:02 /etc/pki/ca-trust/extracted/java/cacerts
lrwxrwxrwx. 1 root root 40 Aug 25 2022 /etc/pki/java/cacerts -> /etc/pki/ca-trust/extracted/java/cacerts
lrwxrwxrwx. 1 root root 21 Jun 15 04:52 /etc/java/java-17-openjdk/java-17-openjdk-17.0.15.0.6-3.el9.x86_64/lib/security/cacerts -> /etc/pki/java/cacerts
[root@localhost /]#
3. 証明書をロードします。キーストアのデフォルトパスワードはchangeitです。
sudo keytool -import -alias ssm_onprem -file onprem.crt -keystore /etc/pki/ca-trust/extracted/java/cacerts
3.1(オプション)証明書が正しくロードされたことを確認するには、次のコマンドを実行します。
root@Ubuntu-24-9:/home/nso# keytool -list -keystore /etc/ssl/certs/java/cacerts -storepass changeit -alias ssm_onprem
Warning: use -cacerts option to access cacerts keystore
ssm_onprem, Aug 4, 2025, trustedCertEntry,
Certificate fingerprint (SHA-256): F7:00:C9:74:34:57:5E:BE:70:A7:0E:D2:9B:A8:2D:44:F1:CE:14:55:C3:D9:06:3F:83:68:95:A1:C6:B5:7F:26
root@Ubuntu-24-9:/home/nso#
4. スマートエージェントを再起動します(設定モード)。
admin@ncs(config)# smart-license smart-agent restart
result Started
5. 証明書を再登録します。
admin@ncs# license smart deregister
ok
admin@ncs# license smart register idtoken TOKEN
Registration process in progress. Use the 'show license status' command to check the progress and result.
admin@ncs#
6. 登録が成功したことを確認するには、出力をこの記事に示すshow license summaryコマンドを使用します。