一、原理介绍:

  NETCONF-network configuration概述

1)一种网管协议,主要目的是弥补SNMP无法配置设备的不足,希望可以取代SNMP协议,CLI

2)2003年成立netconf工作组,2006年(RFC4741等)成型,2011年(RFC6241等)完善,2014年发展壮大

3)早于SDN产生,初期发展缓慢,后面伴随SDN的火热兴起而焕发新生命

4)NETCONF 协议分成四层:安全传输层,消息层,操作层和内容层

5)配置数据和协议消息都用XML 表示

6)当前协议主要通过SSH加密实现传输通道

  


 netconf协议架构:

1)安全传输层

Netconf规定需要安全加密通道,如SSH、TLS等,当前一般用SSH(SDN-controller 连接设备端的TCP dport 830)。

2)消息层(PRC层)

RPC层提供传输协议无关的机制,定义了三种报文类型:hello, rpc和rpc-reply, notification。

hello完成客户端&服务器会话建立能力交换;rpc完成请求和响应数据封装;notification以订阅方式完成消息通知。

3)操作层

netconf全面地定义了9种基础操作。get、get- config用来对设备进行取值操作;edit- config、copy- config、delete- config则是用于配置设备参数;lock和unlock 则是在对设备进行操作时为防止并发产生混乱的锁行为,close- session和kill- session则结束一个会话。

4)内容层

Netconf使用YANG对数据建模,使用XML传输数据

  


  


【极简X方案中netconf的作用】

1、ONC下发配置给设备,比如业务子网,DHCP,准入管控,安全策略,环路检测等功能




二、配置详解:

【设备端配置】

N18K(config)#enable service ssh-server      //全局使能ssh server

N18K(config)#username key password key     //配置ssh用的账号密码

N18K(config)#crypto key generate dsa       //加密方式选择DSA或者RSA均可

% You already have DSA keys.

% Do you really want to replace them? [yes/no]:y

Choose the size of the rsa key modulus in the range of 512 to 2048

and the size of the dsa key modulus in the range of 360 to 2048 for your

Signature Keys. Choosing a key modulus greater than 512 may take

a few minutes.

 

How many bits in the modulus [512]:


% Generating 512 bit DSA keys ...[ok]


推荐方式一:vty指定采用本地的用户名+密码登入,可以ssh就可以实验配置的username+password的账号连接设备

N18K(config)#line vty 0 4

N18K(config-line)#login local

  //注意:如果ONC是3台以上的集群,由于集群ONC的SSH连接,默认就占用了3个以上的vty线路,因此为了不影响普通网管登入,vty建议配置0 6


方式二:vty指定仅password方式校验,则ssh或者onc只能使用vty下面配置的pwd密码进入登入了(用户名随意),而不能采用全局配置的username+password账号连接设备

N18K(config)#line vty 0 4

N18K(config-line)#password pwd

  //注意:如果ONC是3台以上的集群,由于集群ONC的SSH连接,默认就占用了3个以上的vty线路,因此为了不影响普通网管登入,vty建议配置0 6




【ONC相关配置】

路径:设计--》网络设置--》设备凭证--NETCONF

image.png

 

【状态信息查看】


N18K#show tcp connect

Number Local Address         Foreign Address       State         Process name   

8      10.0.1.1:830          172.18.157.134:46356  ESTABLISHED   rg-sshd        


ps:Netconf当前仅能通过rg-sshd进程的tcpestablished)状态来确认是否成功 


三、注意事项:

子级区域未配置协议凭证时默认继承父级区域凭证,当子级区域配置协议凭证则使用自身的协议凭证。当添加设备选择区域时,如果该区域配置了协议凭证则使用该区域的协议凭证,否则从父区域选择协议凭证。可以针对某台设备单独  修改snmp,netconf,telnet  等属性修改,配置见后面章节内容。


四、抓包