物理接口的接口范围
Junos OS 允许您将一系列相同的接口分组到一个 接口范围中。首先指定接口范围中的相同接口组。然后,您可以将通用配置应用于指定的接口范围。接口范围减少了所需的配置语句数量。它们节省时间并产生紧凑的配置。
此任务将 Junos OS 用于不支持增强型第 2 层软件 (ELS) 配置样式的设备。如果您的设备运行的 Junos OS 版本支持 ELS,请参阅 通过 ELS 配置 EX 系列交换机的接口范围。有关 ELS 的详细信息,请参阅使用增强型第 2 层软件 CLI。
配置接口范围
要配置接口范围,请在层次结构级别使用该interface-range[edit interfaces]语句。该 interface-range 语句在其定义中仅接受物理网络接口名称。Junos OS 支持以下接口类型的接口范围:
-
自动柜员机:
at-fpc/pic/port -
通道化:
(coc | cstm)n-fpc/pic/port -
DPC:
xe-fpc/pic/port -
E1/E3:
(e1 | e3)-fpc/pic/port -
以太网:
(xe | ge | fe)-fpc/pic/port -
ISDN:
isdn-fpc/pic/port -
串行:
se-fpc/pic/port -
SONET/SDH:
so-fpc/pic/port -
T1/T3:
(t1 | t3)-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
-
若要指定成员范围,请在层次结构级别使用该
member-range start-range to end-range[edit interfaces interface-range range-name]语句。例如:[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、 并num2num3指定多个特定接口。
接口类型前缀不支持正则表达式和通配符。例如,前缀
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-range 语句member的数量没有限制。但是,定义interface-range中必须至少存在一个member或member-range语句。
interface-range只有 member or member-range 语句而没有通用配置语句的定义是有效的。但是,您可以选择将通用配置语句作为定义的一部分 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) 命令。
支持的层次结构
默认情况下, interface-range 不可用于在语句可用的 CLI interface 中进行配置。支持以下位置。但是,此列表中显示的某些层次结构是特定于产品的:
-
ethernet-switching-options analyzer name input [egress | ingress ] interface -
ethernet-switching-options analyzer name output interface -
ethernet-switching-options bpdu-block interface -
ethernet-switching-options interfaces ethernet-switching-options voip interface -
ethernet-switching-options redundant-trunk-group group g1 interface -
ethernet-switching-options secure-access-port interface
-
poe interface vlans pro-bng-mc1-bsd1 interface -
protocols dot1x authentication interface -
protocols dvmrp interface -
protocols esis interface -
protocols gvrp interface -
protocols igmp interface -
protocols igmp-snooping vlan name interface -
protocols igmp-host client num interface -
protocols isis interface -
protocols layer2-control bpdu-block interface -
protocols layer2-control mac-rewrite interface -
protocols ldp interface -
protocols link-management peer control-channel -
protocols link-management peer lmp-control-channel interface -
protocols link-management te-link name interface -
protocols lldp interface -
protocols lldp-med interface -
protocols mld interface -
protocols mld-host client num interface -
protocols mpls interface -
protocols mstp interface -
protocols mstp msti id interface -
protocols mstp msti vlan id interface -
protocols oam ethernet link-fault-management interface -
protocols oam ethernet lmi interface -
protocols ospf area id interface -
protocols pim interface -
protocols rip group name neighbour -
protocols ripng group name neighbour -
protocols router-advertisement interface -
protocols router-discovery interface -
protocols rstp interface -
protocols rsvp interface -
protocols sflow interfaces -
protocols snmp interface -
protocols stp interface -
protocols vstp interface -
protocols vstp vlan name interface
扩展接口范围语句
作系统将扩展接口范围定义中的所有 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 继承 mtu 500 自接口范围 int-grp-one ,因为它是第一个定义的。
成员接口的配置继承
member展开 中interface-range存在的 and member-range 语句时Junos OS,如果未在配置中显式定义接口对象,则会创建接口对象。操作系统将通用配置复制到接口范围的所有成员接口。
前台接口配置优先于接口从接口范围配置继承的配置。
在此示例中,接口 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/0 到 et-4/0/40 同时配置了两者 hold-time 和 mtu 配置。
配置组继承
接口范围成员接口从配置组继承配置,就像任何其他前台配置一样。唯一的区别是,在作系统 读取此配置之前,会 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;
}另请参阅
使用接口范围的配置扩展
在此示例中, 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 此配置。