NETCONF配置CISCO XE(csr1000v)初体验(NETCONF协议)

网友投稿 773 2022-09-12


NETCONF配置CISCO XE(csr1000v)初体验(NETCONF协议)

1、有用的链接

Model Driven Network Automation with IOS-XE

NETCONF/YANG and Validate Example for Cisco IOS XE 16.x Platforms

Configuration Guide, Cisco IOS XE Everest 16.6.x

2.7

pip软件管理器

浏览器带flash plugin(推荐chrome)

//pip install --upgrade pip

//yum install python-virtualenv

//yum install graphviz

a、更改pip源

mkdir ~/.pip

vi ~/.pip/pip.conf

[global]

index-url = = mirrors.aliyun.com

yum install python2-pip  python-virtualenv  graphviz      -y

依赖组件:

yum install  libxml2-devel libxslt-devel  python-devel zlib-devel gcc git  -y

git clone  yang-explorer/

bash  setup.sh

省略。。。。。。。

Successfully built ydk-models-cisco-ios-xr

Installing collected packages: ydk-models-cisco-ios-xr

Successfully installed ydk-models-cisco-ios-xr-6.2.1

Installing dependencies .. done

Setting up initial database ..

Warning: Setting up database as root, this is not recommended.

Alternatively you can re-run this script as non-root

to setup database without root privilege.

Do you want to continue as root ? (n/N) y  //初始化数据库

Creating data directories ..

Creating database ..

Operations to perform:

Synchronize unmigrated apps: staticfiles, messages, explorer

Apply all migrations: admin, contenttypes, auth, sessions

Synchronizing apps without migrations:

Creating tables...

Creating table explorer_collection

Creating table explorer_userprofile

Creating table explorer_deviceprofile

Running deferred SQL...

Installing custom SQL...

Running migrations:

Rendering model states... DONE

Applying contenttypes.0001_initial... OK

Applying auth.0001_initial... OK

Applying admin.0001_initial... OK

Applying contenttypes.0002_remove_content_type_name... OK

Applying auth.0002_alter_permission_name_max_length... OK

Applying auth.0003_alter_user_email_max_length... OK

Applying auth.0004_alter_user_username_opts... OK

Applying auth.0005_alter_user_last_login_null... OK

Applying auth.0006_require_contenttypes_0002... OK

Applying sessions.0001_initial... OK

Creating default users ..

Copying default models ..

Setup completed..

Use start.sh to start yang-explorer server

安装完成。

c、修改配置文件并运行yang-exporer

[root@desk yang-explorer]# cd server/static/

[root@desk static]# vi YangExplorer.html

var swfVersionStr = "16.0.0";

// To use express install, set to playerProductInstall.swf, otherwise the empty string.

var xiSwfUrlStr = "expressInstall.swf";

var flashvars = {};

flashvars.host = '192.168.0.87';        //修改监听地址和端口

flashvars.port = '8088';

[root@desk static]# cd ..

[root@desk server]# cd ..

[root@desk yang-explorer]# vi start.sh

#!/usr/bin/env bash

HOST='192.168.0.87'

PORT='8088'

# set timeout value for ncclient

export NCCLIENT_TIMEOUT=90

[root@desk yang-explorer]# ls

default-models  docs  env.sh  LICENSE  README.md  requirements.txt  server  setup.sh  start.sh  v  YangExplorer

[root@desk yang-explorer]# ./start.sh

Activating virtualenv ..

Starting YangExplorer server ..

Use system checks...

System check identified no issues (0 silenced).

July 17, 2019 - 15:22:46

Django version 1.8.3, using settings 'server.settings'

Starting development server at the server with CONTROL-C.

打开浏览器:

//主要配置

Cisco-IOS-XE-native----->native --->interface --->GigabitEthernet          name

ip---->address-choice

检查

XE3#sh ip inter b

Interface              IP-Address      OK? Method Status                Protocol

GigabitEthernet1       192.168.0.29    YES DHCP   up                    up

GigabitEthernet2      10.1.1.1        YES other  administratively down down

GigabitEthernet3       unassigned      YES unset  administratively down down

XE3#sh ip inter b

Interface              IP-Address      OK? Method Status                Protocol

GigabitEthernet1       192.168.0.29    YES DHCP   up                    up

GigabitEthernet2       10.1.1.1        YES other  up                    up

GigabitEthernet3       unassigned      YES unset  administratively down down

产生python文件:

"""

Netconf python example by yang-explorer (python dependencies:

> pip install lxml ncclient

Running script: (save as example.py)

> python example.py -a 192.168.0.29 -u yoyoo -p yoyoo123 --port 830         //执行python的方法

"""

import lxml.etree as ET

from argparse import ArgumentParser

from ncclient import manager

from ncclient.operations import RPCError

payload = """

parser.add_argument('-u', '--username', type=str, required=True,

help="Device Username (netconf agent username)")

parser.add_argument('-p', '--password', type=str, required=True,

help="Device Password (netconf agent password)")

parser.add_argument('--port', type=int, default=830,

help="Netconf agent port")

args = parser.parse_args()

# connect to netconf agent

with manager.connect(host=args.host,

port=args.port,

username=args.username,

password=args.password,

timeout=90,

hostkey_verify=False,

device_params={'name': 'csr'}) as m:

# execute netconf operation

try:

response = m.edit_config(target='running', config=payload).xml

data = ET.fromstring(response)

except RPCError as e:

data = e._raw

# beautify output

print(ET.tostring(data, pretty_print=True))


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:华为交换机/路由器用户名密码配置(华为交换机账号密码配置)
下一篇:解决mybatis一对多查询resultMap只返回了一条记录问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~