Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用配置组快速配置设备

使用配置组设置并应用在同一配置中重复使用的通用元素。

配置组概述

本主题提供 CLI 中的 Junos OS 配置组和继承模型概述。

配置组的工作原理

配置组允许您创建包含配置语句的组,并在配置的其余部分指示该组语句的继承。同一组可应用于配置的不同部分。一组配置语句的不同部分可在配置中的不同位置继承。

配置组允许您创建更小、更逻辑构建的配置文件,从而更轻松地配置和维护瞻博网络设备。例如,您可以对配置中许多位置重复的语句进行分组,例如配置接口时。通过对语句进行分组,您可以仅将配置更新限制为该组。

您还可以在配置组中使用通配符。与通配符表达式匹配的任何对象将继承组配置数据。

配置组机制与配置中其他位置使用的分组机制(例如 BGP 组)分开。配置组提供一种通用机制,您可以在整个配置中使用,但 CLI 只知道该机制。执行配置所指示操作的单个软件进程将接收配置的扩展形式;他们不知道配置组。

继承模型

配置组使用真正的继承,这涉及到配置数据来源与该数据目标之间的动态持续关系。目标会自动继承配置组中更改的数据值。目标不需要包含继承的信息。但是,在目标中可以覆盖继承的值,而不会影响其继承来源。

此继承模型允许您仅查看特定于实例的信息,而无需查看继承的详细信息。配置模式中的命令管道使您能够显示继承的数据。

配置配置组

要使配置区域继承配置语句,必须首先将语句放入配置组。然后,您可将该组应用于配置层次结构中需要语句的级别。

有关配置区域以继承配置语句:

  1. 将语句配置为配置组。要配置配置组和继承,您可以在 [edit] 层次结构级别中包含组语句:

  2. 将配置组从步骤 1 应用于配置层次结构中需要语句的级别。

    apply-groups [ group-names ]在配置中需要配置组中包含配置语句的任意位置包括语句。

创建配置组

通过 Junos OS CLI,您可以创建包含配置语句的可重用组。您可以将这些组应用于配置的不同部分,其中重复多次相同的配置语句。

在配置的不同部分中应用该组时,该配置的一部分将继承在组中配置的语句。配置组遵循继承规则,在配置数据来源与数据目标之间设置动态的持续关系。如果更改配置组中的数据值,继承的目标将自动反映更改。

如有必要,您可以覆盖目标配置中的值,这不会影响组中的源。

此继承模型允许您仅查看特定于实例的信息,而无需查看继承的详细信息。配置模式中的命令管道使您能够显示继承的数据。例如,您可能需要为 1500 的 MTU 值配置所有 ge-0/0/1 接口。

要为 1500 的 MTU 值配置所有 ge-0/0/1 接口:

  1. 创建具有 MTU 值 1500 的组:

  2. 接下来,您可在接口配置中应用该组。

  3. 查看继承的配置。

如果要为配置不同部分的接口 ge-0/0/1 配置 MTU 值,可以使用 apply-groups 选项应用组语句。如果手动操作,后来想要增加 MTU,则可能需要手动更改每个接口。如果使用配置组,则可以更改组配置,从而自动更新所有关联接口。

您也可在配置组中使用通配符,以允许与通配符表达式匹配的任何对象继承配置数据。例如:

如何应用配置组

如果您希望瞻博网络设备配置继承配置组中的语句,请在配置中包含 apply-groups 语句。

如果指定多个组名称,则必须按继承优先级列出名称。第一组中的配置数据优先于后续组中的数据。

对于支持多个路由引擎的设备,您可以指定 re0re1 组名称。仅当当前路由引擎处于插槽 0 时,才应用组 re0 中指定的配置。同样,仅当当前路由引擎处于插槽 1 时,组 re1 中指定的配置才适用。因此,两个路由引擎都可以使用相同的配置文件,每个配置文件仅使用适用于它的配置语句。每个 re0re1 组至少包含主机名和管理接口 (fxp0) 的配置。如果每个路由引擎都使用不同的管理接口,则组还应包含备份路由器和静态路由的配置。

在配置层次结构的每个特定级别上,您只能包含一个 apply-groups 语句。apply-groups特定层次结构级别的语句列出了要添加到包含语句的配置组列表中的配置组。

在特定层次结构级别中指定的值覆盖从配置组继承下来的值。

嵌套语句中列出的 apply-groups 组优先于外部语句中的组。在以下示例中,BGP 邻接方 10.0.0.1 将从组 one 优先继承配置数据。然后从组和组twothree中继承配置数据。组 one 中的配置数据覆盖任何其他组中的数据。仅当其他任何组中不包含语句时,才会使用来自组 ten 的数据。

根级别是默认逻辑系统。配置为 root 级别定义的组时,您无法成功将该组应用到层次结构级别下不折不清的 [edit logical-systems logical-system-name] 逻辑系统。尽管如果应用该组,设备将接受提交,但配置组不会对非默默无的逻辑系统生效。相反,您可以在 root 级别创建一个附加配置组,并将其应用到逻辑系统中。或者,也可以修改原始组,使其同时包含默认和非默认逻辑系统层次结构级别的配置。

示例:创建和应用配置组

此示例说明了配置组的创建和应用。在此示例中,SNMP 配置分为组 basic 和正常配置层次结构。

通过将系统特定配置(SNMP 联系人)放入配置组,您可以获得多个优势,从而将其与正常配置层次结构分离开来:

  • 您可以使用 load replace 命令替换任一部分,而无需丢弃另一节中的数据。

  • 您可以为特定框设置联系人,因为组数据被设备特定的数据隐藏。

此配置等同于以下内容:

示例:禁用配置组的继承

您可以禁用配置组在任何级别(层次结构顶层除外)的继承。要禁用继承,请在配置中包含 apply-groups-except 语句:

在特定层次结构级别上使用语句时, apply-group 此语句很有用,但也想要替代为特定参数从配置组继承下来的值。

示例:禁用接口继承,所以-1/1/0

在以下示例中,语 apply-groups 句在全球接口级别应用。语apply-groups-except句也应用于接口so-1/1/0,以便使用和link-mode语句的hold-time默认值。

配置组可能会对设备使用的实际值造成一些混淆,因为设备可以从配置组继承配置数据。要查看设备使用的实际值,请在命令的管道 (|) show 后使用 display inheritance 命令。此命令显示继承的语句在继承级别及其继承的组:

要在不使用 ## 行的情况下显示扩展配置(配置,包括继承语句),请在命令中show管道之后使用 except 命令:

注:

使用 该 display inheritance | except ## 选项可 ##使用 。因此,您可能无法查看有关使用密码或其他重要数据 ## 的信息。要查看所有信息的完整配置详细信息(而不只是标记为 ##注释),请使用 no-comments 命令选项 display inheritance

示例:junos-defaults使用配置组

Junos OS 提供了一个隐藏且不可变的配置组,称为 junos-defaults 自动应用于设备的配置。该 junos-defaults 组包含预配置的语句,其中包含通用应用程序的预定义值。必须引用某些语句才能生效,例如应用程序定义(例如 FTP 或 telnet 设置)。其他语句将自动应用,例如终端设置。

注:

配置组中 junos-defaults 包含的许多标识以名称 junos-开头。由于以名称 junos- 开头的标识符保留供瞻博网络使用,因此不能使用此名称定义任何配置对象。

您不能在语句中apply-groups包含junos-defaults为配置组名称。

要查看 junos-defaults 组中的完整可用预设语句,请在配置的顶层发出 show groups junos-defaults 配置模式命令。以下示例显示部分 Junos 默认组列表:

要参考组提供的 junos-defaults 语句,请在适用层次结构级别中包含所选 junos- default-name 语句。

示例:使用通配符与配置组

您可以使用通配符识别名称,并允许一个语句为各种语句提供数据。

在正常配置数据中使用通配符的样式与传统 UNIX 外壳通配符一致。在这种风格中,您可以使用以下元反应器:

  • 星号 ( * )— 匹配任意字符串。

  • 问号 ( ? )— 匹配任何单个字符。

  • 开放式托架 ( [ )— 引入字符类。

  • 闭合托架 ( ] )— 指示字符类的末端。如果缺少关闭托架,则开放托架将匹配开放托架 [ ,而不是引入字符类。

  • 字符类与方括号之间的任何字符匹配。在配置组中,您必须用引号括起来标记包含字符类的接口名称。

  • 连字符 ( - )— 指定一系列字符。

  • 惊叹点 ( ! )— 您可以将感叹号作为字符类的第一个字符来补充字符类。要在字符类中包括一个闭合托架 (]),请使其成为列出的第一个字符(之后 !,如果有)。要包含减号,请将其列为列出的第一个或最后一个字符。

注:

如果在层次结构中 groups 使用标识符,请使用其他 <内容启动标识符名称。但是,如果您定义通配符语句,则可以使用<,因为通配符语句必须具有关闭。>

在配置组中使用通配符遵循与使用它们进行正常配置相同的规则。但是, <> 层次结构下 groups 使用时具有特殊意义。在 groups 层次结构中,您必须使用通配符模式<pattern 将任何术语括在尖括号中>以使其与配置文件中的其他通配符区分开来。

通配符表达式与仅与其表达式匹配的配置中的现有语句匹配(并提供配置数据)。在上一个示例中,该表达式将其sonet-options语句<so-*>传递至与表达式so-*匹配的任何接口。

以下示例说明如何指定接口范围:

尖括号允许您在不修改的情况下通过正常的通配符。在配置中的任何匹配中,无论是使用通配符还是不使用通配符,都使用匹配的配置中遇到的第一项。在以下示例中,通配符 BGP 组的数据按照列出组的顺序继承。

  • 提供的优先级值 <*a*> 替代了 中的 <*b*>优先级。
  • p 价值 <*c*> 超越了 <*d*>

这些组中任何一个组的数据值凌驾于以下数据值 abcd之外:

如何在使用配置组时缩短提交时间

您可使用配置组在其他层次结构中应用配置,而无需重新输入配置数据。您可以指定配置组中的每一个配置详细信息。您还可以在配置组中使用通配符来配置数据范围,而无需详细说明每个配置行。使用配置组的另一种方式是创建包含一长串要应用配置的继承路径。

提交使用配置组的配置时,提交流程会扩展并读取组的所有配置数据,并将其读取到内存中,以便根据需要应用配置。如果应用了许多配置组,提交性能可能会受到负面影响,特别是当配置组广泛使用通配符时。

如果您的系统使用许多使用通配符的配置组,则可以在层次结构级别配置 persist-groups-inheritance 语句 [edit system commit] 以提高提交时间性能。

使用此选项,系统可以为数据库内的每个配置组构建继承路径,而不是在进程内存中。这种变化可以提高提交时间性能。但是,它还可以增加数据库大小。

示例:使用配置组配置语句集

当配置组中存在语句集时,所有值都会被继承。例如:

对于未显示在托架内的集,所有值也将继承。例如:

示例:使用配置组配置接口

您可以使用配置组将通用接口介质参数与特定于接口的寻址信息分开。以下示例将 ATM 接口的配置数据放入一个名为 的 atm-options组中。

示例:使用配置组为管理接口配置一致的 IP 地址

在具有多个路由引擎的设备上,每个路由引擎都配置了管理接口的单独 IP 地址。要访问主路由引擎,您必须知道哪些路由引擎处于活动状态,并使用相应的 IP 地址。

对主路由引擎进行一致访问的另一个选项是配置附加 IP 地址。然后,无论哪种路由引擎处于活动状态,都可将此地址用于管理接口。此附加 IP 地址仅在主路由引擎的管理接口上处于活动状态。切换期间,地址会移动到新的主路由引擎。

此示例为两个路由引擎配置地址 10.17.40.131 ,并包含一个 master-only 语句。使用此配置时, 10.17.40.131 地址仅在主路由引擎上处于活动状态。无论哪个路由引擎处于活动状态,地址都保持一致。地址 10.17.40.132 被分配给 fxp0 打开 re0,并 10.17.40.133 分配给 fxp0re1

此功能适用于包含双路由引擎的所有路由器。在由 TX Matrix 路由器组成的路由矩阵中,此功能仅适用于交换卡机箱 (SCC)。同样,在由 TX Matrix Plus 路由器组成的路由矩阵中,此功能仅适用于交换机结构机箱 (SFC)。

注:
  • 您必须为在专用接口和公共接口上具有重复地址的两个接口分配唯一 IP 地址。启用平滑路由引擎切换 (GRES) 后,如果发现相同的地址,CLI 将显示适当的提交错误消息。如果为管理接口或内部接口(如 fxp0 和外部物理接口 ge-0/0/1等)配置相同的 IP 地址,则会出现此错误。

  • 管理 em0 以太网接口用于 TX Matrix Plus 路由器、路由矩阵中的 T1600 路由器和 PTX 系列数据包传输路由器。 Junos OS 自动创建设备的管理以太网接口 em0

示例:使用配置组配置对等实体

此示例会创建一个组 some-isp ,其中包含与另一个 ISP 有关的配置数据。然后,它会在各个点插入 apply-group 语句,以允许配置层次结构中的这些位置继承此数据。

示例:使用配置组建立区域配置

此示例中包含一个具有整个公司标准的配置数据的组,而另一个组包含与此标准的区域偏差:

示例:配置通配符配置组名称

通配符是使用特殊字符创建可应用于多个语句的模式的配置组名称。通配符可用于将一组配置选项复制到许多不同的配置组。您必须正确设置通配符名称,以确保通配符配置选项被复制到相应的配置组。

此示例可在语句下label-switched-path<*-major><*-minor>通配符组配置不同的值。星号 (*) 字符表示通配符名称的一个部分,可与任何字符串匹配。例如,下方label-switched-path <*-major>的配置选项将传递至label-switched-path metro-major其名称中包含-major的任何其他label-switched-path配置组。

示例:参考默认组的预设语句

以下示例是状态防火墙中 FTP 可用的默认组的预设语句:

要参考默认组的预设默认语句,请在适用的层次结构级别上包含语 junos-default-name 句。例如,要参考状态防火墙中的 FTP 默认语句,请在层次结构级别中[edit services stateful-firewall rule my-rule term my-term from applications]包含junos-ftp该语句:

示例:查看已应用于配置的默认语句

要查看已应用于设备配置的默认值,请发出 show | display inheritance defaults 命令。此示例在层次结构级别显示继承的 [edit system ports] 默认值:

如果您选择不使用现有默认语句,则可以手动创建自己的配置组。

要查看完整配置信息省略标记为 ##的任何注释,请使用 no-commentsdisplay inheritance 命令选项。

设置路由引擎配置组

在带有两个路由引擎的设备中,两个路由引擎应共享一个配置。此设置可确保两个路由引擎配置都相同。在此配置中,创建两个路由引擎组,每个路由引擎一个。在这些组中,您指定路由引擎特定参数。

有关冗余路由引擎系统和 re0 组初始配置的详细信息,请参阅 Junos OS High Availability User Guide

要设置路由引擎配置组:

  1. 创建配置组 re0。该 re0 组是一个特殊组设计器, RE0 仅在冗余路由平台中使用。
  2. 导航到 groups re0 配置层次结构的级别。
  3. 指定设备主机名。
    注:

    DNS 服务器不会使用设备配置中指定的主机名来解析到正确的 IP 地址。DNS 服务器使用此主机名在 CLI 中显示路由引擎的名称。例如,当您登录 CLI 时,主机名出现在命令行提示符中:

  4. 配置设备以太网接口的 IP 地址和前缀长度。
    • 对于路由矩阵中除 TX Matrix Plus 路由器、T1600 或 T4000 路由器以及 PTX 系列数据包传输路由器 以外的 所有设备:

    • 对于 TX Matrix Plus 路由器、仅限路由矩阵中的 T1600 或 T4000 路由器以及 PTX 系列数据包传输路由器:

      em0要用作带外管理以太网接口,必须使用有效的 IP 地址配置其逻辑端口em0.0

  5. 返回顶级层次结构。
  6. 创建配置组 re1
  7. 导航到 groups re1 配置层次结构的级别。
  8. 指定设备主机名。
  9. 配置设备以太网接口的 IP 地址和前缀长度。
    • 对于路由矩阵中除 TX Matrix Plus 路由器、T1600 或 T4000 路由器以及 PTX 系列数据包传输路由器 以外的 所有设备:

    • 对于路由矩阵中的 TX Matrix Plus 路由器和 T1600 或 T4000 路由器:

      em0要用作带外管理以太网接口,必须使用有效的 IP 地址配置其逻辑端口em0.0

  10. 返回顶级层次结构。
  11. 指定组应用程序顺序。

如何使用条件应用配置组

您可以在[edit groups group-name]层次结构级别使用 语when句来定义应用配置组的条件。

您可以根据机箱类型、型号或路由引擎、 虚拟机箱 成员、群集节点以及开始和可选的当日或日期结束时间类型来配置组以应用。

例如,您可以使用语 when 句为每种类型的节点创建通用配置组,然后根据某些节点属性(如机箱或型号)应用配置。

示例:配置应用配置组的条件

此示例说明如何配置应用指定配置组的条件。

要求

配置此示例之前,无需设备初始化以外的特殊配置。

概述

您可以在 [edit groups group-name] 层次结构级别配置组配置数据。然后,您可以根据以下情况使用语 when 句应用组配置:机箱类型、型号、路由引擎、虚拟机箱成员、群集节点以及一天或日期的启动和可选结束时间。

如果在单个配置组中指定多个条件,则必须在应用配置组之前满足所有条件。

您可以指定要应用配置组的启动时间或时间。如果仅指定开始时间,则配置组在指定时间应用,并在更改时间之前一直有效。如果指定了结束时间,则在每天,应用配置组在指定时间启动并停止。

此示例会设置配置组中的条件, test1使此组仅在满足以下所有条件时才应用:路由器是型号 MX240 路由器,机箱类型 LCC0,路由引擎运行为 RE0,是节点0 上的虚拟机箱的成员,配置组仅在每天上午 9:00 至下午 5:00 之间生效。

配置

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,移除任何换行符,更改与网络配置匹配所需的任何详细信息,然后将命令复制粘贴到层次结构级别的 [edit] CLI 中。

程序

逐步过程

要为配置组 test1配置条件:

  1. 设置标识型号 MX240 路由器的条件。

  2. 设置将机箱类型标识为 LCC0 的情况。

  3. 设置将路由引擎操作为 RE0的状态。

  4. 设置识别虚拟机箱 member0的条件。

  5. 设置识别集群 node0的条件。

  6. 设置仅在上午 9:00 到每天下午 5:00 之间应用该组的条件。

    注:

    指定时间的语法是:time <start-time> [to <end-time>] 使用时间格式 yyy-mm-dd.hh:mm、hh:mm 或 hh。

  7. 提交配置。

结果

在配置模式下,输入 show groups test1 命令以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

使用有条件数据检查组继承
目的

验证应用时配置组的有条件数据是否继承。

行动

show | display inheritance使用数据发出操作命令when以显示条件继承。使用此示例,您可以发出其中一个命令来确定条件数据是否继承: