はじめに
Cisco NSO(Network Service Orchestrator)を導入してCiscoルーター(IOS)のconfigを書き換えるところまでやってみた。
NSOには評価版と商用版があります。
商用として使用するわけでないので、評価版を使用します。
Cisco Blogを参考にして自宅ラボの環境でも設定してみた。
参考記事と被っているいる箇所はあるが、バージョンや動作環境などが異なる為、比較しながら参考にしていただければ幸いです。
※参考にした記事は本記事の最後の方にリンクを掲載しております。
動作環境
動作環境は以下です
・ハード:Dell Poweredge R610
・OS: Ubuntu on VMware ESXi
・ルータ: Cisco(iOS)-892 サービス統合型ルータ
目次
事前準備
NSOを使用するには下記がインストールされている必要がある。
私の環境は下記のバージョンにて動作確認したものとする。
・Python 2.7.18
・ant 1.10.7-1
・paramiko 2.6.0
・OpenSSH_8.2p1
・openjdk 11.0.10
・make 4.2.1
セットアップ
■ダウンロード
ダウンロードが必要なものは下記です。
※ダウンロードにはCCO IDが必要になるので、アカウント作成を行ってからダウンロードしてください。
・NSO 5.5 Linux
・Cisco IOS(XE) NED
下図を参考にNSO 5.5 LinuxとCisco IOS(XE) NEDをダウンロードしてください。
ダウンロードページはこちらになります。 developer.cisco.com
■ファイルの展開
ダウンロードしたファイルを展開します。
root@hiro-virtual-machine:~/NSO# bash nso-5.5.linux.x86_64.signed.bin
■NSOのインストール
展開されたファイルにinstallerのファイルがあるので、下記コマンドでNSOインストールを行う。
root@hiro-virtual-machine:~/NSO# bash nso-5.5.linux.x86_64.installer.bin
■Cisco NSO起動
インストールが完了したらCisco NSOの起動を行います。
起動コマンドはこちらです。
root@hiro-virtual-machine:~/NSO# ncs
webuiにアクセスすることで起動できているか確認できる。
アクセス方法は下記です。
http://<ubuntuのIP>:8080
初回ログインはusernameとpasswordはadminです。
デバイス登録
■NEDパッケージの追加
まずはNEDパッケージの読み込みが必要になる。
NEDパッケージの追加するにはダウンロードしたCisco IOS(XE) NEDのファイルを展開する。
root@hiro-virtual-machine:~/NSO# sh ncs-5.5-cisco-ios-6.69.1.signed.bin
NCS CLIログインを行うには下記コマンドにて行う。
簡単にオプションを説明すると-u でadminユーザ、-CにてCisco Styleにてログインを行う。
root@hiro-virtual-machine:~/NSO# ncs_cli -u admin -C User admin last logged in 2021-03-14T02:12:13.630744-00:00, to hiro-virtual-machine, from 192.168.100.13 using webui-http admin connected from 127.0.0.1 using console on hiro-virtual-machine admin@ncs#
下記コマンドにてパッケージの読み込みを行う。
admin@ncs# packages reload reload-result { package cisco-ios-cli-6.69 result true }
次に認証設定を行う。
ここではルータの認証情報の設定を行う。
※XXXXXXは個人の環境のものに合わせてください
admin@ncs# config Entering configuration mode terminal admin@ncs(config)# devices authgroups group ios-auth admin@ncs(config-group-ios-auth)# umap admin admin@ncs(config-umap-admin)# remote-name XXXXXX admin@ncs(config-umap-admin)# remote-password XXXXXX admin@ncs(config-umap-admin)# remote-secondary-password XXXXXX admin@ncs(config-umap-admin)# commit Commit complete. admin@ncs(config-umap-admin)# end
次にルータのIPや接続プロトコルを設定することでデバイスの登録ができる。
admin@ncs# config Entering configuration mode terminal admin@ncs(config)# devices device ios1 admin@ncs(config-device-ios1)# authgroup ios-auth admin@ncs(config-device-ios1)# address 192.168.100.23 admin@ncs(config-device-ios1)# port 23 admin@ncs(config-device-ios1)# device-type cli ned-id cisco-ios-cli-6.69 admin@ncs(config-device-ios1)# device-type cli protocol telnet admin@ncs(config-device-ios1)# state admin-state unlocked admin@ncs(config-device-ios1)# commit Commit complete. admin@ncs(config-device-ios1)# end
デバイス確認
デバイス登録ができたか下記コマンドにて確認ができる。
admin@ncs# show devices list NAME ADDRESS DESCRIPTION NED ID ADMIN STATE ------------------------------------------------------------------ ios1 192.168.100.23 - cisco-ios-cli-6.69 unlocked
ルータに接続
admin@ncs# devices device ios1 connect result true info (admin) Connected to ios1 - 192.168.100.23:23
configの同期
下記コマンドにてciscoルータのconfig取り込み。
admin@ncs# devices device ios1 sync-from result true
コンフィグ修正
・NCS CLIで書き換え
NCS CLIでconfig変更手順は下記です。
admin@ncs# config Entering configuration mode terminal admin@ncs(config)# devices device ios1 config admin@ncs(config-config)# interface GigabitEthernet 0 admin@ncs(config-if)# ip address 192.168.3.5 255.255.255.0 admin@ncs(config-if)# commit Commit complete.
configを変更できたかルータにログインして確認
ios1#show int gigabitEthernet 0 GigabitEthernet0 is down, line protocol is down Hardware is PQII_PRO_UEC, address is e05f.b923.8ecc (bia e05f.b923.8ecc) Internet address is 192.168.3.5/24 MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Auto Duplex, 1Gbps, media type is RJ45 output flow-control is XON, input flow-control is XON ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 1 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out
・webuiで書き換え
webuiでも同様にconfig変更できるのでやってみた。
config変更するにはwebuiログインを行いDevice Managerを選択
次に、configurationを選択。
configuration配下に対象インターフェースのアドレスにて設定箇所がある為、直接書き換える。
変更後のアドレスはこちらです。
CLIと同様にcommitを行うことで繁栄される。 commitを行うにはCommit managerにて行う。
Commit managerにて修正前と修正後の差分確認も行える。
commit
ルータにて確認
ios1#show int gigabitEthernet 0 GigabitEthernet0 is down, line protocol is down Hardware is PQII_PRO_UEC, address is e05f.b923.8ecc (bia e05f.b923.8ecc) Internet address is 192.168.6.5/24 MTU 1500 bytes, BW 1000000 Kbit/sec, DLY 10 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation ARPA, loopback not set Keepalive set (10 sec) Auto Duplex, 1Gbps, media type is RJ45 output flow-control is XON, input flow-control is XON ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output never, output hang never Last clearing of "show interface" counters never Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0 Queueing strategy: fifo Output queue: 0/40 (size/max) 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer Received 0 broadcasts (0 IP multicasts) 0 runts, 0 giants, 0 throttles 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored 0 watchdog, 0 multicast, 0 pause input 0 packets output, 0 bytes, 0 underruns 0 output errors, 0 collisions, 1 interface resets 0 unknown protocol drops 0 babbles, 0 late collision, 0 deferred 1 lost carrier, 0 no carrier, 0 pause output 0 output buffer failures, 0 output buffers swapped out
参考にしたサイト
評価版 Cisco NSO を使ってみよう [2020年版]
評価版 Cisco NSO を使ってみよう NED 活用編 [2020年版]
評価版 Cisco NSO を使ってみよう NED 活用編 [2020年版]