示例:保护 Junos OS 配置免遭修改或删除
此示例说明如何在配置模式下使用 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
结果
语句的所有地址([172.17.28.19 172.17.28.20 172.17.28.21 172.17.28.22]) address
均受到保护。
保护单个成员免受同质列表
程序
逐步过程
假设您具有以下配置:
[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 命令验证层次结构是否受到保护
目的
检查配置层次结构是否受到保护。
行动
在配置模式下,在[edit]
层次结构级别发出show
命令,以查看受保护的所有配置层次结构和配置语句。
所有受保护的层次结构或语句都以字符串为 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 ]; } } } ...
尝试修改配置验证层次结构是否受到保护
目的
要尝试使用 activate
、 copy
、 rename
insert
和delete
命令修改配置,以验证配置是否受到保护。
行动
要验证配置是否受到保护:
尝试对
activate
copy
insert
顶层层次结构、子层级层次结构或层次结构内的语句使用 、 、rename
、 和delete
命令。对于受保护的层次结构或语句,Junos OS 会显示命令尚未执行的适当警告。例如:
protect: system { host-name a; inactive: domain-search [ a b ]; }
要验证层次结构是否受到保护,请尝试为
domain-search
语句发出activate
命令:[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>注:使用标记加载 XML 配置
unprotect="unprotect"
将不保护已经受保护的层次结构。例如,假设您加载以下 XML 层次结构:<protocols unprotect="unprotect"> <ospf> <area> <name>0.0.0.0</name> <interface> <name>all</name> </interface> </area> </ospf> </protocols>
[edit protocols]
如果层次结构已得到保护,则其将失去保护。