Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用配置组快速配置设备

配置组用于设置和应用在相同配置内重复使用的常用元素。

了解配置组

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

配置组概述

您能够创建包含配置语句的组,并引导该组语句在其余配置中的继承。同一组可应用于配置的不同部分,一组配置语句的不同部分也可在配置的不同位置继承。

配置组使您能够创建更小、逻辑结构更合理的配置文件,从而更轻松地配置和维护瞻博网络设备。例如,您可以对配置中许多位置重复的语句进行分组,例如配置接口时,会将更新仅限于组。

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

配置组机制与其他配置(如 BGP 组)中其他位置使用的分组机制分开。配置组提供可在整个配置中使用但仅对 Junos OS CLI 已知的通用机制。执行配置指示的操作的单独软件进程可接收扩展形式的配置;他们不知道配置组。

继承模型

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

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

配置配置组

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

对于配置区域继承配置语句:

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

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

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

创建配置组

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

配置组使您能够创建更小、逻辑结构更合理的配置文件,从而简化设备配置的配置和维护。例如,您可以对配置中许多位置重复的语句进行分组,例如配置接口时,会将更新仅限于组。

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

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

此继承模型允许您仅查看实例特定的信息,而无需查看继承的详细信息。在配置模式下的命令管道允许您显示继承的数据。例如,可能需要将所有接口配置为 ge-0/0/1 1500 的MTU值。为此,您可创建一个组,其MTU 1500:

接下来,在接口配置中应用组。

查看继承的配置。

这样,如果您希望为配置MTU中的接口配置一个值,可以使用 apply-groups 选项应用 ge-0/0/1 group 语句。如果手动操作,后来想要增加MTU,可能必须手动更改每个接口。如果您使用了配置组,只需更改组配置,所有关联的接口都将自动更新。

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

应用配置组

要让瞻博网络配置从配置组继承语句,请包括 apply-groups 语句:

如果指定了一个以上的组名称,请按继承优先级顺序列出它们。第一组中的配置数据优先于后续组中的数据。

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

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

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

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

配置为根级别定义的组(即,在默认逻辑系统中)时,您无法在层次结构级别下将组成功应用于非默认 [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上应用,因此它使用hold-timelink-mode语句的默认值。

配置组可能会对路由器使用的实际值产生一些困惑,因为配置数据可以从配置组中继承。要查看路由器使用的实际值,请在display inheritanceshow命令中使用管道(|)后的命令。此命令在继承的语句被继承的级别上显示它们以及从中继承它们的组。

要显示扩展配置(包括继承语句的配置)(不带 # # 行),请在exceptshow命令中的管道后使用命令:

注:

使用选项display inheritance | except ##将移除所有行,带##。因此,您可能还无法查看有关所使用的密码和其他重要数据的##信息。要查看无需标记注释的所有信息的完整配置详细信息##,请使用no-comments以下display inheritance命令:

使用 junos 默认配置组

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

注:

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

不能在junos-defaultsapply-groups语句中将作为配置组名称包括在内。

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

对于junos-defaults 组中可用的参考语句,将选定junos- default-name语句包含在相应的层次结构级别。

在配置组中使用通配符

您可以使用通配符识别名称,并允许一条语句为各种语句提供数据。例如,将sonet-options语句配置对所有 SONET/SDH 接口或所有异步传输模式(ATM)接口上的 OSPF 的停顿间隔进行分组可简化配置文件并简化维护。

在正常配置数据中使用通配符的方式符合与传统 UNIX shell 通配符一起使用的样式。在此样式中,您可以使用以下元字符:

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

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

  • 开放括号 ( [ )—引入字符类。

  • 关闭括号 ( ] )—表示字符类的结束。如果缺少右括号,则左括号将匹配, [而不是引入字符类。

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

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

  • 感叹点 ( )—字符类可以通过将感叹点作为字符类 ! 的第一个字符来补充。要在字符类中包含]右括号(),请将其设置为列出的第一个字符!(如果有)。要包含减号,请将其作为列出的第一个或最后一个字符。

注:

如果在groups层次结构中使用,则标识符名称不能<以开头,除非您要定义通配符语句,在这种情况下,通配符语句>必须有结束。

配置组中的通配遵循相同的规则, <>groups层次结构下使用时具有特殊意义。在层次结构中,使用通配符模式的任何术语都必须括在尖括号中<模式>以便与配置文件中其他通配符 groups 区分。

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

以下示例显示如何指定接口的范围:

尖括号允许您无需修改即可通过正常通配。无论是采用还是不使用通配符执行配置中的任何匹配,使用匹配的配置中遇到的第一项。在下面的示例中,来自通配符 BGP 组的数据将按照组列出的顺序进行继承。中的首选值<*a*>覆盖中<*b*>的首选项,就像p从中<*c*>覆盖的值<*d*>。来自这些组中任何一个的数据值都会覆盖中abcd的数据值。

使用配置组时改进提交时间

配置组用于跨其他层次结构应用配置,而无需重新输入配置数据。某些配置组指定每个配置详细信息。其他配置组使用通配符配置数据范围,而不详述每个配置行。某些配置具有继承路径,其中包含要应用的一串较长的配置。

提交使用配置组的配置时,提交过程会将该组的所有配置数据扩展并读入内存,以便按需应用配置。如果应用了许多配置组,则提交性能可能会受到负面影响,特别是在配置组广泛使用通配符的情况下。

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

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

示例:配置带配置组的语句集

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

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

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

您可以使用配置组将通用接口媒体参数与接口特定的寻址信息分离开来。下面的示例将 ATM 接口的配置数据放入名atm-options为的组中。

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

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

或者,为了对主设备进行路由引擎,您可以配置一个额外的 IP 地址,并使用此地址用于管理接口,无论哪路由引擎处于活动状态。此附加 IP 地址仅在主设备的管理接口上路由引擎。在切换期间,地址将移至新的主路由引擎。

在下例中,为两10.17.40.131个路由引擎都配置了地址,并master-only包含一个语句。借助此配置, 10.17.40.131 地址仅在主设备上路由引擎。无论哪个路由引擎处于活动状态,地址都保持一致。地址10.17.40.132fxp0分配给 on re0,并10.17.40.133分配给fxp0 on。 re1

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

注:
  • 如果为管理接口或内部接口配置相同的 IP 地址(例如fxp0和外部物理接口ge-0/0/1,例如在启用平滑路由引擎切换(GRES)时,CLI 将显示相应的提交错误消息,在私有和公共接口上发现相同的地址。在这种情况下,必须为具有重复地址的两个接口分配唯一的 IP 地址。

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

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

在此示例中,我们创建一个some-isp组,其中包含与其他互联网服务提供商(ISP)相关的配置数据。然后,我们可以apply-group在任意点插入语句,以允许配置层次结构中的任何位置继承此数据。

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

在此示例中,一个组中的配置数据在整个公司内是标准的,而另一个组则包含与此标准的地区偏差:

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

通配符是配置组名称,使用特殊字符创建可应用于多个语句的模式。在将一组配置选项复制到许多不同配置组时,通配符十分有用。正确设置通配符,确保通配符配置选项已复制到相应的配置组,这很重要。

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

示例:引用 Defaults Group 的预设语句

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

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

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

要查看已应用于设备配置的默认值,请发出 show | display inheritance defaults 命令。例如,要查看层级的继承 [edit system ports] 默认值,请进行以下操作:

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

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

设置路由引擎配置组

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

有关冗余交换系统和 re0 组的初始路由引擎配置详细信息,请参阅 Junos OS 高可用性用户指南

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

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

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

    • 对于 TX Matrix Plus 路由器,仅在路由矩阵中 T1600 或 T4000 路由器,并且 PTX 系列数据包传输路由器:

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

    • 对于 T1600 独立路由器(未连接到 TX Matrix Plus 路由器且不在路由矩阵中):

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

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

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

    • 对于 T1600 独立路由器(未连接到 TX Matrix Plus 路由器,而不是路由矩阵):

  10. 返回层次结构的最高级别。
  11. 指定组应用程序顺序。

使用条件应用配置组

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

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

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

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

此示例显示如何配置在哪个条件下应用指定的配置组。

要求

配置此示例之前,不需要除设备初始化之外的特殊配置,但应注意的是,此示例使用安全设备配置MX240测试。

概述

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

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

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

本示例设置配置组test1中的条件,因此仅当满足以下所有条件时才应用此组:路由器是采用机箱类型 LCC0 的型号 MX240 路由器,路由引擎作为 RE0 运行,是 node0 上的虚拟机箱 member0,并且配置组的9:00 生效日期为每天 5:00 p.m.。

配置

CLI 快速配置

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

操作

分步过程

要配置配置组test1的条件:

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

  2. 设置用于将机箱类型识别为 LCC0 的条件。

  3. 设置标识路由引擎操作的条件RE0

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

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

  6. 设置仅在每日上午9:00 和 5:00 p.m. 之间应用该组的条件。

    注:

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

  7. 提交配置。

成果

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

针对

使用条件数据检查组继承
用途

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

行动

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