Einleitung
In diesem Dokument werden die verschiedenen NSO-Lizenzen (Network Services Orchestrator) und ihre Aktivierung mit der Cisco Smart License® beschrieben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Kenntnisse in folgenden Bereichen verfügen:
- Verwendung der CLI des NSO
- Fehlerbehebung NSO
- Grundlegendes Linux-Wissen
Verwendete Komponenten
Die Informationen in diesem Dokument basierend auf folgenden Software- und Hardware-Versionen:
- NSO 4.5 und spätere Version
- NSO 4,4
- NSO 4.1/4.2/4.3
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
NSO-Lizenzen
Anmerkung: Der Benutzer muss über eine gültige NSO-Lizenz verfügen.
Der NSO verwendet folgende Lizenzen:
PID |
Anzeige auf SSM |
typ |
Beschreibung |
R-NSO-K 9 |
|
Oberste Ebene |
Für jede NSO-Instanz erforderlich |
NSO-P-PAK |
NSO-Plattform-Produktion |
server |
Für aktiven Knoten erforderlich |
NSO-HA-LIC-P |
NSO-Plattform - Produktions-Standby |
server |
Für Standby-Knoten erforderlich |
NSO-DEV-P-PAK |
NSO-Plattformentwicklungstest |
server |
Erforderlich für Entwicklungsumgebung |
NSO-PNF-() |
NSO-Netzelement |
Netzwerkelement |
Southbound (Southbound): physisches Gerät
|
NSO-VNF-() |
NSO-Netzelement |
Netzwerkelement |
Southbound Das verbundene Gerät ist ein virtuelles Gerät |
NED-() |
Unterschiedlich für jede NED
Beispiel:
Cisco IOS-NED Cisco-iosxr-NED
|
BEDARF |
Für NED. Es ist für jeden Typ von verschiedenen Geräten erforderlich.
Beispiel:
NED-IOS-P: Für IOS NED NED-IOSX-P: Für IOS-XR NED
|
Anmerkung: Dies könnte in einem Paket Packet Identifier (PID) (Paket, das ESC und mehr enthält) enthalten sein, sodass es möglich ist, dass diese PIDs nicht in der Reihenfolge erscheinen.
Smart Account und Virtual Account
Jedes Produkt, einschließlich NSO, fordert den Cisco-Server auf, eine Lizenz zu erwerben, um sich selbst zu aktivieren. Im Wesentlichen wird geprüft, ob Sie die für das Produkt erforderliche Anzahl von Lizenzen erworben haben und ob diese verfügbar sind.
Einer Organisation ist ein Smart Account zugewiesen. Nehmen wir zum Beispiel Firma A:
- Unternehmen A kann die Abteilungen X, Y und Z haben und möchte seine Lizenzen separat verwalten.
- Jeder Abteilung kann ein virtuelles Konto zugewiesen werden.

Für jedes virtuelle Konto können Token generiert werden. Wir verwenden den Token, um über das Produkt auf das virtuelle Konto zuzugreifen.
Der Lizenzstatus in virtuellen Konten wird im Smart Software Manager wie folgt angezeigt:

Konfigurieren
Es kann verschiedene Methoden geben, wie der NSO mit dem Smart Licensing-Server verbunden wird. Dies hängt von der Umgebung ab, in der der NSO installiert ist. In diesem Dokument werden auch die verschiedenen Integrationen zwischen dem NSO und den Cisco Lizenzierungsservern beschrieben.
Schritt 1: Erstellen eines Tokens
1. Um ein neues Token zu erstellen, melden Sie sich bei Cisco Smart Software Manager (CSSM) mit der Benutzer-ID oder der CCO-ID an, und wählen Sie das entsprechende virtuelle Konto aus. Klicken Sie auf Lizenzen verwalten, um fortzufahren. Den Link finden Sie in Cisco Software Central.

2. Klicken Sie auf die Registerkarte Inventar und wählen Sie ein virtuelles Konto aus, mit dem Sie arbeiten möchten.

3. Klicken Sie in CSSM auf Neues Token.
Füllen Sie die erforderlichen Informationen aus. Bitte beachten Sie, dass das Ablaufdatum angibt, wie lange das Token gültig ist. Benutzer müssen das erstellte Token daher innerhalb von Tagen verwenden. Kurz und lang müssen zwischen Komfort und Sicherheitsrisiko abgewogen werden. Außerdem geht es NICHT darum, wie lange die Lizenzen gültig sein werden.

5. Das neu erstellte Token befindet sich in der Tabelle.

6. Klicken Sie auf den Token-Link, um ein Popup-Fenster anzuzeigen. Kopieren Sie das Token aus dem Dialogfenster in die Zwischenablage.

Schritt 2: Vorbereitung der Tokenregistrierung
Hier sind die Registrierungsmethoden (direct/proxy/satellite).
Wenn der NSO oder ein anderes Cisco Produkt Smart-Lizenzen benötigt, wenden Sie sich an Cisco Smart Software Manager (oder Cisco Cloud), um sich zu registrieren.
Es gibt vier Hauptoptionen für die Einrichtung von Smart License Supported Environment:

Option 1: Direkter Cloud-Zugriff
Bei dieser Methode muss der NSO-Server in der Lage sein, direkt über HTTPS mit der Cisco Cloud zu kommunizieren. Die Verwendung von HTTP wird unterstützt, jedoch aus Sicherheitsgründen nicht empfohlen.
Bei diesem Verfahren kann der Registrierungsprozess ohne besondere Konfiguration gestartet werden.
Option 2: Direkter Cloud-Zugriff über einen HTTPS-Proxy
Wenn Sie den HTTP(S)-Proxy-Server für die Verbindung mit dem Internet verwenden müssen, muss der Smart Agent im NSO mit Proxy-Serverinformationen konfiguriert werden.
Wenn Option 2 verwendet wird, muss der Smart Agent angewiesen werden, seine Registrierungsanforderung an den Proxyserver zu senden, anstatt sie direkt an Cisco zu senden.
Die Konfiguration hängt von der jeweiligen Version ab.
NSO 4.5 oder höher
Ab NSO 4.5 ist es jetzt möglich, die Konfiguration der Smart-Lizenz über ncs.conf zu konfigurieren. Wenn die Konfiguration für intelligente Lizenzen sowohl in ncs.conf als auch in NSO CDB vorhanden ist, hat die Konfiguration in ncs.conf Vorrang.
Das bedeutet, dass die Befehle wie smart-license smart-agent override-url url https://10.1.2.3/ nicht wirksam werden, wenn in ncs.conf eine andere Konfiguration vorhanden ist. Bei einer NSO-Systeminstallation enthält ncs.conf standardmäßig Folgendes:
<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 bedeutet, dass die Standardwerte verwendet werden, die in $install_dir/src/ncs/yang/tailf-ncs-smart-license.yang definiert sind.
Um stattdessen in ncs.conf im NSO CDB aufgeführte Leafs zu konfigurieren, entfernen Sie den entsprechenden Eintrag aus ncs.conf und führen /etc/init.d/ncs reload aus.
NSO 4,4
Proxy-URL für diesen Pfad konfigurieren
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)#
In der Standardkonfiguration stellt der NSO die Verbindung mit https://tools.cisco.com/its/service/oddce/services/DDCEService, sodass der HTTPS-Proxy verwendet werden muss.
Diese Proxy-Konfiguration wird sowohl für HTTPS als auch für HTTP automatisch festgelegt. Wenn Sie also die Ziel-URL für die Verwendung von Satellite auf HTTP ändern, wie dies bei Option 3. oder 4. erläutert wird, kann eine Konfiguration beide Fälle dennoch verarbeiten.
Option 3. Vermittelter Zugriff über Collector-Connected am Standort
In vielen Fällen ist das NSO-Netzwerk nicht direkt mit dem Internet verbunden. Mit Ausnahme von Option 2 kann Smart Software Manager Satellite eingeführt werden. sodass der NSO keine Nachrichten direkt an die Cisco Cloud austauschen muss.
Die Produktdetails von Smart Software Manager Satellite finden Sie hier.
Informationen zur Installation finden Sie in der Installationsanleitung unter dem Link.
Wenn Sie diese Methode verwenden, kommuniziert der NSOl mit dem Satelliten anstatt mit der Cisco Cloud.
Um das Ziel zu ändern, können Sie override-url ändern:
admin@ncs(config)# smart-license smart-agent override-url url https://10.1.2.3/
admin@ncs(config)#
Diese URL finden Sie im administrativen Web von Smart Software Manager Satellite.
Option 4: Vermittlter Zugriff über Collector vor Ort - keine Verbindung
Diese Methode ist aus Sicht des NSO mit Methode (3) genau identisch. Der Unterschied besteht lediglich in der Synchronisierung mit Cisco Cloud über Smart Software Manager Satellite.
Schritt 3: Tokenregistrierung
Nachdem Sie das Token verwendet haben, aktivieren Sie den NSO mit dem generierten Token für den Cisco Server. Das Token wird in der CLI des NSO für die Registrierung bei CSSM verwendet. Bei Eingabe des Befehls wird der Registrierungsvorgang asynchron eingeleitet.
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#
Überprüfung
Verwenden Sie diesen Abschnitt, um zu überprüfen, ob Ihre Konfiguration ordnungsgemäß funktioniert.
Vor der Registrierung
Smart Licensing ist immer aktiviert. Die Ausgabe zeigt an, dass der NSO nicht registriert ist, und im EVAL-MODE, der nach 89 Tagen und 23 Stunden abläuft.
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#
Der Registrierungsstatus kann mit dem Befehl show license status (Lizenzstatus anzeigen) überprüft werden. Wenn die Registrierung noch läuft, zeigt der Befehl diese Ausgabe an und sagt: "REGISTRIERUNG AUSSTEHEND".
<Registrierung läuft noch...>
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#
Nach einer Weile wird die Registrierung abgeschlossen. Wenn der Status REGISTERED (REGISTRIERT) angezeigt wird, ist das System für CSSM registriert.
<Registriert!!>
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#
Nutzung (Autorisierter Status)
Welche Lizenz verwendet wird, wird mit dem Befehl show license summary angezeigt. In diesem Beispiel werden NSO-Plattform-Produktion, NSO-Netzwerkelement und cisco-ios-NED im System verwendet. Beachten Sie, dass der Status der Lizenzautorisierung "AUTHORIZED" lautet. Dies bedeutet, dass alle Komponenten, für die Lizenzen erforderlich sind, im richtigen Rechtszustand funktionieren.
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#
Dies ist eine Ausgabe des Befehls show license usage in einem anderen Beispiel. In diesem Beispiel wird auch cisco-iosxr-NED hinzugefügt, und der Status lautet OutOfCompliance. Dies deutet darauf hin, dass die Registrierung bei CSSM in Ordnung ist, eine Lizenz für cisco-iosxr-NED im Virtual Account jedoch nicht ausreicht. Aufgrund des Compliance-Status von cisco-iosxr-NED lautet der Gesamtstatus 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
Fehlerbehebung
Versuchen Sie, das Debuggen für die Smart-Lizenz-Funktion zu aktivieren. Wenn die Debug-Funktion aktiviert ist, wird das Debug-Protokoll in der Datei generiert, die in /smart-license/smart-agent/stdout-capture/file angegeben ist. Bei der intelligenten Lizenzdebuggung werden viele Protokolle generiert. Es wird empfohlen, die Debugging-Funktion nach dem Sammeln von Daten zu deaktivieren.
Debug aktivieren
admin@ncs# debug smart_lic all
ok
admin@ncs#
Debuggen deaktivieren
admin@ncs# no debug smart_lic all
ok
admin@ncs#
Smart License Log-Konfiguration
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#
Smart License-Protokoll aktivieren
admin@ncs(config)# smart-license smart-agent stdout-capture enabled
admin@ncs(config)# commit
Commit complete.
admin@ncs(config)#
Verlängerung des CSSM SSL-Zertifikats am Standort
Bei Kunden mit standortbasiertem CSSM kann der NSO nach Ablauf des SSL-Zertifikats keine Verbindung zum Server herstellen.
So beheben Sie das Problem, indem Sie eine onprem.crt-Datei generieren:
1. Sammeln Sie das neue Zertifikat vom CSSM-Server mit openssl (der normalerweise verwendete Port ist 443):
openssl s_client -showcerts -connect <>:443 | openssl x509 -out onprem.crt
2. Suchen Sie das Verzeichnis, in das das Zertifikat importiert werden soll. Das Standardverzeichnis ist /etc/pki/ca-trust/extrahierte/java/cacerts. Um es zu finden, gibt es einen Befehl, um nach den acerts-Verzeichnissen im System zu suchen, und ein Beispiel für die Ausgabe:
[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. Laden Sie das Zertifikat. Das Standardpasswort für den Schlüsselspeicher wird geändert:
sudo keytool -import -alias ssm_onprem -file onprem.crt -keystore /etc/pki/ca-trust/extracted/java/cacerts
3.1 (Optional) Führen Sie den folgenden Befehl aus, um sicherzustellen, dass das Zertifikat ordnungsgemäß geladen wurde:
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. Starten Sie den Smart Agent neu (im Konfigurationsmodus):
admin@ncs(config)# smart-license smart-agent restart
result Started
5. Erneute Registrierung des Zertifikats:
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. Um zu bestätigen, dass die Registrierung erfolgreich war mit dem Befehl show license summary, dessen Ausgabe in diesem Artikel angezeigt wird.