在此页面上
在 NETCONF 会话中设置编辑配置模式
将配置数据发送到 NETCONF 服务器时,可以指定设备应如何处理配置更改。这称为编辑配置模式。您可以为整个会话全局设置编辑配置模式。您还可以仅为会话中的特定元素设置编辑模式。
运行 Junos OS 的设备具有以下编辑配置模式:
merge
- 设备将新配置数据合并到现有配置数据中。这是默认设置。replace
- 设备将现有配置数据替换为新的配置数据。none
- 除非新配置元素包含操作属性,否则设备不会更改现有配置。
要为会话全局设置编辑配置模式,请将具有所需模式的元素作为 的<edit-config>
子元素包含在<default-operation>
内。
<rpc> <edit-config> <default-operation>mode</default-operation> <edit-config> </rpc>
要为单个元素指定编辑配置模式,请在 operation
该元素的标记中包含属性和所需模式。
<rpc> <edit-config> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
您还可以为整组配置更改设置全局编辑配置模式,并为希望以不同方式处理的各个元素指定不同的模式。例如:
<rpc> <edit-config> <default-operation>merge</default-operation> <config> <configuration> <protocols> <rip> <message-size operation="replace">255</message-size> </rip> </protocols> </configuration> </config> </edit-config> </rpc>
以下各节将更详细地讨论编辑配置模式:
指定合并数据模式
默认情况下,NETCONF 服务器将新的配置数据 合并 到候选配置或打开的配置数据库中。因此,如果未指定编辑配置模式,设备会将新配置元素合并到现有配置中。
合并配置按照以下规则执行。(在打开的配置数据库(例如临时数据库)中更新配置数据时,这些规则也适用,但为简单起见,以下讨论仅涉及候选配置。
存在于候选配置中但不在新配置中的配置元素(层次结构级别或配置对象)保持不变。
存在于新配置中但不存在于候选配置中的配置元素将添加到候选配置中。
如果两个配置中都存在配置元素,则会出现以下结果:
如果配置元素的子语句(由子标记元素表示)存在于候选配置中,但不存在于新配置中,则该子语句保持不变。
如果子语句存在于新配置中,但不存在于候选配置中,则会将其添加到候选配置中。
如果两个配置中都存在子语句,则新数据中的值将替换候选配置中的值。
若要显式指定要合并的数据,应用程序将标记元素与 <default-operation>
标记元素中的值 merge
包含在标记元素中 <edit-config>
。
<rpc> <edit-config> <default-operation>merge</default-operation> <!-- other child tag elements of the <edit-config> tag element --> </edit-config> </rpc> ]]>]]>
指定替换数据模式
在 替换 编辑配置模式下,新的配置数据将完全替换候选配置或打开配置数据库中的数据。若要指定要替换数据,应用程序将标记元素与 <default-operation>
标记元素中的值 replace
包含在标记元素中 <edit-config>
。
<rpc> <edit-config> <default-operation>replace</default-operation> </edit-config> </rpc> ]]>]]>
建议仅在计划使用新配置数据完全覆盖现有配置时才使用全局替换模式。此外,当编辑配置模式设置为 replace
时,建议不要对 operation
单个配置元素使用该属性。
您还可以在合并或创建其他配置元素时替换单个配置元素。请参见 使用 NETCONF 替换配置元素。
指定无(无更改)数据模式
在 none
(无更改)编辑配置模式下,对配置的更改将被忽略。此模式在删除元素时很有用,它可以阻止 NETCONF 服务器为要删除的元素创建父层次结构级别。有关详细信息,请参阅 使用 NETCONF 删除配置元素。
要全局设置无更改编辑配置模式,应用程序将标记元素与<default-operation>
标记元素中的<edit-config>
值none
包含在标记元素中。
<rpc> <edit-config> <default-operation>none</default-operation> </edit-config> </rpc>
如果新配置数据包含不在现有配置中的配置元素,则 NETCONF 服务器将返回错误。我们建议仅在从配置中删除配置元素时使用模式 none
。创建或修改元素时,应用程序必须使用合并模式。
当您使用 <default-operation>
标签将编辑配置模式 none
全局设置为以指示无更改模式时,您仍然可以覆盖此模式,并通过在元素的标签中包含属性来 operation
为各个元素指定不同的编辑配置模式。例如:
<rpc> <edit-config> <default-operation>none</default-operation> <config> <configuration> <system> <services> <outbound-ssh> <client> <name>test</name> <device-id>test</device-id> <keep-alive> <retry operation="merge">4</retry> <timeout operation="merge">15</timeout> </keep-alive> </client> </outbound-ssh> </services> </system> </configuration> </config> </edit-config> </rpc>
更改历史记录表
功能支持由您使用的平台和版本决定。使用 功能资源管理器 确定您的平台是否支持某个功能。
<default-operation>
replace
时,设备将使用操作而不是
load override
操作来
load update
替换配置。在负载更新操作中,设备仅通知与已更改语句对应的 Junos 进程,从而最大限度地减少可能的网络中断。