物理接口的接口范围
Junos OS Evolved 使您能够将一系列相同的接口分组为 一个接口范围。您首先指定接口范围内的相同接口组。然后,您可以将通用配置应用于指定的接口范围。接口范围可减少所需的配置语句数量。它们可以节省时间并产生紧凑的配置。
配置接口范围
要配置接口范围,请在层次结构级别上[edit interfaces]
使用 interface-range
语句。该interface-range
语句在其定义中仅接受物理网络接口名称。Junos OS Evolved 支持以太网接口的接口范围: et-fpc/pic/port
.
要配置接口范围:
-
interface-range
在层次结构级别使用[edit interfaces]
语句。包括为接口范围选择的名称。[edit] user@device# edit interfaces interface-range range-name
例如,要配置名为“range1”的接口范围:
[edit] user@device# edit interfaces interface-range range1
-
要指定成员范围,请在层次结构级别上
[edit interfaces interface-range range-name]
使用member-range start-range to end-range
语句。例如:[edit interfaces interface-range range1] user@device# set member-range et-1/0/0 to et-4/0/40
- 要指定单个成员,请在层次结构级别使用
member
[edit interfaces interface-range range-name]
语句。例如:[edit interfaces interface-range range1] user@device# set member et-0/0/0
- 您可以使用正则表达式和
member range of interface names
语句指定接口范围成员列表。成员语句的范围可以包含以下内容:-
*
-全部。指定从 0 到 47 的连续接口。谨慎:成员语句中的通配符
*
不会考虑特定接口类型支持的接口编号。无论接口类型如何,*
包括从 0 到 47 到接口组的接口编号。因此,请谨慎使用*
成员声明。 -
num
—编号。按其编号指定一个特定接口。 -
[low-high]
—从低到高的数字。指定一系列连续接口。 -
[num1, num2, num3]
-编号num1
num2
和指定num3
多个特定接口。
接口类型前缀不支持正则表达式和通配符。例如前缀
et
,xe
必须明确提及。例如:
[edit interfaces interface-range range1] user@device# set member et-0/*/* set member et-0/[1-10]/0 set member et-0/[1,2,3]/3
-
定义interface-range
中可以包含两个member
语句和member-range
语句。定义内interface-range
的语句数量member
和member-range
语句没有限制。但是,一个定义中至少必须存在一个member
或member-range
一个interface-range
语句。
只有interface-range
或member-range
语member
句且没有通用配置语句的定义是有效的。但是,您可以选择将通用配置语句添加至接口范围,作为定义的interface-range
一部分。例如:
[edit] interfaces { + interface-range range1 { + member-range et-1/0/0 to et-4/0/40; + member et-0/0/0; + member et-0/*/*; + member et-0/[1-10]/0; + member et-0/[1,2,3]/3; /*Common configuration is added as part of interface-range definition*/ mtu 500; ether-options { flow-control; speed { 100m; } 802.3ad primary; } } }
这些定义的接口范围可用于节点存在的地方 interface
的其他配置层次结构中。例如:
protocols { dot1x { authenticator { interface range1 { retries 1; } } } }
在前面的示例中 interface
,节点可以同时接受单个接口和接口范围。
要查看扩展配置中的接口范围,请使用 命令 (show | display inheritance)
。
扩展接口范围语句
操作系统会扩展接口范围定义中的所有 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
配置继承优先级
接口范围按继承优先级的顺序定义。第一个接口范围配置数据优先于后续接口范围。
在此示例中,接口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
从接口范围int-grp-one
继承mtu 500
,因为它是先定义的。
成员接口的配置继承
当 Junos OS Evolved 扩展member
中interface-range
存在的语member-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; }
通用配置继承
如果接口是多个接口范围的成员,则该接口将从所有这些接口范围继承通用配置。
例如:
[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/40
的et-4/0/0
接口同时hold-time
具有和mtu
配置。
配置组继承
接口范围成员接口从配置组继承配置,如任何其他前景配置。唯一的区别是, interface-range
操作系统读取此配置之前,会经过成员接口扩展。
在此示例中hold-time
,Junos OS Evolved 将配置应用于接口范围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; }
使用接口范围的配置扩展
在此示例中, 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
命令验证此配置。