接口范围
接口范围表示具有组合在一起的通用配置的类似类型的接口。范围包含名称、范围和所有类似接口通用的配置语句。
了解交换机的接口范围
您可以使用接口范围对共享通用配置文件的相同类型的接口进行分组。这有助于减少在瞻博网络 EX 系列以太网交换机上配置接口的时间和工作量。所有接口通用的配置都可以包含在接口范围定义中。
接口范围定义包含所定义的接口范围的名称、不属于一系列接口的单个成员接口的名称、成员范围内定义的接口范围以及所有接口通用的配置语句。使用成员范围和单个成员定义但没有任何通用配置的接口范围也是一个有效的定义。
接口范围定义仅支持千兆、10 千兆和快速以太网接口。OCX 系列交换机不支持光纤通道接口。
从 Junos OS 14.1X53-D15 及更高版本开始,不会覆盖接口范围内定义的通用配置,而是追加到本地配置。在 14.1X53-D15 之前的 Junos OS 版本中,接口范围内定义的通用配置将被本地配置覆盖。
定义的接口范围可用于在以下配置层次结构中使用接口节点的位置:
表 1 列出了 EX 系列、NFX、OCX、QFX 系列和 QFabric 系列的配置层次结构。
EX 系列的配置层次结构 |
EX4600、NFX、QFX 系列和 QFabric 系统的配置层次结构 |
带有 ELS 的 EX 系列的配置层次结构 |
---|---|---|
|
注意:
OCX 系列交换机不支持这些语句。 |
有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。 |
另见
配置带有 ELS 的 EX 系列交换机的接口范围
此任务可使用支持增强型第 2 层软件 (ELS) 配置样式的 EX 系列交换机的 Junos OS。如果交换机运行的软件不支持 ELS,请参阅 配置接口范围。有关 ELS 的详细信息,请参阅 使用增强型第 2 层软件 CLI。
Junos OS 允许您将一系列相同的接口分组到 一个接口范围内。首先指定接口范围内的相同接口组。然后,您可以将通用配置应用到指定的接口范围,从而减少所需的配置语句数量并节省时间,同时生成紧凑的配置。
配置交换机上的接口范围
要配置接口范围,请在[edit interfaces]
层次结构级别包含interface-range
语句。
语 interface-range
句在其定义中仅接受物理网络接口名称。
接口可以分组为一系列接口,也可以在语句定义下 interface-range
使用数字范围进行分组。
接口范围定义中的接口可以添加为成员范围的一部分,也可以使用数字范围添加为单个成员或多个成员。
要指定成员范围,请在[edit interfaces interface-range name]
层次结构级别使用member-range
语句。
要按词法顺序指定接口,请使用语 member-range start-range to end-range
句。
成员语句的范围必须包含以下内容:
*—全部,指定从 0 到 47 的顺序接口。
谨慎:成员语句中的通配符 * 不考虑特定接口类型支持的接口号。无论接口类型如何, * 都包括接口组的接口编号从 0 到 47。因此,请谨慎使用成员语句中的 * 。
num—数字;通过其编号指定一个特定接口。
[low-high]
- 从低到高的数字;指定一系列顺序接口。[num1, num2, num3]
—数字 num1、 num2 和 num3 指定多个特定接口。
示例:指定接口范围成员范围
member-range ge-0/0/0 to ge-4/0/40;
要指定一个或多个成员,请在[edit interfaces interface-range name]
层次结构级别使用member
语句。
要使用正则表达式单独指定接口范围成员列表或为多个接口指定接口范围成员列表,请使用语 member list of interface names
句。
示例:指定接口范围成员
member ge-0/0/0; member ge-0/*/* member ge-0/[1-10]/0; member ge-0/[1,2,3]/3;
接口类型前缀不支持正则表达式或通配符。例如,必须明确提及前缀 ge、 fe 和 xe 。
接口范围定义可以同时包含成员和member-range
语句。接口范围内的成员或member-range
语句数量没有最大限制。但是,接口范围定义中必须至少存在一个成员或member-range
语句。
示例:接口范围通用配置
接口范围通用的配置可以添加为 接口范围 定义的一部分,如下所示:
[edit] interfaces { + interface-range foo { + member-range ge-1/0/0 to ge-4/0/40; + member ge-0/1/1; + member ge-5/[1-10]/*; /*Common configuration is added as part of interface-range definition*/ mtu 256; hold-time up 10; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } }
只有成员或member-range
语句而没有通用配置语句的接口范围定义是有效的。
这些定义的接口范围可用于其他配置层次结构中存在 接口 节点的位置。
示例:在协议层次结构下使用的接口范围 foo
protocols { dot1x { authenticator { interface foo{ retries 1; } } } }
Foo 应该是在层次结构级别定义的[interfaces]
接口范围。在上述示例中,接口节点既可以接受单个接口,也可以接受接口范围。
要查看扩展配置中的接口范围,请使用命令 (show | display inheritance)
。有关更多信息,请参阅 Junos OS CLI 用户指南。
定义的接口范围可用于使用接口节点的位置。要查看配置层次结构,请参阅 了解交换机的接口范围。
扩展接口范围语句
操作系统展开接口范围定义中的所有 member
和 member-range
语句,以生成指定接口范围的接口名称的最终列表。
展开前的配置示例如下所示:
[edit] interfaces { interface-range range1 { member-range et-0/0/0 to et-4/0/20; member et-10/1/1; member et-5/[0-5]/*; /*Common configuration is added as part of the interface-range definition*/ mtu 256; hold-time up 10; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } }
对于语member-range
句,在扩展成员时会考虑 和 end-range
之间start-range
所有可能的接口。例如,以下member-range
语句:
member-range et-0/0/0 to et-4/0/20
扩展为:
[et-0/0/0, et-0/0/1 ... et-0/0/max_ports et-0/1/0 et-0/1/1 ... et-0/1/max_ports et-0/2/0 et-0/2/1 ... et-0/2/max_ports . . et-0/MAX_PICS/0 ... et-0/max_pics/max_ports et-1/0/0 et-1/0/1 ... et-1/0/max_ports . et-1/MAX_PICS/0 ... et-1/max_pics/max_ports . . et-4/0/0 et-4/0/1 ... et-4/0/max_ports]
以下 member
语句:
et-5/[0-5]/*
扩展为:
et-5/0/0 ... et-5/0/max_ports et-5/1/0 ... et-5/0/max_ports . . et-5/5/0 ... et-5/5/max_ports
以下 member
语句:
et-5/1/[2,3,6,10]
扩展为:
et-5/1/2 et-5/1/3 et-5/1/6 et-5/1/10
成员接口的配置继承
当 Junos OS 扩展 member
中的 和 member-range
语句时,如果配置中未显式定义接口对象,则会创建这些接口interface-range
对象。操作系统将通用配置复制到接口范围的所有成员接口。
前台接口配置优先于接口从接口范围配置继承的配置。
在此示例中,接口 et-1/0/1
的 MTU 值为 1024,因为这是其前台配置:
interfaces { interface-range range1 { member-range et-1/0/0 to et-7/0/47; mtu 500; } et-1/0/1 { mtu 1024; } }
您可以在命令的输出 show interfaces | display inheritance
中验证这一点:
user@host: show interfaces | display inheritance ## ## 'et-1/0/0' was expanded from interface-range 'range1' ## et-1/0/0 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; } et-1/0/1 { mtu 1024; } ## ## 'et-1/0/2' was expanded from interface-range 'range1' ## et-1/0/2 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; } ......... ......... ## ## 'et-10/0/47' was expanded from interface-range 'range1' ## et-10/0/47 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; }
配置组继承
接口范围成员接口从配置组继承配置,就像任何其他前台配置一样。唯一的区别是, interface-range
在操作系统读取此配置之前,会经历成员接口扩展。
在此示例中, Junos OS 将 hold-time
配置应用于接口范围 range1
的所有成员:
groups { global { interfaces { <*> { hold-time up 10; } } } } apply-groups [global]; interfaces { interface-range range1 { member-range et-1/0/0 to et-7/0/47; mtu 500; } }
您可以使用 来验证这一点 show interfaces | display inheritance
,如下所示:
user@host# show interfaces | display inheritance [...] ## ## 'et-1/0/0' was expanded from interface-range 'range1' ## et-1/0/0 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ## ## 'et-1/0/1' was expanded from interface-range 'range1' ## et-1/0/1 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; } ## ## 'et-7/0/47' was expanded from interface-range 'range1' ## et-7/0/47 { ## ## '500' was expanded from interface-range 'range1' ## mtu 500; ## ## 'hold-time' was inherited from group 'global' ## '10' was inherited from group 'global' ## hold-time up 10; }
另见
通用配置继承
如果接口是多个接口范围的成员,则该接口将继承所有这些接口范围的通用配置。
例如:
[edit] interfaces { interface-range int-grp-one { member-range et-0/0/0 to et-4/0/40; mtu 256; } interface-range int-grp-two { member-range et-4/0/0 to et-4/0/40; hold-time up 10; } }
在此示例中,接口 et-4/0/0
通过 et-4/0/40
同时 hold-time
配置了和 mtu
。
配置继承优先级
接口范围按继承优先级顺序定义。第一个接口范围配置数据优先于后续接口范围。
在此示例中,接口 et-1/1/1
同时存在于接口范围 int-grp-one
和接口范围 int-grp-two
中:
[edit] interfaces { interface-range int-grp-one { member-range et-0/0/0 to et-4/0/47; member et-1/1/1; /*Common config is added part of the interface-range definition*/ mtu 500; hold-time up 10; } interface-range int-grp-two { member-range et-5/0/0 to et-7/0/47; member et-1/1/1; mtu 1024; } }
接口 et-1/1/1
继承 mtu 500
自接口范围 int-grp-one
,因为它是首先定义的。
使用接口范围的配置扩展
在此示例中, interface-range range1
在层次结构下 protocols
使用:
[edit] interfaces { interface-range range1 { member et-7/1/1; member et-5/0/1; mtu 500; hold-time up 10; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } protocols { dot1x { authenticator { interface range1 { retries 1; } } } } }
interface
下面的authenticator
节点扩展为接口范围range1
的成员接口,如下所示:
protocols { dot1x { authenticator { interface et-7/1/1 { retries 1; } interface et-5/0/1 { retries 1; } } } }
语 interface range-1
句扩展为两个接口,et-7/1/1 和 et-5/0/1,操作系统将复制这两个接口下的配置 retries 1
。
您可以使用 show protocols dot1x | display inheritance
命令验证此配置。