- play_arrow 概述
- play_arrow Junos XML 管理协议和 Junos XML API 概述
- play_arrow Junos XML 协议和 Junos XML 标记概述
- play_arrow Junos XML 协议和 JSON 概述
-
- play_arrow 管理 Junos XML 协议会话
- play_arrow Junos XML 协议会话概述
- play_arrow 管理 Junos XML 协议会话
- 满足与 Junos XML 协议服务器建立连接的先决条件
- 为 Junos XML 协议客户端应用程序配置明文或 SSL 服务
- 连接到 Junos XML 协议服务器
- 启动 Junos XML 协议会话
- 使用 Junos XML 协议服务器对明文或 SSL 连接进行身份验证
- 向 Junos XML 协议服务器发送请求
- 解析 Junos XML 协议服务器响应
- 在 NETCONF 和 Junos XML 协议会话中使用标准 API 解析响应标记元素
- 字符编码在瞻博网络设备上的工作原理
- 处理 Junos XML 协议会话中的错误或警告
- 在 Junos XML 协议会话中停止请求
- 使用 Junos XML 协议锁定、解锁候选配置或创建候选配置的私有副本
- 终止 Junos XML 协议会话
- 结束 Junos XML 协议会话并关闭连接
- Junos XML 协议会话示例
- play_arrow Junos XML 协议跟踪操作
- play_arrow Junos XML 协议操作
- play_arrow Junos XML 协议处理指令
- play_arrow Junos XML 协议响应标记
- play_arrow Junos XML 元素属性
- active
- count
- delete
- inactive
- insert
- junos:changed
- junos:changed-localtime
- junos:changed-seconds
- junos:commit-localtime
- junos:commit-seconds
- junos:commit-user
- junos:group
- junos:interface-range
- junos:key
- junos:position
- junos:total
- matching
- protect
- recurse
- rename
- replace
- replace-pattern
- start
- unprotect
- xmlns
-
- play_arrow 使用 Junos XML 协议请求操作和配置信息
- play_arrow 使用 Junos XML 协议请求操作信息
- play_arrow 使用 Junos XML 协议请求配置信息
- 使用 Junos XML 协议请求配置数据
- 指定 Junos XML 协议会话中配置信息请求的源
- 指定 Junos XML 协议会话中配置数据的输出格式
- 使用 Junos XML 协议请求提交脚本样式的 XML 配置数据
- 使用 Junos XML 协议指定配置组和接口范围的输出格式
- 使用 Junos XML 协议的配置元素的请求标识符指示器
- 使用 Junos XML 协议请求配置元素的更改指示器
- 指定要在 Junos XML 协议会话中返回的配置数据的范围
- 使用 Junos XML 协议请求完整配置
- 使用 Junos XML 协议请求不带标识符的配置层次结构级别或容器对象
- 使用 Junos XML 协议请求特定类型的所有配置对象
- 使用 Junos XML 协议请求特定数量的配置对象
- 使用 Junos XML 协议请求特定类型配置对象的标识符
- 使用 Junos XML 协议请求单个配置对象
- 使用正则表达式请求配置对象的子集
- 使用 Junos XML 协议请求多个配置元素
- 使用 Junos XML 协议检索以前的(回滚)配置
- 使用 Junos XML 协议检索救援配置
- 使用 Junos XML 协议将活动配置或候选配置与先前版本进行比较
- 使用 Junos XML 协议比较之前两个(回滚)配置
- 使用 Junos XML 协议请求配置层次结构的 XML 架构
-
- play_arrow Junos XML 协议实用程序
- play_arrow 开发 Junos XML 协议 C 客户端应用程序
-
- play_arrow 配置语句和操作命令
使用 Junos XML 协议保护或取消保护配置对象
属性 protect
可防止对所选配置层次结构和语句进行更改。您无法通过 CLI 手动更改受保护元素,也不能使用提交脚本或远程过程调用自动更改受保护元素。如果尝试对受保护语句或在受保护的层次结构中更改配置,设备会发出警告,并且配置更改失败。
如果配置层次结构或语句受到保护,用户将无法执行以下活动:
删除或修改受保护层次结构内的层次结构或者语句或标识符(删除包含受保护元素的不受保护的层次结构会删除所有未受保护的子元素,并保留所有受保护的子元素。)
在受保护的层次结构中插入新的配置语句或标识符
重命名受保护层次结构中的受保护语句或语句或标识符
将配置复制到受保护的层次结构中
激活或停用受保护层次结构中的受保护语句或语句
对受保护语句、层次结构或受保护层次结构内的语句进行注释
如果保护不存在的配置语句或层次结构,设备将首先创建配置元素,然后保护它。如果不保护不受保护的语句或元素,则不会采取措施。
您可以在显示配置时识别受保护的元素。 表 1 介绍了如何为不同格式的配置数据识别受保护的元素。
格式 | 标识符 |
---|---|
配置模式命令 | 命令 |
Json | 受保护的层次结构和语句在其 |
文本 | 受保护元素前面有 |
Xml | 受保护元素的开始标记包含属性 |
用户或客户端应用必须有权修改配置,才能保护或不保护配置对象。
在与 Junos 设备的 NETCONF 或 Junos XML 协议会话中,为了防止配置元素发生变化或取消保护先前保护的元素,客户端应用程序首先包含 使用 Junos XML 协议创建、修改或删除配置元素中描述的标记元素。
Xml
使用 Junos XML 标记元素来表示配置时,客户端应用程序将 protect="protect"
或 unprotect="unprotect"
属性包括在对象的打开标记中。应用程序包括任何必要的标识符标记元素。在以下示例 RPC 中,标识符标记元素称为 <name>
:
<configuration> <!-- opening tag for each parent of the object --> <object (protect="protect" | unprotect="unprotect")> <name>identifier</name> </object> <!-- closing tag for each parent of the object --> </configuration>
在符合 YANG 的 NETCONF 会话中,通过在标记元素中包含和jcmd:protect="(true | false)"
属性,可以保护或取消保护 XML 数据xmlns:jcmd="http://yang.juniper.net/junos/jcmd"
中的配置元素。有关更多信息,请参阅 Junos 设备的 YANG 元数据注释。
文本
当使用格式化的 ASCII 文本来保护或取消保护对象时,应用程序会根据需要在元素之前添加 protect:
或 unprotect:
运算符。如果保护的是层次结构级别,并且该层次结构下没有附加子元素,请将分号添加到元素语句之后。
<configuration-text> /* statements for parent levels */ /* For an object with an identifier */ (protect: | unprotect:) object identifier { /* Child configuration statements */ } /* For a hierarchy level or object without an identifier */ (protect: | unprotect:) element { /* Child configuration statements */ } /* closing braces for parent levels */ </configuration-text>
配置模式(集)命令
使用配置模式命令保护对象时,应用程序将 protect
指定与 CLI 配置模式命令等效的 or unprotect
命令。您可以保护层次结构和单个语句。
<configuration-set> (protect | unprotect) statement-path-to-hierarchy (protect | unprotect) statement-path-to-object object identifier </configuration-set>
Json
使用 JSON 配置数据来表示配置时,客户端应用程序通过在对象的属性列表中包含相应的属性来保护或不保护对象。客户端包括用于 "protect" : true
保护对象的属性,并包括 "protect" : false
用于取消保护该对象的或 "unprotect" : true
属性。为了保护或不保护具有标识符的对象,客户端还包括该对象的标识符。
以下通用 JSON 配置指示在保护层次结构、具有标识符的对象和叶语句时属性的位置。
<configuration-json> { "configuration" : { /* JSON objects for parent hierarchies */ "hierarchy" : { "@" : { "comment" : "/* protect a hierarchy */" , "protect" : true }, "object" : [ { "@" : { "comment" : "/* protect an object with an identifier */" , "protect" : true }, "name" : "identifier", "@statement-name" : { "comment" : "/* protect a statement */" , "protect" : true } } ] } /* closing braces for parent hierarchies */ } } </configuration-json>
在使用 JSON 表示的 Junos OS 配置数据中,和"unprotect"
属性的值"protect"
为 Boolean 类型,用小写表示,不括在引号中。
在符合 YANG 的 NETCONF 会话中,您可以通过在语句的元数据对象中包含注释来保护或取消保护 JSON 数据 "junos-configuration-metadata:protect" : (true | false)
中的配置对象。有关更多信息,请参阅 Junos 设备的 YANG 元数据注释。
以下示例使用 Junos XML 标记元素保护 [edit access]
配置的层次结构级别:
<rpc> <load-configuration> <configuration> <access protect="protect"/> </configuration> </load-configuration> </rpc>
一旦受到保护,任何修改 [edit access]
层次结构级别的尝试都会产生警告。以下 RPC 尝试删除 [edit access]
层次结构级别。由于该层次结构级别受到保护,服务器会返回该层次结构受到保护的警告,并且配置更改失败。
<rpc> <load-configuration> <configuration> <access delete="delete"/> </configuration> </load-configuration> </rpc> <xnm:warning xmlns="http://xml.juniper.net/xnm/1.1/xnm" xmlns:xnm="http://xml.juniper.net/xnm/1.1/xnm"> <message> [access] is protected, 'access' cannot be deleted </message> </xnm:warning>