09-NETCONF命令
本章节下载: 09-NETCONF命令 (253.46 KB)
目 录
1.1.3 netconf capability specific-namespace
1.1.6 netconf log xml2cli enable
1.1.11 netconf ssh server enable
1.1.12 netconf ssh server port
1.1.13 reset netconf service statistics
1.1.14 reset netconf session statistics
设备运行于FIPS模式时,本特性部分配置相对于非FIPS模式有所变化,具体差异请见本文相关描述。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。
display netconf service命令用来显示当前NETCONF服务的状态及全局统计信息。
【命令】
display netconf service
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【举例】
# 显示当前NETCONF服务的状态及全局统计信息。
<Sysname> display netconf service
NETCONF over SOAP over HTTP: Disabled (port 80)
NETCONF over SOAP over HTTPS: Disabled (port 832)
NETCONF over SSH: Disabled (port 830)
NETCONF over Telnet: Enabled
NETCONF over Console: Enabled
SOAP timeout: 10 minutes Agent timeout: 0 minutes
Active Sessions: 0
Service statistics:
NETCONF start time: 2017-07-31T08:46:07
Output notifications: 0
Output RPC errors: 0
Dropped sessions: 0
Sessions: 0
Received bad hellos: 0
Received RPCs: 0
Received bad RPCs: 0
表1-1 display netconf service命令显示信息描述表
字段 |
描述 |
NETCONF over SOAP over HTTP |
基于HTTP的SOAP的NETCONF服务状态、以及监听端口号: · Enabled表示该服务处于开启状态 · Disabled表示该服务处于关闭状态 |
NETCONF over SOAP over HTTPS |
基于HTTPS的SOAP的NETCONF服务状态、以及监听端口号: · Enabled表示该服务处于开启状态 · Disabled表示该服务处于关闭状态 |
NETCONF over SSH |
基于SSH的NETCONF服务状态、以及监听端口号: · Enabled表示该服务处于开启状态 · Disabled表示该服务处于关闭状态 |
NETCONF over Telnet |
基于Telnet的NETCONF服务状态: · Enabled表示该服务处于开启状态 · Disabled表示该服务处于关闭状态 |
NETCONF over Console |
基于Console的NETCONF服务状态: · Enabled表示该服务处于开启状态 · Disabled表示该服务处于关闭状态 |
SOAP timeout |
基于NETCONF over SOAP over HTTP/HTTPS的会话超时时间,取值为1~999,单位为分钟 |
Agent timeout |
基于NETCONF over SSH/Telnet/Console的会话超时时间,取值为0~999,其中0表示不超时,单位为分钟 |
Active sessions |
当前活跃的NETCONF会话数量 |
Service statistics |
NETCONF服务运行过程中的统计信息: · NETCONF start time表示NETCONF服务的开启时间 · Output notifications表示设备输出的订阅日志数量 · Output RPC errors表示设备输出的错误RPC请求数量 · Dropped sessions表示因超时和异常断开而丢弃的会话的数量 · Sessions表示设备建立的NETCONF会话数量 · Received bad hellos表示设备接收的错误Hello信息数量 · Received RPCs表示设备接收的RPC总数 · Received bad RPCs表示设备接收的错误RPC总数 |
display netconf session命令用来显示当前NETCONF会话信息。
【命令】
display netconf session
【视图】
任意视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【举例】
# 显示当前NETCONF会话信息。
<Sysname> display netconf session
Session ID: 1 Session type : SOAP
Username : xj
Login time : 2021-09-28T14:28:04
Client IP address : 172.31.9.125
Session statistics:
Received RPCs : 0 Received bad RPCs : 0
Output RPC errors: 0 Output notifications: 0
表1-2 display netconf session命令显示信息描述表
字段 |
描述 |
Session ID |
当前NETCONF会话的ID |
Session type |
当前NETCONF会话类型: · SOAP表示基于NETCONF over SOAP over HTTP/HTTPS的会话 · Agent表示基于NETCONF over SSH/Telnet/Console的会话 |
Username |
与设备建立NETCONF会话用户名称 对于SOAP类型的NETCONF会话,此处显示为用户名;对于Agent类型的NETCONF会话: · 配置为认证登录时,此处显示为用户名 · 配置为无认证登录时,此处显示为“-” |
Login time |
与设备建立NETCONF会话的时间 |
Client IP address |
与设备建立NETCONF会话的客户端IP地址 如果使用Console与设备建立NETCONF会话,此处显示为“-” |
Session statistics |
当前NETCONF会话的统计信息: · Received RPCs表示包括设备接收到的NETCONF请求报文数量 · Received bad RPCs表示设备接收到的无法处理的请求报文数量 · Output RPC errors表示设备输出的RPC错误报文数量 · Output notifications表示设备输出的NETCONF通知数量 |
netconf capability specific-namespace命令用来配置设备使用专用命名空间。
undo netconf capability specific-namespace命令用来恢复缺省情况。
【命令】
netconf capability specific-namespace
undo netconf capability specific-namespace
【缺省情况】
NETCONF使用共用命名空间。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
设备支持共用命名空间和专用命名空间,两种类型的命名空间互不兼容。客户端与设备必须使用相同的命名空间才能建立会话。缺省情况下,设备使用共用命名空间。如果客户端不支持共用命名空间,则需要配置本命令,让设备和客户端建立会话时使用专用命名空间。
配置该命令后,用户需要重新建立NETCONF会话,以使客户端和设备使用相同的命名空间。
【举例】
# 配置设备使用专用命名空间。
<Sysname> system-view
[Sysname] netconf capability specific-namespace
netconf idle-timeout命令用来配置NETCONF会话超时时间。
undo netconf idle-timeout命令用来恢复缺省情况。
【命令】
netconf { soap | agent } idle-timeout minute
undo netconf { soap | agent } idle-timeout
【缺省情况】
基于NETCONF over SOAP over HTTP和NETCONF over SOAP over HTTPS的会话超时时间为10分钟。
基于NETCONF over SSH、NETCONF over Telnet和NETCONF over Console的会话超时时间为0,即不超时。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
soap:用来配置基于NETCONF over SOAP over HTTP和NETCONF over SOAP over HTTPS的会话超时时间。
agent:用来配置基于NETCONF over SSH、NETCONF over Telnet和NETCONF over Console的会话超时时间。
minute:表示空闲超时时间,单位为分钟,取值范围为:
· 对于基于NETCONF over SOAP over HTTP和NETCONF over SOAP over HTTPS的会话,取值范围为1~999。
· 对于基于NETCONF over SSH、NETCONF over Telnet和NETCONF over Console的会话,取值范围为0~999,0表示不超时。
【使用指导】
用户通过Telnet、SSH、Console、或配置工具与设备建立NETCONF连接,如果在超时时间内,用户与设备无任何NETCONF报文交互,达到超时时间后,设备将断开与用户配置端的NETCONF连接。
【举例】
# 配置基于NETCONF over SOAP over HTTP和NETCONF over SOAP over HTTPS的会话超时时间为20分钟。
<Sysname> system-view
[Sysname] netconf soap idle-timeout 20
netconf log命令用来配置NETCONF日志功能。
undo netconf log命令用来取消指定类型的NETCONF日志配置。
【命令】
netconf log source { all | { agent | soap | web } * } { protocol-operation { all | { action | config | get | session | set | syntax | others } * } | verbose }
undo netconf log source { all | { agent | soap | web } * } { protocol-operation { all | { action | config | get | session | set | syntax | others } * } | verbose }
【缺省情况】
NETCONF action和set类操作日志按行操作输出,其他NETCONF日志不输出。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
source:表示需要输出日志的NETCONF操作来源:
· all:表示输出所有来源的NETCONF日志。
· agent:表示输出源自Telnet、SSH、NETCONF over SSH和NETCONF over Console类型的NETCONF日志。
· soap:表示输出源自SOAP over HTTP和SOAP over HTTPS类型的NETCONF日志。
· web:表示输出源自本设备Web类型的NETCONF日志。
protocol-operation:表示按NETCONF操作类型输出日志:
· all:表示所有NETCONF操作类型。
· action:表示action操作。
· config:表示配置类的NETCONF操作,包括CLI、save、load、rollback、save-point、lock、unlock。
· get:表示获取数据的NETCONF操作,包括get、get-bulk、get-config、get-bulk-config、get-sessions。
· session:表示与会话相关的NETCONF操作,包括kill-session、close-session、hello。
· set:表示所有edit-config操作。
· syntax:表示包含xml和schema的格式错误的请求。
· others:表示除action、config、get、set、session、set、syntax外,其他类型的NETCONF操作。
verbose:表示输出NETCONF操作的详细日志信息。该参数仅对按操作类型输出日志方式生效:
· 对于请求类型的日志:当请求报文格式正确时,设备在简要日志后输出源报文的内容。
· 对于处理结果类型的日志:仅支持输出set的详细日志信息。即,当edit-config操作执行错误时输出详细错误信息。
【使用指导】
NETCONF日志功能仅支持按NETCONF操作类型(protocol-operation)输出日志,配置按NETCONF操作类型输出日志后,用户每下发一次NETCONF操作,设备输出该NETCONF操作日志以及操作结果的日志。例如用户下发NETCONF操作,创建ID为3~5的VLAN时,设备输出的日志如下:
%Mar 21 17:11:34:479 2019 Sysname XMLSOAP/6/XML_REQUEST: test from 192.168.100.198, session id 2,message-id 100, receive edit-config request.
%Mar 21 17:11:34:483 2019 Sysname XMLSOAP/6/EDIT-CONFIG: test from 192.168.100.198, session id 2,message-id 100, execute success.
设备先将NETCONF日志发送到信息中心,根据信息中心的输出规则将日志信息输出到不同方向。信息中心的相关配置请参见“网络管理和监控配置指导”中的“信息中心”。
【举例】
# 配置设备输出源自agent的edit-config类型的操作日志。
<Sysname> system-view
[sysname] netconf log source agent protocol-operation set
netconf log xml2cli enable命令用来开启NETCONF操作转化命令行日志功能。
undo netconf log xml2cli enable命令用来关闭NETCONF操作转化命令行日志功能。
【命令】
netconf log xml2cli enable
undo netconf log xml2cli enable
【缺省情况】
NETCONF操作转化命令行日志功能处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
NETCONF操作和设备上的命令行对应,用户通过NETCONF配置设备时,设备会转化成命令行来保存配置。开启NETCONF操作转化命令行日志功能后,用户每下发一次action或edit-config操作,设备还会生成日志来记录该NETCONF操作转化的命令行。
例如,用户下发edit-config操作,配置指定索引的端口为Trunk端口、PVID为VLAN 100:
<rpc message-id="100" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<edit-config>
<target>
<running/>
</target>
<config>
<Ifmgr xc:operation="merge">
<Interfaces>
<Interface>
<IfIndex>1647</IfIndex>
<LinkType>2</LinkType>
<PVID>100</PVID>
</Interface>
</Interfaces>
</Ifmgr>
</config>
</edit-config>
</rpc>
此时设备输出日志如下:
%Mar 31 17:50:02:608 2021 Sysname XMLSOAP/6/EDIT-CONFIG-CLI: User (test, 192.168.100.20, session ID 1), message ID=100, row index=1, command= Interface gigabitethernet1/0/1.
%Mar 31 17:50:02:608 2021 Sysname XMLSOAP/6/EDIT-CONFIG-CLI: User (test, 192.168.100.20, session ID 1), message ID=100, row index=1, command= port link-type trunk.
%Mar 31 17:50:02:608 2021 Sysname XMLSOAP/6/EDIT-CONFIG-CLI: User (test, 192.168.100.20, session ID 1), message ID=100, row index=1, command= port trunk pvid vlan 100.
【举例】
# 开启NETCONF操作转化命令行日志功能。
<Sysname> system-view
[Sysname] netconf log xml2cli enable
netconf soap acl命令用来配置NETCONF over SOAP关联IPv4 ACL。
undo netconf soap acl命令用来恢复缺省情况。
【命令】
非FIPS模式下:
netconf soap { http | https } acl { ipv4-acl-number | name ipv4-acl-name }
undo netconf soap { http | https } acl
FIPS模式下:
netconf soap https acl { ipv4-acl-number | name ipv4-acl-name }
undo netconf soap https acl
【缺省情况】
未配置NETCONF over SOAP关联IPv4 ACL。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
ipv4-acl-number:IPv4 ACL的编号,取值范围为2000~2999。
http:开启基于HTTP的NETCONF over SOAP关联IPv4 ACL。
https:开启基于HTTPS的NETCONF over SOAP关联IPv4 ACL。
name ipv4-acl-name:指定IPv4 ACL的名称。ipv4-acl-name表示IPv4 ACL的名称,为1~63个字符的字符串,不区分大小写,必须以英文字母a~z或A~Z开头。为避免混淆,IPv4 ACL的名称不允许使用英文单词all。仅当指定名称的IPv4 ACL存在且为基本IPv4 ACL时生效。
【使用指导】
配置SOAP服务与IPv4 ACL关联后,只有IPv4 ACL允许通过的NETCONF客户端能够通过SOAP方式登录设备。不匹配IPv4 ACL或IPv4 ACL拒绝通过的NETCONF客户端将不能通过SOAP方式登录设备。
引用ACL时,需要注意的是:
· 若引用的ACL不存在,或者引用的ACL中没有配置规则,则表示允许所有NETCONF客户端访问设备。
· 在引用的ACL中,若某规则指定了vpn-instance参数,则表示该规则仅对VPN报文有效;若规则未指定vpn-instance参数,则表示该规则仅对公网报文有效。
多次执行netconf soap http acl命令,最后一次执行的命令生效。netconf soap https acl命令亦然。
【举例】
# 配置基于HTTP的NETCONF over SOAP功能与IPv4 ACL 2001关联,只允许10.10.0.0/16网段的客户端访问设备。
<Sysname> system-view
[Sysname] acl basic 2001
[Sysname-acl-ipv4-basic-2001] rule permit source 10.10.0.0 0.0.255.255
[Sysname-acl-ipv4-basic-2001] quit
[Sysname] netconf soap http acl 2001
netconf soap domain命令用来配置NETCONF用户的强制认证域。
undo netconf soap domain命令用来恢复缺省情况。
【命令】
netconf soap domain domain-name
undo netconf soap domain
【缺省情况】
未配置NETCONF用户的强制认证域。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
domain-name:ISP域名,为1~255个字符的字符串,不区分大小写。关于ISP域的详细介绍请参见“安全配置指导”中的“AAA”。
【使用指导】
多次执行本命令,最后一次执行的命令生效。
NETCONF支持使用如下方式指定认证域:
· 通过netconf soap domain命令配置强制认证域。配置该命令后,所有用户都会使用强制认证域进行认证。
· 在SOAP请求的<UserName>中携带认证域信息。SOAP请求中携带的认证域仅对当前请求生效。通过netconf soap domain命令配置强制认证域后,SOAP请求中携带的认证域不生效。
【举例】
# 配置NETCONF用户的强制认证域为my-domain。
<Sysname> system-view
[Sysname] netconf soap domain my-domain
netconf soap dscp命令用来配置设备发送的SOAP报文的DSCP优先级。
undo netconf soap dscp命令用来恢复缺省情况。
【命令】
非FIPS模式下:
netconf soap { http | https } dscp dscp-value
undo netconf soap { http | https } dscp
FIPS模式下:
netconf soap https dscp dscp-value
undo netconf soap https dscp
【缺省情况】
设备发送的SOAP报文的DSCP优先级为0。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
dscp-value:指定设备发送的基于HTTP的SOAP报文的DSCP优先级,取值范围为0~63。
http:设备发送基于HTTP的SOAP报文的DSCP优先级。
https:设备发送基于HTTPS的SOAP报文的DSCP优先级。
【使用指导】
DSCP优先级封装在IP报文中的ToS字段,用来表示报文自身的优先级,设备根据该优先级决定报文传输的优先程度。
【举例】
# 配置设备发送的基于HTTP的SOAP报文的DSCP优先级为30。
<Sysname> system-view
[Sysname] netconf soap http dscp 30
netconf soap enable命令用来开启NETCONF over SOAP功能。
undo netconf soap enable命令用来关闭NETCONF over SOAP功能。
【命令】
非FIPS模式下:
netconf soap { http | https } enable
undo netconf soap { http | https } enable
FIPS模式下:
netconf soap https enable
undo netconf soap https enable
【缺省情况】
NETCONF over SOAP处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
http:开启基于HTTP的NETCONF over SOAP功能。
https:开启基于HTTPS的NETCONF over SOAP功能。
【使用指导】
配置该命令后,表示设备能够解析这样的HTTP/HTTPS报文,报文中的数据为SOAP封装过的NETCONF指令。
【举例】
# 开启基于HTTP的SOAP功能。
<Sysname> system-view
[Sysname] netconf soap http enable
netconf ssh server enable命令用来开启NETCONF over SSH的接入方式。
undo netconf ssh server enable命令用来关闭NETCONF over SSH的接入方式。
【命令】
netconf ssh server enable
undo netconf ssh server enable
【缺省情况】
NETCONF over SSH的接入方式处于关闭状态。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【使用指导】
用户配置该命令后,可以利用SSH客户端通过SSH子系统的方式接入设备的NETCONF系统,然后直接进入NETCONF配置模式,而不用手工输入XML命令。
配置该命令前必须在设备上把SSH连接终端的认证方式设置为scheme,支持NETCONF over SSH的客户端才能连接到NETCONF系统,目前只支持用urn:ietf:params:netconf:base:1.0(设备与终端共同支持的能力集)连接系统。
【举例】
# 开启NETCONF over SSH的接入方式。
<Sysname> system-view
[Sysname] netconf ssh server enable
netconf ssh server port命令用来设置NETCONF over SSH接入方式的监听端口号。
undo netconf ssh server port命令用来恢复缺省情况。
【命令】
netconf ssh server port port-number
undo netconf ssh server port
【缺省情况】
NETCONF over SSH接入方式的监听端口为830。
【视图】
系统视图
【缺省用户角色】
network-admin
mdc-admin
【参数】
port-number:基于NETCONF over SSH的接入方式的监听端口,取值范围为1~65535。
【使用指导】
用户可以在必要时使用此命令来重新配置一个端口作为NETCONF子系统的监听端口,但由于SSH服务使用共享端口的方式来分配监听端口,为了正常使用,必须保证分配的端口不和其他使用的端口冲突。
【举例】
# 配置NETCONF over SSH接入方式的监听端口为800。
<sysname> system-view
[sysname] netconf ssh server port 800
reset netconf service statistics命令用来清除当前NETCONF服务的全局统计信息。
【命令】
reset netconf service statistics
【视图】
用户视图
【缺省用户角色】
network-admin
mdc-admin
【举例】
# 清除当前NETCONF服务的全局统计信息。
<Sysname> reset netconf service statistics
reset netconf session statistics命令用来清除当前NETCONF会话的统计信息。
【命令】
reset netconf session statistics
【视图】
用户视图
【缺省用户角色】
network-admin
mdc-admin
【举例】
# 清除当前NETCONF的会话统计信息。
<Sysname> reset netconf session statistics
xml命令用来进入XML视图。
【命令】
xml
【视图】
用户视图
【缺省用户角色】
network-admin
network-operator
mdc-admin
mdc-operator
【使用指导】
进入XML视图后可以输入NETCONF指令来配置或者获取系统数据。用户登录时使用的角色不同,可执行的NETCONF操作也不同:
· network-admin和mdc-admin可执行全部操作。
· network-operator和mdc-operator可执行get、get-bulk、get-config、get-bulk-config、get-sessions、close-session操作。
进入XML视图后,用户需要严格按照NETCONF报文格式将报文拷贝、粘贴到XML视图中。在NETCONF配置过程中,请勿进行其他任何操作(例如手工输入NETCONF报文),否则可能导致NETCONF配置失败。
在XML视图下进行NETCONF配置时,NETCONF报文最后需要添加“]]>]]>”,否则设备无法识别。
进入XML视图后,设备将自动向客户端发送自身支持的NETCONF能力集,此时,客户端需要向设备发送自身支持的NETCONF能力集,完成能力交换后,用户即可使用客户端对设备进行配置。
用户输入的NETCONF指令必须符合XML语言格式要求和《NETCONF XML API手册》中的语法、语义要求。建议使用第三方软件来协助生成NETCONF指令,命令行手工输入方式通常用于研发和测试环境。
退出XML视图时需要使用相关的NETCONF指令,不能使用quit。
在XML模式下终止任务的快捷键有重置缓存的功能,快捷键之前的内容都会被清除掉。如果在用户线/用户线类视图下使用escape-key命令配置了终止任务的快捷键(缺省为Ctrl+C),可能会影响XML视图下相关配置。例如:在用户线视图下配置了escape-key a,当NETCONF指令中含有字符‘a’时,其实只有NETCONF指令最后一个‘a’之后的内容能够得到处理;当NETCONF指令中不含有字符‘a’时,则对XML视图下的配置没有影响。
【举例】
# 进入XML视图。
<Sysname> xml
# 进行能力交换。
<hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<capabilities>
<capability>
urn:ietf:params:netconf:base:1.0
</capability>
</capabilities>
</hello>]]>]]>
# 退出XML视图。
<rpc message-id="101" xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<close-session/>
</rpc>]]>]]>
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!