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

 

概要

このドキュメントでは NSO をはじめてさわる方に向けて、NSO をインストールしてから Netsim を使って動作確認するまでの作業のながれを紹介します。
例では NSO 4.2.3 を使用していますが、他のバージョンでも手順に変わりはありません。

 

1. NSO のインストール

$HOME/nso-4.2.3 に NSO をローカルインストールしています。

~$ sh ./nso-4.2.3.linux.x86_64.installer.bin --local-install $HOME/nso-4.2.3

INFO Using temporary directory /tmp/ncs_installer.7975 to stage NCS installation bundle
INFO Unpacked ncs-4.2.3 in /home/hkakehas/nso-4.2.3
INFO Found and unpacked corresponding DOCUMENTATION_PACKAGE
INFO Found and unpacked corresponding EXAMPLE_PACKAGE
INFO Generating default SSH hostkey (this may take some time)
INFO SSH hostkey generated
INFO Environment set-up generated in /home/hkakehas/nso-4.2.3/ncsrc
INFO NCS installation script finished
INFO Found and unpacked corresponding NETSIM_PACKAGE
INFO NCS installation complete

 

2. source ncsrc

source コマンドで ncsrc を指定して NSO を起動するために必要な各種パス・環境変数を読み込みます。
.bashrc 等に同コマンドを追加しておくと、次回以降ログインしたときに同コマンドを実行する手間が省けて便利です。

~$ source $HOME/nso-4.2.3/ncsrc
~$
~$ echo 'source $HOME/nso-4.2.3/ncsrc' >> ~/.bashrc

 

3. ランタイムディレクトリの作成

ncs-setup コマンドで NSO のランタイムディレクトリを作成します。
この例では ncs-run という名前で作成しています。

~$ ncs-setup --dest ./ncs-run
~$
~$ tree ncs-run
ncs-run
|-- README.ncs
|-- logs
|-- ncs-cdb
|-- ncs.conf
|-- packages
|-- scripts
|    |-- command
|    `-- post-commit
`-- state

 

4. NED パッケージへのリンクの作成

簡易的なテスト等のために NSO にあらかじめバンドルされているNED を、ランタイムディレクトリの /packages 配下にリンクします。
この例では IOS NED と IOS-XR NED をリンクしています。

~$ ln -s $HOME/nso-4.2.3/packages/neds/cisco-ios ./ncs-run/packages/
~$ ln -s $HOME/nso-4.2.3/packages/neds/cisco-iosxr ./ncs-run/packages/
~$
~$ ls ./ncs-run/packages/
cisco-ios cisco-iosxr

 

5. NSO の起動

ランタイムディレクトリに移動して ncs コマンドを実行し、NSO を起動します。
手順4 でリンクした NEDパッケージがロードされていることを確認して、いったん Linux CLI に戻ります。

~$ cd ncs-run/
~/ncs-run$ ncs
~/ncs-run$
~/ncs-run$ ncs_cli -u admin -C

admin connected from X.X.X.X using ssh on nso
admin@ncs#
admin@ncs# show packages package package-version
PACKAGE
NAME VERSION
----------------------
cisco-ios 3.0
cisco-iosxr 3.0

admin@ncs# exit

 

6. Netsim の作成・起動

ncs-netsim create-network / add-to-network コマンドを使って Netsim を作成します。
この例では IOS NED の Netsim x 1、IOS-XR NED の Netsim x 1 を作成しています。
Netsim の起動に必要な各種ファイルは、netsim ディレクトリ配下に展開されます。

次に ncs-netsim start コマンドで Netsim を起動します。

~/ncs-run$ ncs-netsim create-network cisco-ios 1 ios
DEVICE ios0 CREATED
~/ncs-run$ ncs-netsim add-to-network cisco-iosxr 1 iosxr
DEVICE iosxr0 CREATED
~/ncs-run$ ls
README.ncs logs ncs-cdb ncs.conf netsim packages scripts state target
~/ncs-run$
~/ncs-run$ ncs-netsim start
DEVICE ios0 OK STARTED
DEVICE iosxr0 OK STARTED

 

7. Netsim への接続情報を NSO にロードする

ncs-netsim ncs-xml-init コマンドで Netsim への接続情報を作成し ncs_load コマンドで NSO にロードします。

~/ncs-run$ ncs-netsim ncs-xml-init > devices.xml
~/ncs-run$ ncs_load -l -m ./devices.xml

 

8. sync-from の実施

NSO にログインして devices sync-from を実行します。コマンドが成功したら準備完了です。

~/ncs-run$ ncs_cli -u admin -C

admin connected from X.X.X.X using ssh on nso
admin@ncs#
admin@ncs# devices sync-from
sync-result {
      device ios0
      result true
}
sync-result {
      device iosxr0
      result true
}

 

おまけ. 接続情報をマニュアルで NSO に設定する場合

接続情報は NSO の CLI からマニュアルで設定することもできます。
実機への接続情報を設定するときはこちらの手順を使うのが一般的です。

(config)# devices authgroups group CISCO-DEVICES default-map remote-name cisco remote-password cisco
(config)# 
(config)# devices device iosxr0
(config-device-iosxr0)# address 127.0.0.1 port 10023
(config-device-iosxr0)# device-type cli ned-id cisco-ios-xr protocol ssh
(config-device-iosxr0)# authgroup CISCO-DEVICES
(config-device-iosxr0)# state admin-state unlocked
(config-device-iosxr0)# commit
Commit complete.
(config-device-iosxr0)# top
(config)# exit
# devices fetch-ssh-host-keys device [ iosxr0 ]
fetch-result {
    device iosxr0
    result unchanged
    fingerprint {
        algorithm ssh-dss
        value 43:d9:76:41:71:e5:2b:0a:12:b5:e9:7a:98:0b:99:aa
    }
}

 

動作確認

NSO の CLI から Netsim に設定投入できることを確認しています。

admin@ncs# config
Entering configuration mode terminal
admin@ncs(config)# devices device ios0 config ios:interface Loopback 0
admin@ncs(config-if)# ip address 10.0.0.1 255.255.255.255
admin@ncs(config-if)# top
admin@ncs(config)# devices device iosxr0 config cisco-ios-xr:interface Loopback 0
admin@ncs(config-if)# ipv4 address 10.0.0.2 255.255.255.255
admin@ncs(config-if)# commit dry-run
cli  devices {
         device ios0 {
             config {
                 ios:interface {
                     Loopback 0 {
                         ip {
                             address {
                                 primary {
    +                                address 10.0.0.1;
    +                                mask 255.255.255.255;
                                 }
                             }
                         }
                     }
                 }
             }
         }
device iosxr0 {
             config {
                 cisco-ios-xr:interface {
    +                Loopback 0 {
    +                    ipv4 {
    +                        address {
    +                            ip 10.0.0.2;
    +                            mask 255.255.255.255;
    +                        }
    +                    }
    +                }
                 }
             }
         }
     }

 

admin@ncs(config-if)# commit
Commit complete.

Getting Started

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

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