キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
cancel
994
閲覧回数
23
いいね!
0
コメント
Hiro Takahashi
Cisco Employee
Cisco Employee

 

※ 本記事の内容を 3 分にまとめ Youtube でも公開しています。あわせてご覧ください!
https://youtu.be/3-7gb_6RD9k

 

はじめに

この記事は 2020 年に公開された「評価版 NSO を使ってみよう」の Windows 版になります。

Screen Shot 2023-01-25 at 4.52.45.png

Cisco NSO (Network Services Orchestrator) は、YANG モデリング言語を使用したマルチベンダの自動化ツールです。マルチベンダ機器に対して CLI や GUI でプロビジョニングができるだけでなく、NETCONF や RESTCONF といった API を提供し、ベンダに依存しないオペレーションを可能にします。

Cisco NSO には評価版が用意されており、それを使用すると無償で試すことができます(評価目的であり、商用での利用はできません)。この記事では WSL2 (Windows Subsystem for Linux 2) の Ubuntu を使用し、Windows 11 上で Cisco NSO を使用する方法をご紹介します。この記事は評価を目的としており、商用での動作は想定していない点をご了承ください。

必要な作業は下記の 3 ステップになります。それぞれ詳しく紹介して行きます。

  • WSL2 のインストール
  • NSO のインストールと実行
  • デバイスの登録

 

1. WSL2 のインストール

今回 Cisco NSO と IOS-XR NED を使用しますが、それには 8G 程度のメモリが必要になります。WSL2 では、Windows システムの半分のメモリが割り当てられるので、ここでは 16G のメモリを実装した Windows 11 pro を使用しています。

WSL2 を使うにあたり、まず Windows 11 において、管理者権限でコマンドプロンプトを開きます。その後、下記のコマンドで WSL2 を有効化します。

C:¥Windows¥system32> wsl --install

有効にした後、一度再起動をします。すると Ubuntu のインストールが行われます。しばらくすると、ユーザ名とパスワードの設定になりますので登録を行います。

Ubuntu のプロンプトが表示されたら、NSO に必要なパッケージをインストールします。NSO でサービスパッケージを作成する場合 Make、Ant などのパッケージが必要になりますが、今回は動作させることを目的としますので JDK のみインストールします。

cisco@DESKTOP-O7BT8I4:~$ sudo apt-get update
cisco@DESKTOP-O7BT8I4:~$ sudo apt-get install openjdk-8-jdk

その後、こちらのサイトから必要なファイルをダウンロードします(ダウンロードには CCO ID が必要です)。ここでは NSO 本体と IOS-XR NED をダウンロードします。執筆時点でのファイル名は下記になっています。

  • ncs-6.0-cisco-iosxr-7.43-freetrial.signed.bin
  • nso-6.0-freetrial.linux.x86_64.signed.bin

ダウンロードしたファイルを、WSL2 の Ubuntu にコピーします。

cisco@DESKTOP-O7BT8I4:~$ cp /mnt/c/Users/cisco/Downloads/*.bin .
cisco@DESKTOP-O7BT8I4:~$ ls
ncs-6.0-cisco-iosxr-7.43-freetrial.signed.bin  nso-6.0-freetrial.linux.x86_64.signed.bin
cisco@DESKTOP-O7BT8I4:~$

Cisco NSO や NED は、改ざんを防ぐために証明書付きで配布されています。展開する際、そのまま bash で実行すると、WSL2 に Python 2 が入っていないので、下記のようなエラーになります。

cisco@DESKTOP-O7BT8I4:~$ bash nso-6.0-freetrial.linux.x86_64.signed.bin
Unpacking...
Verifying signature...
nso-6.0-freetrial.linux.x86_64.signed.bin: line 81: python: command not found
nso-6.0-freetrial.linux.x86_64.signed.bin: line 90: python: command not found
ERROR
ERROR Failed to perform signature verification.
ERROR Verification requires Python version 2.7.4 or later.
ERROR
cisco@DESKTOP-O7BT8I4:~$

これは証明書をチェックする Python スクリプトがバージョン 2 にしか対応していないことが原因です。そこで --skip-verification オプションをつけて展開します。Cisco NSO と IOS-XR NED 両方とも同様にして展開します。

cisco@DESKTOP-O7BT8I4:~$ bash ncs-6.0-cisco-iosxr-7.43-freetrial.signed.bin --skip-verification
Unpacking...
cisco@DESKTOP-O7BT8I4:~$ bash nso-6.0-freetrial.linux.x86_64.signed.bin --skip-verification
Unpacking...
cisco@DESKTOP-O7BT8I4:~$

 

 

2. NSO のインストールと実行

必要なファイルが展開されたため、Cisco NSO のインストールをします。インストールするには、インストーラファイルに任意のインストール先フォルダを指定するだけです。ここでは NSO-6.0 というフォルダにインストールしています。

cisco@DESKTOP-O7BT8I4:~$ ./nso-6.0.linux.x86_64.installer.bin NSO-6.0
INFO  Using temporary directory /tmp/ncs_installer.3879 to stage NCS installation bundle
INFO  Unpacked ncs-6.0 in /home/cisco/NSO-6.0
INFO  Found and unpacked corresponding DOCUMENTATION_PACKAGE
INFO  Found and unpacked corresponding EXAMPLE_PACKAGE
INFO  Found and unpacked corresponding JAVA_PACKAGE
INFO  Generating default SSH hostkey (this may take some time)
INFO  SSH hostkey generated
INFO  Generating self-signed certificates for HTTPS
INFO  Environment set-up generated in /home/cisco/NSO-6.0/ncsrc
INFO  NSO installation script finished
INFO  Found and unpacked corresponding NETSIM_PACKAGE
INFO  NCS installation complete

cisco@DESKTOP-O7BT8I4:~$

その後、source コマンドを使って Cisco NSO のコマンドが使えるようにします。そして、ncs-setup コマンドで、実行フォルダを作成します。ここでは project1 とします。

cisco@DESKTOP-O7BT8I4:~$ source NSO-6.0/ncsrc
cisco@DESKTOP-O7BT8I4:~$ ncs-setup --dest project1
cisco@DESKTOP-O7BT8I4:~$

プロジェクトフォルダの packages に IOS-XR NED のファイルをコピーします。

cisco@DESKTOP-O7BT8I4:~/project1$ cp ../ncs-6.0-cisco-iosxr-7.43.tar.gz packages/
cisco@DESKTOP-O7BT8I4:~/project1$ ls packages/
ncs-6.0-cisco-iosxr-7.43.tar.gz
cisco@DESKTOP-O7BT8I4:~/project1$

その後、ncs --with-package-reload のコマンドを実行することで NSO が起動し、同時に IOS-XR NED が読み込まれます。ncs_cli コマンドで Cisco NSO の CLI にアクセスし、パッケージが up になっていることを確認します。

cisco@DESKTOP-O7BT8I4:~/project1$ ncs --with-package-reload
cisco@DESKTOP-O7BT8I4:~/project1$ ncs_cli -C -u admin

admin connected from 127.0.0.1 using console on DESKTOP-O7BT8I4
admin@ncs# show packages package * oper-status
packages package cisco-iosxr-cli-7.43
 oper-status up
admin@ncs#

これで Cisco NSO が起動しました!http://127.0.0.1:8080/  で Cisco NSO の GUI にもアクセス可能です。

Screen Shot 2023-01-24 at 21.55.00.png

 

3. デバイスの登録

最後にデバイスを登録してみます。

admin@ncs# config t
admin@ncs(config)# devices device xr1 address 192.168.4.111 device-type cli protocol ssh ned-id cisco-iosxr-cli-7.43
admin@ncs(config-device-xr1)# top
admin@ncs(config)# devices authgroups group XR umap admin remote-name cisco remote-password cisco remote-secondary-password cisco
admin@ncs(config-umap-admin)# top
admin@ncs(config)# devices device xr1 authgroup XR
admin@ncs(config-device-xr1)# top
admin@ncs(config)# devices device xr1 state admin-state unlocked
admin@ncs(config-device-xr1)# commit

 Cisco NSO で IOS-XR デバイスを SSH で管理する際、鍵交換の設定を行う必要があります。下記を参照の上、適切な設定を行います。

その後、鍵交換と sync-from ができたら成功です。

admin@ncs# devices fetch-ssh-host-keys
fetch-result {
    device xr1
    result updated
    fingerprint {
        algorithm ssh-rsa
        value 37:49:ec:18:11:63:fd:52:23:dd:11:3e:16:d3:c1:b8
    }
}
admin@ncs# devices sync-from
sync-result {
    device xr1
    result true
}
admin@ncs#

 

その他便利な点

このように WSL2 に Cisco NSO をインストールすると、様々な点で便利です。例えば、インストールした Cisco NSO 関連のドキュメントには、Windows のエクスプローラから \\wsl$ のようにしてアクセスできます。

 

Screen Shot 2023-01-24 at 21.56.46.png

Linux と Mac (Darwin) での配布しかない Cisco NSO ですが、WSL2 を利用することで Windows 11 でも動作することが確認できました。ぜひ Cisco NSO の評価版をお試しください!

 

 

 

Getting Started

検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう

シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします