こちらの記事は 2018年に公開した記事 評価版 Cisco NSO を使ってみよう の更新版です。
Cisco NSO とは
2018 年 9 月より、Cisco NSO(Network Services Orchestrator)の試用版が、非商用ネットワーク向けの評価目的に限って無償で公開されています。
Cisco NSO を使うと、主に以下のようなことができます。
- マルチベンダ ネットワーク デバイスのコンフィギュレーションを YANG モデリング言語で抽象化できます(デバイス モデル)。記事執筆時点で、シスコだけでない 88 以上のデバイス OS に対応しています
- マルチベンダ ネットワーク デバイスに対するプロビジョニング操作を抽象化し、自動化できます(サービス モデル)
- 管理デバイスへの API(REST、RESTCONF、NETCONF、JSON-RPC)を自動生成し、お好みのツールで制御できます
この記事では実際に Cisco NSO とダウンロードし、インストールしてから起動するまでの手順を紹介します。
商用版と評価版の違い
評価版の NSO には以下の制限があります。
- トレーニングや評価が目的であり、商用での使用はできません
- TAC サポートはありません(英語ですが、NSO のコミュニティ [https:/cisco.com/go/nsohub] で質問し、サポートを受けることはできます)
- [2020年版で追記] NED(Network Element Driver, NSO と各機器を接続するドライバ)についても、試用版がダウンロードページからダウンロードできます。現在ダウンロードできる NED は以下の4種類です。
- Cisco IOS / IOS-XE
- Cisco IOS XR
- Cisco NX OS
- Cisco ASA OS
- 商用の Cisco NSO や NED のバージョンは定期的に更新されますが、常に最新を使えるわけではありません
環境の事前準備
Cisco NSO は、Linux および Mac 上のアプリケーションとして使用できます。ここでは Linux での使用を想定して説明します。Linux OS は、Ubuntu や Redhat 系のようなメジャーな Linux ディストリビューション上であれば問題なく動きます。もちろん VM 環境で問題ありません。
Linux をインストールしたら、下記のパッケージをあらかじめインストールしておいてください。
- JDK-8.0 以上
- Python 3.4 以上
- Ant 1.9.3 以上
- Python paramiko 2.2 以上
- OpenSSH 6.5 以上
- make
※ NSO 5.3 Installation Guide に基づきます
また、ダウンロードには事前に Cisco.com ID の取得が必要です。
ダウンロード
まず以下のサイトにアクセスします。
https://developer.cisco.com/docs/nso/#!getting-nso/getting-nso
Cisco NSO には Linux 版と Mac 版があります。ここでは Linux 版を選択します。
[NSO 5.3 Linux]をクリックし、CCO ID でログインします。
その後、「ポリシーに同意する」にチェックをして[Download]ボタンを押せば、ダウンロードが開始されます。サイズは 190M バイト程度です。
インストールと起動
ダウンロードしたファイルを、あらかじめ用意しておいた Linux 環境にコピーします。ZIP ファイルを展開します。すると以下のようなファイル展開されます。
- nso-5.3.linux.x86_64.signed.bin
nso-5.3.linux.x86_64.signed.bin は、署名付きの Cisco NSO インストーラです。このファイルを Linux マシンにコピーしてください。
ファイルの展開
Cisco NSO は署名付きで配布されています。シェル上で「sh nso-5.3.linux.x86_64.signed.bin
」 のように実行すると、以下のように自動で証明書を取得し、ファイルに問題がないか照合の上、インストーラを展開します。
このように、すべて緑の文字で出力されていれば成功です。
ファイルの展開は、前述の通り証明書を取得するため、インターネットに接続出来る環境でないとエラーになります。オフライン環境で実行する場合には –skip-verification オプションを付けて「sh nso-5.3.linux.x86_64.signed.bin --skip-verification
」のように実行します。この場合、証明書を使った照合は行われませんが、同時に展開される cisco_x509_verify_release.py を使って、いつでも手動で照合を行うことができます。
ここで展開される「nso-5.3.linux.x86_64.installer.bin」が、Cisco NSO のインストーラです。
インストール
NSO のインストールはとても簡単です。「sh nso-5.3.linux.x86_64.installer.bin nso-5.3
」のようにインストーラにオプションを付けて実行するだけで完了します。
コマンドの書式は以下のようになっています。
$ sh <Cisco NSO インストーラ.bin> <インストール先フォルダ>
ここではインストール フォルダに nso-5.3 という名前のフォルダをパス指定していますが、任意のフォルダ名・パスで問題ありません。
Cisco NSO は、サーバにサービスとしてインストールする System Install と、単一フォルダにインストールする Local Install をサポートしています。Local Install は、そのフォルダだけを消せばアンインストールができますので、開発・評価に向いています。ここでは Local Install を使います。
このあと、 source <インストールフォルダ>/ncsrc
コマンド(ここでは「source nso-5.3/ncsrc
」)を実行し、Cisco NSO の環境設定を読み込んでおきます。すると、シェル上で ncs_cli
など Cisco NSO 関連のコマンドが使えるようになります。
プロジェクトの作成と起動
Cisco NSO を使うにはプロジェクトフォルダを作り、そこから NSO アプリケーションを起動します。これらの作業は、以下のようにコマンド数行で完結します。まず ncs-setup –dest <プロジェクトフォルダ名>
コマンドでプロジェクトフォルダを作成後、そのフォルダに入って ncs
とコマンドを入力するだけで Cisco NSO が起動します。ここではプロジェクトフォルダ名を ncsrun としていますが、任意の名前で問題ありません。
ncs
コマンドを実行後、ブラウザで、http://<Linux の IP アドレス>:8080/ にアクセスし、GUI が表示されたらインストール完了です。
デフォルトのログイン名とパスワードは、共に admin です。ログインが成功すると、下記のようなメニューが現れます。
このように、NSO はとても手軽にインストールできます。NSO のインストール フォルダにある doc フォルダ(ここでは nso-5.3/doc )に様々なドキュメントがまとまっています。doc/pdf/nso_getting_started-5.3.pdf から始めると、Cisco NSO の機能を簡単に理解することができますのでぜひ試してみてください。
インストール後の流れ
今回の記事では NSO のインストールまでを行いました。実際には、このあと操作したいネットワーク OS (実機や仮想 OS) を用意し、NED を使って操作を試すことになります。次回の記事で、NED のダウンロードから実際に使ってみるところまでを解説したいと思います。