怎么实现nso的实例分析

怎么实现nso的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

成都创新互联公司自2013年创立以来,先为泰来等服务建站,泰来等地企业,进行企业商务咨询服务。为泰来企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

前置

NSO安装

nso文档

nso自带文档,位于安装目录下doc里,但需要往web服务器放一下,方便查看,本教程采用nginx

apt install nginx
cp -r doc /var/www/html/

完后访问http://101.251.217.14/doc/

怎么实现nso的实例分析

探索

上篇安装了NSO,但未创建实例,可以认为创建实例就是创建一个NSO运行环境,类似于python的虚拟环境

使用ncs-setup创建NSO实例

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

登录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

同时也会启动一个web,8080端口,默认用户admin admin

怎么实现nso的实例分析

登录后界面如下

怎么实现nso的实例分析

设备管理界面

怎么实现nso的实例分析

查看log

less logs/ncs.log

停止

ncs --stop

重置

此会删除log,恢复出厂配置

ncs-setup --reset

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


网站题目:怎么实现nso的实例分析
网址分享:http://ybzwz.com/article/iieoch.html