使用 Junos XML 协议更换配置
在与运行 Junos OS 的设备的 Junos XML 协议会话中,客户端应用程序可以使用新数据替换整个候选配置或私有配置,或者回滚到之前的配置或救援配置。从 Junos OS 18.1R1 版开始,客户端应用程序还可以使用新数据替换临时配置数据库实例中的所有配置数据。
Junos OS 不支持将提交到临时配置数据库实例的配置回滚。
以下部分讨论如何更换候选配置或开放配置数据库中的所有配置数据。更换数据之后,客户端应用程序必须提交配置,使其成为设备上的活动配置。有关修改各个配置元素的说明,请参阅 使用 Junos XML 协议创建、修改或删除配置元素。
使用新数据替换候选配置
要丢弃候选配置或开放配置数据库中的所有配置数据,代之以新的配置数据,客户端应用程序执行 <load-configuration>
该操作并包含 action="override"
属性。如果客户端应用程序在执行操作前发出 <open-configuration>
打开特定配置数据库的 <load-configuration>
操作,服务器将配置数据加载到开放配置数据库中。否则,服务器会将配置数据加载到候选配置中。
<rpc> <!-- For a file --> <load-configuration action="override" url="file" [format="format"]/> <!-- For a data stream --> <load-configuration action="override" [format="format"]> <!-- configuration data --> </load-configuration> </rpc>
有关url
format
新配置数据的和属性以及语法的详细信息,请参阅 Junos XML 协议会话中上传和格式化配置数据。
以下示例说明如何指定文件 /tmp/new.conf 的内容替换整个候选配置。该文件包含 Junos XML 标记元素(默认值),因此 format
将省略属性。
客户端应用程序
<rpc> <load-configuration action="override" url="/tmp/new.conf"/> </rpc>
Junos XML 协议服务器
<rpc-reply xmlns:junos="URL"> <load-configuration-results> <load-success/> </load-configuration-results/> </rpc-reply>
将候选配置回滚至先前提交的配置
运行 Junos OS 的设备存储最近提交的配置和之前的多达 49 个配置的副本,具体取决于平台。您可以回滚到任何存储的配置。当配置更改导致不可取的结果,并且您希望恢复为已知工作配置时,这会很有用。回滚配置类似于在设备上进行配置更改的过程,但您无需加载配置数据,而是执行回滚,从而将整个候选配置替换为先前提交的配置。
成功提交配置时,Junos OS 会为该配置分配唯一的配置修订标识符。该配置还与回滚索引相关,其中最近提交的配置具有回滚索引 0。而以前提交的配置的回滚索引与每个提交一起递增,而同一配置的配置修订标识符则保持静态。回滚到先前提交的配置时,可通过其当前回滚索引或其配置修订标识符参考配置。
要将候选配置(或开放配置数据库)替换为先前提交的配置,Junos XML 协议客户端可以使用以下其中一种方法:
<load-configuration/>
使用rollback="index"
属性执行操作,使用给定的回滚索引回滚至配置。<load-configuration/>
使用configuration-revision="revision-id"
属性执行操作,使用给定的配置修订标识符回滚到配置。<rollback-config>
使用<index>
儿童元素执行 RPC,后者定义回滚索引。此 RPC 从 Junos OS 版本 18.1R1 开始提供,当应用程序不支持执行包含 XML 属性的 RPC 时,此 RPC 很有用。
Junos OS 不支持将提交到临时配置数据库实例的配置回滚。因此,临时数据库不支持使用<rollback-config>
带有或属性的 RPC 或<load-configuration>
configuration-revision
操作rollback
。
要使用此 <load-configuration>
操作将候选配置或开放配置数据库替换为先前提交的配置,客户端应用程序将执行 <load-configuration/>
该操作,并包括 rollback
或 configuration-revision
属性。该 rollback
值是相应先前配置的数字回滚索引。有效值为 0(对于最近提交的配置为零),比之前存储的配置数量少一个(最大为 49)。该 configuration-revision
值是要加载的配置的配置修订标识符,例如,re0-1605228066-332。
<rpc> <load-configuration rollback="index"> </rpc>
<rpc> <load-configuration configuration-revision="revision-id"> </rpc>
Junos XML 协议服务器表示负载操作成功,方法是返回 <load-configuration-results>
RPC 回复中的和 <load-success/>
元素。
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos"> <load-configuration-results> <load-success/> </load-configuration-results> </rpc-reply>
要使用 <rollback-config>
RPC 加载先前提交的配置,客户端应用程序将使用该元素执行 <rollback-config>
RPC <index>
。该 <index>
元素指定了要加载的配置的回滚索引。
<rpc> <rollback-config> <index>1</index> </rollback-config> </rpc>
Junos XML 协议服务器表示负载操作成功,方法是返回 <rollback-config-results>
RPC 回复中的和 <load-success/>
元素。
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos"> <rollback-config-results> <load-success/> </rollback-config-results> </rpc-reply>
如果负载操作成功,客户端应用程序必须提交配置才能使其成为设备上的活动配置。如果服务器在加载回滚配置时遇到错误,则会返回一个 <xnm:error>
元素并提供有关错误的信息。
使用救援配置更换候选配置
救援配置允许您定义已知工作配置或具有随时可恢复的已知状态的配置。如果设备配置和备份配置文件在修复后损坏,则需要恢复为已知配置或作为最后手段时,您可使用救援配置。创建救援配置时,设备将最近提交的配置保存为援救配置。
要将候选配置或开放配置数据库替换为设备的救援配置,Junos XML 协议应用程序可以使用以下其中一种方法。在加载设备之前,救援配置必须存在于设备上。
<load-configuration/>
使用属性执行操作rescue="rescue"
。<rollback-config>
使用子元素执行 RPC<rescue/>
。此 RPC 从 Junos OS 版本 18.1R1 开始提供,当应用程序不支持执行包含 XML 属性的 RPC 时,此 RPC 很有用。
要使用此 <load-configuration/>
操作将候选配置替换为救援配置,请将属性包含 rescue="rescue"
在标记中 <load-configuration/>
。
<rpc> <load-configuration rescue="rescue"/> </rpc>
Junos XML 协议服务器表示负载操作成功,方法是返回 <load-configuration-results>
RPC 回复中的和 <load-success/>
元素。
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos"> <load-configuration-results> <load-success/> </load-configuration-results> </rpc-reply>
要使用 <rollback-config>
RPC 加载救援配置,客户端应用程序将发出 <rollback-config>
该元素和 <rescue/>
儿童标记。
<rpc> <rollback-config> <rescue/> </rollback-config> </rpc>
Junos XML 协议服务器表示负载操作成功,方法是返回 <rollback-config-results>
RPC 回复中的和 <load-success/>
元素。
<rpc-reply xmlns:junos="http://xml.juniper.net/junos/18.1R1/junos"> <rollback-config-results> <load-success/> </rollback-config-results> </rpc-reply>
如果负载操作成功,客户端应用程序必须提交配置才能使其成为设备上的活动配置。如果救援配置不存在,或者服务器在加载配置数据时遇到其他错误,则会返回一个 <xnm:error>
元素并提供有关错误的信息。