怎么实现nso的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
NSO安装
nso自带文档,位于安装目录下doc里,但需要往web服务器放一下,方便查看,本教程采用nginx
apt install nginx cp -r doc /var/www/html/
完后访问http://101.251.217.14/doc/
上篇安装了NSO,但未创建实例,可以认为创建实例就是创建一个NSO运行环境,类似于python的虚拟环境
root@localhost:~# ncs-setup --package nso-5.3/packages/neds/cisco-ios-cli-6.42/ \ > --package nso-5.3/packages/neds/cisco-nx-cli-5.13/ \ > --package nso-5.3/packages/neds/cisco-iosxr-cli-7.18/ \ > --package nso-5.3/packages/neds/cisco-asa-cli-6.7/ \ > --dest nso-instance
执行后,没有任何输出则可认为NSO实例环境创建成功!
创建成功后在指定的dest下会创建
ncs-db 数据库部分
ncs.conf 配置文件
packages NED包部分,此处是mount的nso安装目录中的包
root@localhost:~# ll nso-instance/ total 44 drwxr-xr-x 7 root root 4096 Sep 6 13:10 ./ drwx------ 8 root root 4096 Sep 6 13:10 ../ drwxr-xr-x 2 root root 4096 Sep 6 13:10 logs/ drwxr-xr-x 2 root root 4096 Sep 6 13:10 ncs-cdb/ -rw-r--r-- 1 root root 10172 Sep 6 13:10 ncs.conf drwxr-xr-x 2 root root 4096 Sep 6 13:10 packages/ -rw-r--r-- 1 root root 809 Sep 6 13:10 README.ncs drwxr-xr-x 4 root root 4096 Sep 6 13:10 scripts/ drwxr-xr-x 2 root root 4096 Sep 6 13:10 state/ root@localhost:~# ll nso-instance/packages/ total 8 drwxr-xr-x 2 root root 4096 Sep 6 13:10 ./ drwxr-xr-x 7 root root 4096 Sep 6 13:10 ../ lrwxrwxrwx 1 root root 45 Sep 6 13:10 cisco-asa-cli-6.7 -> /root/nso-5.3/packages/neds/cisco-asa-cli-6.7/ lrwxrwxrwx 1 root root 46 Sep 6 13:10 cisco-ios-cli-6.42 -> /root/nso-5.3/packages/neds/cisco-ios-cli-6.42/ lrwxrwxrwx 1 root root 48 Sep 6 13:10 cisco-iosxr-cli-7.18 -> /root/nso-5.3/packages/neds/cisco-iosxr-cli-7.18/ lrwxrwxrwx 1 root root 45 Sep 6 13:10 cisco-nx-cli-5.13 -> /root/nso-5.3/packages/neds/cisco-nx-cli-5.13/ root@localhost:~#
这时去到nso-instance目录,执行ncs,启动NSO,此处可能要点时间
root@localhost:~# cd nso-instance/ root@localhost:~/nso-instance# ncs root@localhost:~/nso-instance# ncs --status | grep status status: started db=running id=31 priority=1 path=/ncs:devices/device/live-status-protocol/device-type
启动后,会激活一个CLI和一个web服务
登录cli
ncs_cli -u admin # Cisco XR cli界面 ncs_cli -C -u admin # Juniper cli界面 ncs_cli -J -u admin
基本的一些操作
admin@ncs> show packages admin@ncs> show configuration devices device
看哪些设备连上来了
admin@ncs> request devices connect connect-result { device ios0 result true info (admin) Connected to ios0 - 127.0.0.1:10022 } connect-result { device ios1 result true info (admin) Connected to ios1 - 127.0.0.1:10023 } connect-result { device ios2 result true info (admin) Connected to ios2 - 127.0.0.1:10024 } [ok][2020-09-06 14:48:53]
设备连上了,但配置未拉过来时,查看设备配置如下
admin@ncs> show configuration devices device ios0 config No entries found. [ok][2020-09-06 14:51:26]
从设备上拉配置到NSO的CDB
admin@ncs> request devices device ios0 sync-from result true [ok][2020-09-06 14:56:42]
进入到配置模式
admin@ncs> configure Entering configuration mode private
更改配置
admin@ncs% set devices device ios0 config ios:router bgp 64512 neighbor 1.2.3.4 remote-as 2 [ok][2020-09-06 14:59:55]
比对提交的配置
admin@ncs% compare running brief devices { device ios0 { config { router { + bgp 64512 { + neighbor 1.2.3.4 { + remote-as 2; + } + } } } } } [ok][2020-09-06 15:09:41]
提交配置
admin@ncs% commit | details
每次提交都会创建一个回滚文件。看下面,实际上就是一个反向的操作
admin@ncs% run file show logs/rollback10003 # Created by: admin # Date: 2020-09-06 15:00:05 # Via: cli # Type: delta # Label: # Comment: # No: 10003 # TransactionId: 173 # Hostname: localhost ncs:devices { ncs:device ios0 { ncs:config { ios:router { delete: ios:bgp 64512; } } } } [ok][2020-09-06 15:05:15]
假如我们要回滚操作,rollback 指定的回滚文件
admin@ncs% rollback 10003 [ok][2020-09-06 15:07:08]
比较回滚操作的影响
admin@ncs% compare running brief devices { device ios0 { config { router { - bgp 64512 { - neighbor 1.2.3.4 { - remote-as 2; - } - } } } } } [ok][2020-09-06 15:07:26]
回滚提交
admin@ncs% commit Commit complete. [ok][2020-09-06 15:09:08]
同时也会启动一个web,8080端口,默认用户admin admin
登录后界面如下
设备管理界面
less logs/ncs.log
ncs --stop
此会删除log,恢复出厂配置
ncs-setup --reset
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。