物理接口的接口范围
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
、 并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-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
接口范围定义中的所有 and 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
此配置。