CLI 配置模式概述
CLI 的 Junos OS 配置模式使您能够使用配置语句来设置、管理和监控设备属性来配置设备。
了解 CLI 配置模式
您可以配置所有 Junos OS 属性,包括接口、常规路由信息、路由协议和用户访问,以及多个系统硬件属性。
如 了解 Junos OS CLI 模式、命令和语句层次结构 所述,设备配置存储为语句层次结构。在配置模式下,您可以创建一组要使用的配置语句。输入完配置语句并确定它们完整且正确后,提交它们,这将激活设备上的配置。
您可以交互方式创建配置,也可以创建包含配置的 ASCII 文本文件,将其加载到设备上,然后提交。
配置模式命令
下表总结了每个 CLI 配置模式命令。命令按字母顺序组织。
命令 |
Description |
---|---|
|
|
|
向配置添加注释。只能在当前层次结构级别添加注释。 |
|
将一组更改提交到数据库,并使更改生效。 |
|
复制配置中的现有语句。 |
|
将 |
|
删除语句或标识符。指定语句路径中包含的所有从属语句和标识符都将随之删除。 |
|
在指定的语句层次结构内移动。如果语句不存在,则创建该语句。 |
|
退出语句层次结构的当前级别,返回到最后一个 edit 命令之前的级别,或退出配置模式。 |
|
管理 SDK 应用程序包提供的配置。通过显示或删除命名 SDK 应用程序包提供的用户定义配置来管理它们。扩展命令永远不会删除任何本机 Junos OS 包中定义的配置。 |
|
显示有关可用配置语句的帮助。 |
|
将标识符插入现有层次结构。 |
|
从 ASCII 配置文件或终端输入加载配置。发生加载操作时,将忽略配置层次结构中的当前位置。 |
|
退出语句层次结构的当前级别,返回到最后一个 edit 命令之前的级别,或退出配置模式。 |
|
重命名现有 配置语句 或标识符。 |
|
替换配置中的标识符或值。 |
|
返回到之前提交的配置。软件会保存最近 10 个提交的配置,包括回滚编号、日期、时间和发出 |
|
在不退出配置模式的情况下运行 CLI 命令。 |
|
将配置保存到 ASCII 文件。将保存语句层次结构的当前级别之前(包括该级别)的配置语句以及包含该语句层次结构的语句层次结构。此操作允许保存配置的一部分,同时完全指定语句层次结构。 |
|
创建语句层次结构并设置标识符值。此命令与 类似 |
|
显示当前配置。 |
|
显示当前正在编辑配置的用户。 |
|
返回到由横幅指示 |
|
在语句层次结构中上移一级。 |
|
更新私有数据库。 |
|
删除语句或标识符。指定语句路径中包含的所有从属语句和标识符都将随之删除。您可以使用正则表达式来指定模式。基于此模式,操作系统搜索包含这些模式的项目并将其删除。 |
配置语句和标识符
您可以通过在配置中包含相应的语句来配置设备属性。通常,语句由系统定义的关键字(固定文本)和可选标识符组成。标识符是您可以定义的标识名称,例如接口名称或用户名,它使您能够和 CLI 区分语句集合。
表 2 列出了顶级配置语句。有关每个配置语句的信息,请参阅 CLI 资源管理器 。
陈述 |
Description |
---|---|
|
配置质询握手身份验证协议 (CHAP)。 |
|
为接口和防火墙过滤器配置记帐统计信息数据收集。 |
|
配置路由器机箱的属性,包括激活告警的条件以及 SONET/SDH 成帧和串联属性。 |
|
配置服务等级参数。 |
|
配置根据数据包内容选择数据包的过滤器。 |
|
配置转发选项,包括流量采样选项。 |
|
配置配置群组。 |
|
配置接口信息,例如封装、接口、虚拟通道标识符 (VCI) 和数据链路连接标识符 (DLCI)。 |
|
配置路由策略,使您能够筛选和设置传入和传出路由中的属性。 |
|
配置路由协议,包括 BGP、IS-IS、LDP、MPLS、OSPF、RIP 和 RSVP。 |
|
配置一个或多个路由实例。 |
|
配置与协议无关的路由选项,例如静态路由、自治系统编号、联合成员和要记录的全局跟踪(调试)操作。 |
|
配置 IP 安全 (IPsec) 服务。 |
|
配置 SNMP 公共组字符串、接口、陷阱和通知。 |
|
配置系统范围的属性,包括主机名、域名、域名系统 (DNS) 服务器、用户登录名和权限、主机名和地址之间的映射以及软件进程。 |
配置语句层次结构
该 Junos OS 配置由语句层次结构组成。有两种类型的语句:
-
容器语句,它们是可以包含其他语句(包括附加容器语句或叶语句)的分支。位于层次结构顶部的容器语句被视为层次结构树的中继。
-
叶语句(由容器语句包含),不包含其他语句。
容器和叶语句构成配置层次结构。配置层次结构顶层的每个语句都驻留在层次结构树的干部。这些顶级语句是容器语句,包含构成树分支的其他语句。叶语句是层次结构树的叶子。从层次结构树的主干开始的单个语句层次结构称为语句路径。
下图显示了层次结构树,说明了协议配置层次结构中负责在 OSPF 区域中的接口上配置 hello-interval
语句的部分的语句路径。
该 protocols
语句是配置树主干中的顶级语句。、 ospf
area
和interface
语句都是更高语句的从属容器语句(它们是层次结构树的分支)。该 hello-interval
语句是树上的一个叶子,在本例中包含一个数据值,即 的长度 hello-interval
(以秒为单位)。
以下配置示例说明了语句层次结构,如 图 1中所示:
[edit protocols ospf area area-number interface interface-name]
该命令按如下方式显示配置:
protocols { ospf { area 0.0.0.0 { interface so-0/0/0 { hello-interval 5; } interface so-0/0/1 { hello-interval 5; } } } }
CLI 缩进层次结构中的每个级别,以指示每个语句在层次结构中的相对位置。此外,通常,它用大括号衬托每个级别,在每个层次结构级别的开头使用左大括号,在末尾使用右大括号。如果层次结构级别的语句为空,则不打印大括号。
每个叶语句都以分号结尾。如果层次结构未扩展到叶语句,则层次结构中的最后一个语句以分号结尾。
配置层次结构还可以在层次结构的最低级别包含“单行”。Oneliner 删除语法中的一级大括号,并在一行上显示容器语句、其标识符、子语句或叶语句及其属性。
例如,dynamic-profile dynamic-profile-name aggregate-clients;
是单行代码,因为在dynamic-profile
配置模式下运行show
命令时,语句、其标识符dynamic-profile-name
和叶语句aggregate-clients
都显示在一行上:
[edit forwarding-options]
user@host# show
dhcp-relay {
dynamic-profile dynamic-profile-name aggregate-clients;
}
进入和退出 CLI 配置模式
您可以通过进入配置模式并创建配置模式语句的层次结构来进行配置 Junos OS 。
要进入配置模式,请使用
configure
命令。进入配置模式后,可以使用以下配置模式命令:
user@host>
configure
entering configuration mode [edit] user@host#?
possible completions: <[Enter]> Execute this command activate Remove the inactive tag from a statement annotate Annotate the statement with a comment commit Commit current set of changes copy Copy a statement deactivate Add the inactive tag to a statement delete Delete a data element edit Edit a sub-element exit Exit from this level help Provide help information insert Insert a new ordered data element load Load configuration from ASCII file quit Quit from this level rename Rename a statement replace Replace character string in configuration rollback Roll back to previous committed configuration run Run an operational-mode command save Save configuration to ASCII file set Set a parameter show Show a parameter status Show users currently editing configuration top Exit to top level of configuration up Exit one level of configuration wildcard Wildcard operations [edit] user@host>注:进行配置更改时,请在退出之前提交这些更改。如果在不提交配置更改的情况下退出配置模式,则会丢失预期的更改。
您必须具有配置权限才能查看和使用
configure
命令。在配置模式下,您只能查看和修改您具有访问权限的语句。如果进入配置模式,而其他用户也处于配置模式,则会显示一条消息,显示该用户的姓名以及其他用户正在查看或编辑的配置部分:
user@host>
configure
Entering configuration mode Users currently editing the configuration: root terminal d0 (pid 4137) on since 2008-04-09 23:03:07 PDT, idle 7w6d 08:22 [edit] The configuration has been changed but not committed [edit] user@host#最多可以有 32 个用户同时处于配置模式,并且他们都可以同时对配置进行更改。
要退出配置模式,请从任何级别使用
exit configuration-mode
配置模式命令,或从顶级使用exit
命令。例如:[edit protocols ospf area 0.0.0.0 interface so-0/0/0] user@host#
exit configuration-mode
exiting configuration mode user@host>[edit] user@host#
exit
exiting configuration mode user@host>如果尝试使用命令退出
exit
fconfiguration 模式,并且配置包含尚未提交的更改,则会看到以下消息和提示:[edit] user@host#
exit
The configuration has been changed but not committed Exit with uncommitted changes? [yes,no]yes
Exiting configuration mode user@host>要使用未提交的更改退出而无需响应提示,请使用
exit configuration-mode
命令。使用脚本执行远程配置时,此命令很有用。[edit] user@host#
exit configuration-mode
The configuration has been changed but not committed Exiting configuration mode user@host>
另请参阅
相对配置模式命令
top
或up
命令后跟另一个配置命令(如 edit
、 insert
、 deactivate
delete
、 或 annotate
show
),使您能够快速移动到层次结构的顶部或正在配置的区域之上的级别。
要从层次结构顶部发出配置模式命令, top
请使用命令并指定配置命令。例如:
[edit interfaces fxp0 unit 0 family inet]
user@host# top edit system login
[edit system login]
user@host#
要从层次结构中更高的位置发出配置模式命令,请使用 up
配置模式命令。指定要在层次结构中上移的级别数,然后指定配置命令。例如:
[edit protocols bgp]
user@host# up 2 activate system
另请参阅
配置模式下的命令完成
本主题介绍如何在 CLI 配置模式下访问命令帮助和使用基本命令完成功能。在每种情况下,您都可以单独使用问号 (?
) 字符或与部分命令或配置语句一起使用来访问帮助。
要列出配置模式命令,请单独使用 ?
以下命令:
[edit]
user@host# ?
<[Enter]> Execute this command
activate Remove the inactive tag from a statement
annotate Annotate the statement with a comment
commit Commit current set of changes
copy Copy a statement
deactivate Add the inactive tag to a statement
delete Delete a data element
edit Edit a sub-element
exit Exit from this level
extension Extension operations
help Provide help information
insert Insert a new ordered data element
load Load configuration from ASCII file
quit Quit from this level
rename Rename a statement
replace Replace character string in configuration
rollback Roll back to previous committed configuration
run Run an operational-mode command
save Save configuration to ASCII file
set Set a parameter
show Show a parameter
status Show users currently editing configuration
top Exit to top level of configuration
up Exit one level of configuration
wildcard Wildcard operations
[edit]user@host#
要列出特定层次结构级别上可用的所有语句,请在要查看的层次结构级别的名称后使用 ?
。在此示例中,请参阅 edit
和 edit protocols
层次结构:
[edit] user@host#edit ?
Possible completions: > accounting-options Accounting data configuration > chassis Chassis configuration > class-of-service Class-of-service configuration > firewall Define a firewall configuration > forwarding-options Configure options to control packet sampling > groups Configuration groups > interfaces Interface configuration > policy-options Routing policy option configuration > protocols Routing protocol configuration > routing-instances Routing instance configuration > routing-options Protocol-independent routing option configuration > snmp Simple Network Management Protocol > system System parameters user@host#edit protocols ?
Possible completions: <[Enter]> Execute this command > bgp BGP options > connections Circuit cross-connect configuration > dvmrp DVMRP options > igmp IGMP options > isis IS-IS options > ldp LDP options > mpls Multiprotocol Label Switching options > msdp MSDP options > ospf OSPF configuration > pim PIM options > rip RIP options > router-discovery ICMP router discovery options > rsvp RSVP options > sapSession Advertisement Protocol options > vrrp VRRP options | Pipe through a command
若要列出以特定字符串或字母开头的所有命令,请输入字符串和/或字母,然后输入 ?
字符。此示例显示了以字母“a”开头的所有 routing-options
命令:
user@host# edit routing-options a?
Possible completions:
> aggregate Coalesced routes
> autonomous-system Autonomous system number
此示例显示所有已配置 xe-
的接口。您可以使用缩写 (ex) 的前两个字母和 ?
字符来显示这些接口:
user@host# edit interfaces ex?
<interface_name> Interface name
ex-0/2/0 Interface name
ex-0/2/1 Interface name
[edit]
您还可以显示所有已配置策略语句的列表:
user@host# show policy-options policy-statement ?
user@host# show policy-options policy-statement
<policy_name> Name to identify a policy filter
lo0only-v4 Name to identify a policy filter
lo0only-v6 Name to identify a policy filter
lo2bgp Name to identify a policy filter
另请参阅
配置层次结构中使用的表示法约定
在 CLI 配置模式下工作时,提示符前行上的横幅指示当前的层次结构级别。在以下示例中,级别为 [edit protocols ospf]
:
[edit protocols ospf] user@host#
Junos OS 文档用作 user@host#
标准配置模式提示符。在 CLI 会话中,提示符显示您的用户 ID 和您正在使用的瞻博网络设备的配置名称。
使用该 set ?
命令在当前级别显示可包含在配置中的语句。该 help apropos
命令还与上下文相关,仅在当前命令层次结构级别及以下级别显示匹配语句。
语句在每个层次结构和子层次结构中按字母顺序列出。如果子层次结构太长,以至于可能难以确定其结束位置及其下一个对等语句的开始位置,则会发生异常。对于很长的子层次结构,子层次结构将出现在其父层次结构的末尾,而不是按字母顺序显示。在此例外方案中,占位符显示在列出子层次结构的字母位置。
例如,在 [edit interfaces interface-name unit logical-unit-number]
层次结构级别, family family-name
子层次结构具有 20 多个子语句,其中包括具有自己的子语句的多个子层次结构。完整 family family-name
层次结构显示在其父层次结构 ([edit interfaces interface-name unit logical-unit-number]
) 的末尾,以下占位符显示在其字母顺序位置:
family family-name { ... the family subhierarchy appears after the main [edit interfaces interface-name unit logical-unit-number] hierarchy ... }
字母顺序的另一个例外是语句 disable
始终首先出现在包含它的任何层次结构中。