07-NETCONF命令
本章節下載: 07-NETCONF命令 (222.84 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日誌功能。
【視圖】
係統視圖
【缺省用戶角色】
network-admin
【參數】
source:表示需要輸出日誌的NETCONF操作來源:
· all:表示輸出所有來源的NETCONF日誌。
· agent:表示輸出源自Telnet/SSH/NETCONF over SSH/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保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!