物理接口的接口范围
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]-编号num1num2和指定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-oneint-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 命令验证此配置。