08-NETCONF命令
本章节下载: 08-NETCONF命令 (208.10 KB)
设备运行于FIPS模式时,本特性部分配置相对于非FIPS模式有所变化,具体差异请见本文相关描述。有关FIPS模式的详细介绍请参见“安全配置指导”中的“FIPS”。
netconf capability specific-namespace命令用来配置设备使用专用命名空间。
undo netconf capability specific-namespace命令用来恢复缺省情况。
【命令】
netconf capability specific-namespace
undo netconf capability specific-namespace
【缺省情况】
NETCONF使用共用命名空间。
【视图】
系统视图
【缺省用户角色】
network-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
【参数】
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 } * } | row-operation | verbose }
undo netconf log source { all | { agent | soap | web } * } { protocol-operation { all | { action | config | get | session | set | syntax | others } * } | row-operation | verbose }
【缺省情况】
NETCONF action和set类操作日志按行操作输出,其他NETCONF日志不输出。
【视图】
系统视图
【缺省用户角色】
network-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操作。
row-operation:表示按NETCONF行操作输出日志。该参数仅支持action和set操作。
verbose:表示输出NETCONF操作的详细日志信息。该参数仅对按操作类型输出日志方式生效:
· 对于请求类型的日志:当请求报文格式正确时,设备在简要日志后输出源报文的内容。
· 对于处理结果类型的日志:仅支持输出set的详细日志信息。即,当edit-config操作执行错误时输出详细错误信息。
【使用指导】
NETCONF日志功能支持按NETCONF操作类型(protocol-operation)输出日志和按NETCONF行操作(row-operation)输出日志:
· 配置按NETCONF操作类型输出日志时,用户每下发一次NETCONF操作,设备输出该NETCONF操作日志以及操作结果的日志。例如用户下发NETCONF操作,创建ID为3~5的VLAN时,设备输出的日志如下:
%Mar 21 17:11:34:479 2017 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 2017 Sysname XMLSOAP/6/EDIT-CONFIG: test from 192.168.100.198, session id 2,message-id 100, execute success.
· 配置按NETCONF行操作输出日志时,用户下发一次NETCONF操作后,设备输出该操作中每个请求行操作的日志,日志中包含NETCONF行操作名称和处理结果。例如用户下发NETCONF操作,创建ID为3~5的VLAN时,设备输出的日志如下:
%Mar 31 17:50:02:608 2017 Sysname XMLSOAP/6/EDIT-CONFIG: User (test, 192.168.100.20, session ID 1), message ID=100, operation=create VLAN/VLANs (ID=3), result=Succeeded. No attributes.
%Mar 31 17:50:02:609 2017 Sysname XMLSOAP/6/EDIT-CONFIG: User (test, 192.168.100.20, session ID 1), message ID=100, operation=create VLAN/VLANs (ID=4), result=Succeeded. No attributes.
%Mar 31 17:50:02:611 2017 Sysname XMLSOAP/6/EDIT-CONFIG: User (test, 192.168.100.20, session ID 1), message ID=100, operation=create VLAN/VLANs (ID=5), result=Succeeded. No attributes.
设备先将NETCONF日志发送到信息中心,根据信息中心的输出规则将日志信息输出到不同方向。信息中心的相关配置请参见“网络管理和监控配置指导”中的“信息中心”。
【举例】
# 配置设备输出源自agent的edit-config类型的操作日志。
<Sysname> system-view
[sysname] netconf log source agent protocol-operation set
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
【参数】
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方式登录设备。
当未引用IPv4 ACL、引用的IPv4 ACL不存在、或者引用的IPv4 ACL下没有配置规则时,允许所有NETCONF客户端访问设备。
多次执行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
【参数】
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
【参数】
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
【参数】
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
【使用指导】
用户配置该命令后,可以利用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
【参数】
port-number:基于NETCONF over SSH的接入方式的监听端口,取值范围为1~65535。
【使用指导】
用户可以在必要时使用此命令来重新配置一个端口作为NETCONF子系统的监听端口,但由于SSH服务使用共享端口的方式来分配监听端口,为了正常使用,必须保证分配的端口不和其他使用的端口冲突。
【举例】
# 配置NETCONF over SSH接入方式的监听端口为800。
<sysname> system-view
[sysname] netconf ssh server port 800
xml命令用来进入XML视图。
【命令】
xml
【视图】
用户视图
【缺省用户角色】
network-admin
network-operator
【使用指导】
进入XML视图后可以输入NETCONF指令来配置或者获取系统数据。用户登录时使用的角色不同,可执行的NETCONF操作也不同:
· network-admin可执行全部操作。
· network-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
<?xml version="1.0" encoding="UTF-8"?><hello xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"><capabilities><capability>urn:ietf:params:netconf:base:1.1</capability><capability>urn:ietf:params:netconf:writable-running</capability><capability>urn:ietf:params:netconf:capability:notification:1.0</capability><capability>urn:ietf:params:netconf:capability:validate:1.1</capability><capability>urn:ietf:params:netconf:capability:interleave:1.0</capability><capability>urn:h3c:params:netconf:capability:h3c-netconf-ext:1.0</capability></capabilities><session-id>1</session-id></hello>]]>]]>
# 进行能力交换。
<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>]]>]]>
<Sysname>
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!