示例:保护 Junos OS 配置不被修改或删除
此示例说明如何在配置模式下使用 and protect
unprotect
命令来保护和取消保护 CLI 配置。
要求
此示例使用以下硬件和软件组件:
M 系列、MX 系列、PTX 系列或 T 系列设备
在所有设备上运行的 Junos OS 11.2 或更高版本
概述
Junos OS 使您能够保护设备配置不被其他用户修改或删除。这可以通过在 CLI 的配置模式中使用命令来实现 protect
。同样,您也可以使用 unprotect
命令取消保护受保护的配置。
这些命令可用于配置层次结构的任何级别 — 顶级父层次结构或配置语句或层次结构最低级别的标识符。
如果配置层次结构受保护,则用户无法执行以下活动:
删除或修改受保护层次结构中的层次结构、语句或标识符
在受保护的层次结构中插入新的配置语句或标识符
重命名受保护层次结构中的语句或标识符
将配置复制到受保护的层次结构中
激活或停用受保护层次结构中的语句
批注受保护的层次结构
拓扑学
保护父级层次结构
保护子层次结构
保护层次结构中的配置语句
保护配置语句的标识符列表
程序
分步过程
某些配置语句可以采用多个值。例如, address
层次结构级别的语句 [edit system login deny-sources]
可以采用主机名、IPv4 地址或 IPv6 地址的列表。假设您具有以下配置:
[edit system login] deny-sources { address [ 172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]; }
要保护语句的所有 address
地址,请在级别 [edit]
使用以下命令:
[edit]
user@host# protect system login deny-sources address
结果
语句的所有 address
地址 ([172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]) 都受到保护。
保护单个成员免受同质列表的影响
程序
分步过程
假设您具有以下配置:
[edit groups ] test1 { system { name-server { 10.1.2.1; 10.1.2.2; 10.1.2.3; 10.1.2.4; } } }
要保护语句的 name-server
一个或多个单独地址,请在级别 [edit]
发出以下命令:
[edit] user@host#protect groups test1 system name-server 10.1.2.1
user@host#protect groups test1 system name-server 10.1.2.4
结果
地址 10.1.2.1 和 10.1.2.4 受到保护。
取消保护配置
程序
分步过程
假设您在层次结构级别具有 [edit system]
以下配置:
protect: system { host-name bigping; domain-search 10.1.2.1; login { deny-sources { protect: address [ 172.17.28.19 172.17.28.173 172.17.28.0 174.0.0.0 ]; } } }
要取消对整个 [edit system]
层次结构级别的保护,请在该 [edit]
级别发出以下命令:
[edit]
user@host# unprotect system
结果
整个 system
层次结构级别不受保护。
验证
使用 show 命令验证层次结构是否受到保护
目的
检查配置层次结构是否受到保护。
行动
在配置模式下,在层次结构级别发出show
[edit]
命令以查看受保护的所有配置层次结构和配置语句。
所有受保护的层次结构或语句都以 protect:
字符串为前缀。
... protect: system { host-name bigping; domain-search 10.1.2.1; login { deny-sources { protect: address [ 172.17.28.19 172.17.28.173 172.17.28.0 174.0.0.0 ]; } } } ...
通过尝试修改配置来验证层次结构是否受到保护
目的
要通过尝试使用 、rename
copy
insert
、 和 delete
命令修改activate
配置来验证配置是否受到保护。
行动
要验证配置是否受到保护,请执行以下操作:
尝试对顶级层次结构、子级别层次结构或层次结构中的语句使用
activate
、rename
copy
insert
、 和delete
命令。对于受保护的层次结构或语句,Junos OS 会显示相应的警告,指出命令尚未执行。例如:
protect: system { host-name a; inactive: domain-search [ a b ]; }
要验证层次结构是否受到保护,请尝试为语句发出
activate
domain-search
命令:[edit system]
user@host#
activate system domain-search
Junos OS CLI 会显示相应的消息:
warning: [system] is protected, 'system domain-search' cannot be activated
验证保护命令的用法
目的
查看 protect
用于保护配置的命令。
行动
导航到所需的层次结构。
show | display set relative
发出命令。
user@host> show | display set relative
set system host-name bigping
set system domain-search 10.1.2.1
set system login deny-sources address 172.17.28.19
set system login deny-sources address 172.17.28.173
set system login deny-sources address 172.17.28.0
set system login deny-sources address 174.0.0.0
protect system login deny-sources address
protect system
以 XML 格式查看配置
目的
检查受保护的层次结构或语句是否也显示在 XML 中。受保护的层次结构、语句或标识符与 XML 中的属性一起 | display xml
显示。
行动
要查看 XML 中的配置,请执行以下操作:
导航到要查看的层次结构。
将
show
命令与管道符号和选项| display xml
一起使用:[edit system]
user@host#
show | display xml
[edit] user@host# show system | display xml <rpc-reply xmlns:junos="http://xml.juniper.net/junos/11.2I0/junos"> <configuration junos:changed-seconds="1291279234" junos:changed-localtime="2017-12-02 00:40:34 PST"> <system protect="protect"> <host-name>bigping</host-name> <domain-search>10.1.2.1</domain-search> <login> <message> \jnpr \tUNAUTHORIZED USE OF THIS ROUTER \tIS STRICTLY PROHIBITED! </message> <class> <name>a</name> <allow-commands>commit-synchronize</allow-commands> <deny-commands>commit</deny-commands> </class> <deny-sources> <address protect="protect">172.17.28.19</address> <address protect="protect">172.17.28.173</address> <address protect="protect">172.17.28.0</address> <address protect="protect">174.0.0.0</address> </deny-sources> </login> <syslog> <archive> </archive> </syslog> </system> </configuration> <cli> <banner>[edit]</banner> </cli> </rpc-reply>注意:加载带有标记的
unprotect="unprotect"
XML 配置会取消保护已受保护的层次结构。例如,假设您加载以下 XML 层次结构:<protocols unprotect="unprotect"> <ospf> <area> <name>0.0.0.0</name> <interface> <name>all</name> </interface> </area> </ospf> </protocols>
[edit protocols]
如果层次结构已受到保护,则该层次结构将不受保护。