在 NETCONF 会话中上传和格式化配置数据
在使用运行 Junos OS 的 NETCONF 会话中,客户端应用程序可以指定向设备提供配置更改时所使用的配置数据的交付机制和格式。客户端应用程序可以使用文本文件或流式数据,以一种接受的格式将配置数据上传到候选配置或开放配置数据库。
客户端可以选择在会话内流式配置更改,或者引用包含所需配置更改的数据文件。每种方法都有优点和缺点。流数据允许您使用 NETCONF 连接在线发送配置更改数据。如果设备在防火墙后面,并且无法建立另一个连接来上传数据文件,则这会非常有用。使用文本文件,您可以保持编辑配置命令简单;无需包含可能复杂的配置数据流。
和 <copy-config>
<edit-config>
操作接受用于配置数据的两种格式之一:Junos OS XML 或 Junos XML CLI语句。在一种数据格式与另一种数据格式之间选择是个人偏好。
管理运行 Junos OS 的设备时,除了 Junos XML 或 CLI 配置语句格式之外,客户端应用程序可使用 NETCONF 会话中的 Junos XML 协议操作来上传使用 JSON 或配置模式命令格式化的配置数据。 <load-configuration>
set
以下章节详细介绍了交付机制和格式:
参考配置数据文件
要上传存储在文件中的配置数据,客户端应用程序在 和 或 标记元素中的标记之间发出 <url>
<rpc>
<edit-config>
<copy-config>
文件位置。
<rpc> <copy-config> <target> <candidate/> </target> <source> <url> <!-- location and name of file containing configuration data --> </url> </source> </copy-config> </rpc> ]]>]]>
<rpc> <edit-config> <target> <candidate/> </target> <url> <!-- location and name of file containing configuration data --> </url> </edit-config> </rpc> ]]>]]>
这些文件内的数据可格式化为默认 XML Junos或CLI语句。当配置数据格式化为默认CLI语句时,在 format="text"
标记中包括 <url>
属性。
<url format="text"> <!-- location and name of file containing configuration data --> </url>
配置文件可本地放置,也可作为网络资源置入。
-
在本地放置时,配置文件路径可以是相对的,或者是绝对的:
-
相对文件路径 — 文件位置基于用户家庭目录。
-
绝对文件路径 — 文件位置基于设备的目录结构,例如 <drive>:filename 或 <drive>/:path / filename 。如果使用可移动介质,驱动器可能采用 MS-DOS 或 UNIX (UFS) 格式。
-
-
当位于网络中时,可以使用 FTP 或 HTTP 访问配置文件:
-
FTP 示例:
ftp://username:password@hostname/path/filename
注意:FTP 变量的 path 默认值是用户的主目录。因此,默认情况下,配置文件的文件路径相对于用户目录。在使用 FTP 时要指定绝对路径,请从字符 %2F 开始该路径;例如: ftp:// username : password @ hostname /%2F path / filename 。
-
HTTP 示例:
http://username:password@hostname/path/filename
-
加载文件之前,客户端应用程序或管理员保存Junos XML 标记元素,CLI配置语句作为文件内容。该文件包含标记元素或配置语句,表示配置层次结构的所有级别(从根(由标记元素表示)到每个要 <configuration>
更改的元素。表示法与用于请求配置信息的表示法相同。有关 Junos 配置语句的 Junos XML 表示Junos OS,请参阅 将配置语句映射到 Junos XML 标记元素。
以下示例显示如何整合 FTP 服务器上名为 ftp.myco.com 的文件中 存储 的配置 数据:
流配置数据
要以数据流模式提供配置数据,客户端应用程序在 和 标记元素中发出 <config>
<config-text>
或 <rpc>
<edit-config>
标记元素。要指定要更改的配置元素,应用程序会发出 Junos XML 或 CLI 配置语句,表示配置层次结构的所有级别,从根(由 或 标记元素表示)到要更改的每个 <configuration>
<configuration-text>
元素。标准Junos XML 表示法与用于请求配置信息的表示法相同。
<rpc> <edit-config> <target> <candidate/> </target> <config> <configuration> <!-- configuration changes --> </configuration> </config> </edit-config> </rpc> ]]>]]>
<rpc> <edit-config> <target> <candidate/> </target> <config-text> <configuration-text> <!-- configuration changes --> </configuration-text> </config-text> </edit-config> </rpc> ]]>]]>
有关配置元素与 Junos OS XML 标记元素Junos之间映射的更多详细信息,请参阅 将配置语句Junos XML 标记元素。CLI User Guide 中进一步 CLI介绍了 CLI 配置语句表示法。
以下示例显示如何在数据流Junos XML 配置数据以配置 消息 系统日志文件:
数据格式化:Junos XML 与CLI配置语句
NETCONF <copy-config>
和操作接受用于配置数据的两Junos OS一 <edit-config>
:Junos XML 或CLI语句。在一种数据格式与另一种数据格式之间选择是个人偏好。
管理运行 Junos OS 的设备时,除了 Junos XML 或 CLI 配置语句格式外,客户端应用程序可使用 NETCONF 会话中的 Junos XML 协议操作来上传使用 JSON 或配置模式命令格式化的配置数据。 <load-configuration>
set
如果您以数据文件形式提供配置更改,则您可以在标记中括起数据文件名和 <url>
路径。默认情况下,这些标记指定引用的数据文件包含Junos XML 格式的配置数据。因此,以下代码声明文件内的数据为Junos XML 元素:
<url>dataFile</url>
要指定数据文件包含CLI语句,请添加 format="text"
标记中的 <url>
属性。
<url format="text">dataFile</url>
传输数据时,通过两个标记之一指定数据格式:Junos XML 元素和 <config>
<config-text>
CLI语句。
以下示例中, <configuration>
该元素包含Junos XML 格式的配置数据:
<config> <configuration> <system> <services> <ssh> <protocol-version>v2</protocol-version> </ssh> </services> </system> </configuration> </config>
在下面的示例中,元素包含格式化为默认配置语句 <configuration-text>
CLI的数据:
<config-text> <configuration-text> system { services { ssh { protocol-version v2; } } } </configuration-text> </config-text>