• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

04-二层技术-以太网交换配置指导

目录

05-VLAN配置

本章节下载 05-VLAN配置  (936.76 KB)

05-VLAN配置

目 

1 VLAN

1.1 VLAN简介

1.1.1 VLAN概述

1.1.2 VLAN报文封装

1.1.3 协议规范

1.2 VLAN配置限制和指导

1.3 配置VLAN

1.4 配置VLAN基本属性

1.5 配置VLAN接口

1.6 配置基于端口的VLAN

1.6.1 基于端口的VLAN简介

1.6.2 配置基于Access端口的VLAN

1.6.3 配置基于Trunk端口的VLAN

1.6.4 配置基于Hybrid端口的VLAN

1.7 配置基于MAC的VLAN

1.7.1 基于MAC的VLAN简介

1.7.2 配置基于MAC的VLAN

1.8 配置基于IP子网的VLAN

1.8.1 基于IP子网的VLAN简介

1.8.2 配置基于IP子网的VLAN

1.9 配置基于协议的VLAN

1.9.1 基于协议的VLAN简介

1.9.2 配置基于协议的VLAN

1.10 配置VLAN组

1.11 配置VLAN流量统计功能

1.12 VLAN显示和维护

1.13 基于端口的VLAN典型配置举例

1.14 基于MAC的VLAN典型配置举例

1.15 基于IP子网的VLAN典型配置举例

1.16 基于协议的VLAN典型配置举例

2 Super VLAN

2.1 Super VLAN简介

2.2 Super VLAN配置限制和指导

2.3 配置Super VLAN

2.4 Super VLAN显示和维护

2.5 Super VLAN典型配置举例

3 Private VLAN

3.1 Private VLAN简介

3.2 Private VLAN配置限制和指导

3.3 配置Private VLAN

3.4 Private VLAN显示和维护

3.5 Private VLAN典型配置举例(promiscuous模式)

3.6 Private VLAN典型配置举例(trunk promiscuous模式)

3.7 Private VLAN典型配置举例(trunk promiscuous & trunk secondary模式)

3.8 Secondary VLAN间三层互通配置举例

4 Voice VLAN

4.1 Voice VLAN简介

4.2 设备识别IP电话

4.2.1 OUI地址

4.2.2 通过LLDP自动识别IP电话

4.3 设备将Voice VLAN信息通告给IP电话

4.4 IP电话的接入方式

4.5 Voice VLAN的工作模式

4.5.1 Voice VLAN的自动模式和手动模式

4.5.2 Voice VLAN的安全模式和普通模式

4.6 Voice VLAN配置限制和指导

4.7 Voice VLAN配置任务简介

4.8 配置Voice VLAN

4.8.1 配置语音报文的QoS优先级

4.8.2 配置自动模式下的Voice VLAN

4.8.3 配置手动模式下的Voice VLAN

4.8.4 配置通过LLDP自动发现IP电话功能

4.8.5 配置通过LLDP通告Voice VLAN信息

4.8.6 配置通过CDP通告Voice VLAN信息

4.9 Voice VLAN显示和维护

4.10 Voice VLAN典型配置举例

4.10.1 自动模式下Voice VLAN的配置举例

4.10.2 手动模式下Voice VLAN的配置举例

 


1 VLAN

1.1  VLAN简介

1.1.1  VLAN概述

以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,带冲突检测的载波侦听多路访问)技术的共享通讯介质。采用以太网技术构建的局域网,既是一个冲突域,又是一个广播域。当网络中主机数目较多时会导致冲突严重、广播泛滥、性能显著下降,甚至网络不可用等问题。通过在以太网中部署网桥或二层交换机,可以解决冲突严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个物理LAN划分成多个逻辑的LAN——VLAN。处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通。这样,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域。如图1-1所示,VLAN 2内的主机可以互通,但与VLAN 5内的主机不能互通。

图1-1 VLAN示意图

 

VLAN的划分不受物理位置的限制:物理位置不在同一范围的主机可以属于同一个VLAN;一个VLAN包含的主机可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。

VLAN根据划分方式不同可以分为不同类型。基于端口划分VLAN是其中最简单、最有效的VLAN划分方式。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发该VLAN的报文。本章将介绍基于端口的VLAN。

VLAN的优点如下:

·     限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。

·     增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的主机不能和其他VLAN内的主机直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。

·     灵活构建虚拟工作组。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。

1.1.2  VLAN报文封装

要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址字段之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息。

图1-2 VLAN Tag的组成字段

 

图1-2所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。

·     TPID:协议规定TPID取值为0x8100时表示报文带有VLAN Tag,但各设备厂商可以自定义该字段的值。当邻居设备将TPID值配置为非0x8100时,为了能够识别这样的报文,实现互通,必须在本设备上修改TPID值,确保和邻居设备的TPID值配置一致。如果报文的TPID值为配置值或0x8100,则该报文被认为带有VLAN Tag。配置TPID值的相关命令请参见“二层技术-以太网交换命令参考”中的“QinQ”。

·     Priority:用来表示报文的802.1p优先级,长度为3比特,相关内容请参见“ACL和QoS配置指导/QoS”中的“附录”。

·     CFI:用来表示MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1比特。取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装。在以太网中,CFI取值为0。

·     VLAN ID:用来表示该报文所属VLAN的编号,长度为12比特。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。

网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。详细的处理方式请参见“1.6.1  基于端口的VLAN简介”。

说明

·     以太网支持Ethernet II、802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式,本文以Ethernet II型封装为例。802.3/802.2 LLC、802.3/802.2 SNAP和802.3 raw封装格式添加VLAN Tag字段的方式请参见相关协议规范。

·     对于携带有多层VLAN Tag的报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。

 

1.1.3  协议规范

与VLAN相关的协议规范有:

·     IEEE 802.1Q:IEEE Standard for Local and Metropolitan Area Networks-Virtual Bridged Local Area Networks

1.2  VLAN配置限制和指导

IRF3.1系统支持的VLAN ID范围以PEX设备的支持情况为准,请参见PEX设备的用户手册。

1.3  配置VLAN

1.4  配置VLAN基本属性

配置

命令

说明

进入系统视图

system-view

-

(可选)创建一个VLAN并进入VLAN视图,或批量创建VLAN

vlan { vlan-id-list | all }

缺省情况下,系统只有一个缺省VLAN(VLAN 1)

进入VLAN视图

vlan vlan-id

批量创建VLAN时,为必选;否则,无需执行本命令

指定VLAN的名称

name text

缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的名称为“VLAN 0100”

配置VLAN的描述信息

description text

缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的四位数编号,如果该VLAN的编号不足四位,则会在编号前增加0,补齐四位。例如,VLAN 100的描述信息为“VLAN 0100”

 

说明

·     VLAN 1为系统缺省VLAN,用户不能手工创建和删除。

·     动态学习到的VLAN,以及被其他应用锁定不让删除的VLAN,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。

 

1.5  配置VLAN接口

注意

接口下的某些配置恢复到缺省情况后,会对设备上当前运行的业务产生影响。建议您在执行default命令前,完全了解其对网络产生的影响。

 

不同VLAN间的主机不能直接通信,通过在设备上创建并配置VLAN接口,可以实现VLAN间的三层互通。

VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,此时该VLAN接口能对需要跨网段的报文进行三层转发。

配置VLAN接口基本属性时,需要注意:

·     在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。

·     不能对Sub VLAN及在Primary VLAN interface下配置了三层互通的Secondary VLAN创建对应的VLAN接口。有关Sub VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Super VLAN”;有关Secondary VLAN的详细介绍,请参见“二层技术-以太网交换配置指导”中的“Private VLAN”。

表1-1 配置VLAN接口基本属性

配置

命令

说明

进入系统视图

system-view

-

创建VLAN接口并进入VLAN接口视图

interface vlan-interface interface-number

如果该VLAN接口已经存在,则直接进入该VLAN接口视图

缺省情况下,不存在VLAN接口

配置VLAN接口的IP地址

ip address ip-address { mask | mask-length } [ sub ]

缺省情况下,未配置VLAN接口的IP地址

配置VLAN接口的描述信息

description text

缺省情况下,VLAN接口的描述信息为该VLAN接口的接口名,如“Vlan-interface1 Interface”

配置VLAN接口的MTU值

mtu size

缺省情况下,VLAN接口的MTU值为1500字节

(可选)配置处理接口流量的slot

(独立运行模式)

service slot slot-number

(IRF模式)

service chassis chassis-number slot slot-number

缺省情况下,未配置处理接口流量的slot

当要求同一个VLAN接口的流量必须在同一个slot上进行处理时,可以在VLAN接口下配置处理接口流量的slot

(可选)配置VLAN接口的期望带宽

bandwidth bandwidth-value

缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)

(可选)恢复VLAN接口的缺省配置

default

-

(可选)取消手工关闭VLAN接口

undo shutdown

-

 

1.6  配置基于端口的VLAN

1.6.1  基于端口的VLAN简介

基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,该端口就可以转发该VLAN的报文。

用户可以配置端口的链路类型及缺省VLAN,其中,链路类型决定了端口能否加入多个VLAN。

1. 端口的链路类型

端口的链路类型分为三种,不同链路类型的端口在转发报文时对VLAN Tag的处理方式不同:

·     Access:端口只能发送一个VLAN的报文,发出去的报文不带VLAN Tag。一般用于和不能识别VLAN Tag的用户终端设备相连,或者不需要区分不同VLAN成员时使用。

·     Trunk:端口能发送多个VLAN的报文,发出去的端口缺省VLAN的报文不带VLAN Tag,其他VLAN的报文都必须带VLAN Tag。通常用于网络传输设备之间的互连。

·     Hybrid:端口能发送多个VLAN的报文,端口发出去的报文可根据需要配置某些VLAN的报文带VLAN Tag,某些VLAN的报文不带VLAN Tag。在一些应用场景下,需要使用Hybrid端口的功能。比如在1:2 VLAN映射中,服务提供商网络的多个VLAN的报文在进入用户网络前,需要剥离外层VLAN Tag,此时Trunk端口不能实现该功能,因为Trunk端口只能使该端口缺省VLAN的报文不带VLAN Tag通过。有关1:2 VLAN映射的详细介绍,请参见“二层技术-以太网交换配置指导”中的“VLAN映射”。

2. 端口缺省VLAN

除了可以配置端口允许通过的VLAN外,还可以配置端口的缺省VLAN,即端口VLAN ID(Port VLAN ID,PVID)。当端口收到Untagged报文时,会认为该报文所属的VLAN为缺省VLAN。

·     Access端口的缺省VLAN就是它所在的VLAN。

·     Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置端口缺省VLAN。

·     当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN 1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为端口缺省VLAN。

说明

·     建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。

·     建议保证端口的缺省VLAN为端口允许通过的VLAN。如果端口不允许某VLAN通过,但是端口的缺省VLAN为该VLAN,则端口会丢弃收到的该VLAN的报文或者不带VLAN Tag的报文。

 

3. 端口对报文的处理方式

在配置了端口链路类型和端口缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-2

表1-2 不同链路类型端口收发报文的差异

端口类型

对接收报文的处理

对发送报文的处理

当接收到的报文不带Tag时

当接收到的报文带有Tag时

Access端口

为报文添加端口缺省VLAN的Tag

·     当报文的VLAN ID与端口的缺省VLAN ID相同时,接收该报文

·     当报文的VLAN ID与端口的缺省VLAN ID不同时,丢弃该报文

去掉Tag,发送该报文

Trunk端口

·     当端口的缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加端口缺省VLAN的Tag

·     当端口的缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·     当报文的VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文

·     当报文的VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文

·     当报文的VLAN ID与端口的缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文

·     当报文的VLAN ID与端口的缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文

Hybrid端口

当报文的VLAN ID是端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN的报文时是否携带Tag

 

说明

缺省情况下,对于Untagged报文的处理顺序为:基于MAC的VLAN->基于IP子网的VLAN->基于协议的VLAN->基于端口的VLAN。

 

1.6.2  配置基于Access端口的VLAN

配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在接口视图下进行配置。

表1-3 配置基于Access端口的VLAN(在VLAN视图下)

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

向当前VLAN中添加一个或一组Access端口

port interface-list

缺省情况下,系统将所有端口都加入到VLAN 1

 

表1-4 配置基于Access端口的VLAN(在接口视图下)

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

·     二层以太网接口视图:
interface
interface-type interface-number

·     二层聚合接口视图:
interface bridge-aggregation
interface-number

·     S通道接口视图:
interface s-channel
interface-number.channel-id

·     聚合S通道接口视图:
interface
schannel-aggregation interface-number:channel-id

-

配置端口的链路类型为Access类型

port link-type access

缺省情况下,端口的链路类型为Access

将Access端口加入到指定VLAN

port access vlan vlan-id

缺省情况下,所有Access端口都属于VLAN 1

在将Access端口加入到指定VLAN之前,该VLAN必须已经存在

 

1.6.3  配置基于Trunk端口的VLAN

Trunk端口可以允许多个VLAN通过,只能在接口视图下进行配置。

配置基于Trunk端口的VLAN时,需要注意:

·     Trunk端口不能直接切换为Hybrid端口,只能先将Trunk端口配置为Access端口,再配置为Hybrid端口。

·     配置端口缺省VLAN后,必须使用port trunk permit vlan命令配置允许端口缺省VLAN的报文通过,接口才能转发端口缺省VLAN的报文。

表1-5 配置基于Trunk端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

·     二层以太网接口视图:
interface
interface-type interface-number

·     二层聚合接口视图:
interface bridge-aggregation
interface-number

·     S通道接口视图:
interface s-channel
interface-number.channel-id

·     聚合S通道接口视图:
interface
schannel-aggregation interface-number:channel-id

-

配置端口的链路类型为Trunk类型

port link-type trunk

缺省情况下,端口的链路类型为Access类型

允许指定的VLAN通过当前Trunk端口

port trunk permit vlan { vlan-id-list | all }

缺省情况下,Trunk端口只允许VLAN 1的报文通过

(可选)配置Trunk端口的缺省VLAN

port trunk pvid vlan vlan-id

缺省情况下,Trunk端口的缺省VLAN为VLAN 1

 

1.6.4  配置基于Hybrid端口的VLAN

Hybrid端口可以允许多个VLAN通过,只能在接口视图下进行配置。

配置基于Hybrid端口的VLAN时,需要注意:

·     Hybrid端口不能直接切换为Trunk端口,只能先将Hybrid端口配置为Access端口,再配置为Trunk端口。

·     在配置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。

·     配置端口缺省VLAN后,必须使用port hybrid vlan命令配置允许端口缺省VLAN的报文通过,出接口才能转发端口缺省VLAN的报文。

表1-6 配置基于Hybrid端口的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

·     二层以太网接口视图:
interface
interface-type interface-number

·     二层聚合接口视图:
interface bridge-aggregation
interface-number

·     S通道接口视图:
interface s-channel
interface-number.channel-id

·     聚合S通道接口视图:
interface
schannel-aggregation interface-number:channel-id

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,端口的链路类型为Access类型

允许指定的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

(可选)配置Hybrid端口的缺省VLAN

port hybrid pvid vlan vlan-id

缺省情况下,Hybrid端口的缺省VLAN为该端口在链路类型为Access时的所属VLAN

 

1.7  配置基于MAC的VLAN

1.7.1  基于MAC的VLAN简介

VLAN最常用的划分方式是基于端口划分,该方式为从同一端口进入的Untagged报文添加相同的VLAN Tag,在同一VLAN内进行转发处理。该方式配置简单,适用于终端设备物理位置比较固定的组网环境。随着移动办公和无线接入的普及,终端设备不再通过固定端口接入设备,它可能本次使用端口A接入网络,下次使用端口B接入网络。如果端口A和端口B的VLAN配置不同,则终端设备第二次接入后就会被划分到另一VLAN,导致无法使用原VLAN内的资源;如果端口A和端口B的VLAN配置相同,当端口B被分配给别的终端设备时,又会引入安全问题。如何在这样灵活多变的网络环境中部署VLAN呢?基于MAC的VLAN应运而生。

基于MAC的VLAN是根据报文的源MAC地址来划分VLAN。设备维护的MAC VLAN表记录了MAC地址和VLAN的对应关系。这种划分方法的最大优点就是当用户物理位置发生变化,VLAN不用重新配置。所以这种根据MAC地址的划分方法也称为基于用户的VLAN。

1. 手动配置静态MAC VLAN

手动配置静态MAC VLAN常用于VLAN中用户相对较少的网络环境。在该方式下,用户需要手动配置MAC VLAN表项,开启基于MAC地址的VLAN功能,并将端口加入MAC VLAN。其原理为:

·     当端口收到的报文为Untagged报文时,根据报文的源MAC地址匹配MAC VLAN表项。首先进行模糊匹配,即查询MAC VLAN表中掩码不是全F的表项,将源MAC地址和掩码相与运算后与MAC VLAN表项中的MAC地址匹配,如果完全相同,则模糊匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果模糊匹配失败,则进行精确匹配,即查询表中掩码为全F的表项。如果报文中的源MAC地址与某MAC VLAN表项中的MAC地址完全相同,则精确匹配成功,给报文添加表项中对应的VLAN Tag并转发该报文;如果没有找到匹配的MAC VLAN表项,则继续按照其他原则(基于IP子网的VLAN、基于协议的VLAN、基于端口的VLAN)确定报文所属的VLAN,给报文添加对应的VLAN Tag并转发该报文。

·     当端口收到的报文为Tagged报文时,如果报文的VLAN ID在该端口允许通过的VLAN ID列表里,则转发该报文;否则丢弃该报文。

2. 动态触发端口加入静态MAC VLAN

手动配置静态MAC VLAN时,如果不能确定从哪些端口收到指定VLAN的报文,就不能把相应端口加入到MAC VLAN。此时可以采用动态触发端口加入静态MAC VLAN的方式。在该方式下,配置MAC VLAN表项后,需要在端口上开启基于MAC的VLAN功能和MAC VLAN的动态触发功能,不需要手动把端口加入MAC VLAN。

配置动态触发端口加入静态MAC VLAN后,端口在收到报文时,首先判断报文是否携带VLAN Tag,若带VLAN Tag,则直接获取报文源MAC地址;若不带VLAN Tag,则先进行报文VLAN选择(按照基于MAC的VLAN->基于IP子网的VLAN->基于协议的VLAN->基于端口的VLAN的优先次序为该Untagged报文添加对应的VLAN Tag,并获取该VLAN Tag),再获取报文源MAC地址,然后根据报文的源MAC地址和VLAN查询静态MAC VLAN表项:

·     如果报文源MAC地址与MAC VLAN表项中的MAC地址精确匹配,再检查报文的VLAN ID是否与对应表项中的VLAN ID一致,若一致,通过该报文动态触发端口加入相应VLAN,同时转发该报文;否则丢弃该报文。

·     如果报文源MAC地址与MAC VLAN表项的MAC地址不精确匹配,当报文VLAN ID为PVID,判断端口是否允许报文在PVID内转发,若允许,则在PVID中转发该报文,否则丢弃该报文。当报文VLAN ID不为PVID,判断是否报文VLAN ID为Primary VLAN ID且PVID为对应的Secondary VLAN ID,若是,则转发该报文;否则丢弃该报文。处理流程如图1-3所示:

图1-3 动态触发端口加入静态MAC VLAN的处理

 

说明

·     在端口自动加入MAC VLAN表项中相应的VLAN时,若端口此前未配置允许该VLAN通过,则端口自动以Untagged方式加入该VLAN;若端口此前已配置允许该VLAN通过,则不改变原有配置。

·     如果用户在同一端口上同时开启了手动配置MAC VLAN和动态触发端口加入MAC VLAN,此时该端口选择使用后者的功能。

·     当端口收到的报文与MAC VLAN表项匹配,对该报文进行转发时,根据MAC VLAN的优先级(MAC地址对应VLAN的802.1p优先级)高低来决定报文传输的优先程度。

 

3. 动态MAC VLAN

动态MAC VLAN是由接入认证过程来动态决定接入用户报文所属的VLAN。该功能需要和接入认证功能(比如端口接入控制方式为MAC-based的802.1X)配合使用,以实现终端的安全、灵活接入。在设备上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置用户名和VLAN的绑定关系。

如果用户发起认证请求,接入认证服务器先对用户名和密码进行验证,如果验证通过,服务器下发VLAN信息。此时设备根据请求报文的源MAC地址和下发的VLAN信息生成动态MAC VLAN表项(要求与已有的静态MAC VLAN表项不能冲突),并将MAC VLAN添加到端口允许通过的VLAN列表中。用户下线后,设备自动删除MAC VLAN表项,并将MAC VLAN从端口允许通过的VLAN列表中删除。

有关接入认证功能的详细介绍请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

1.7.2  配置基于MAC的VLAN

1. 配置限制和指导

·     基于MAC的VLAN只对Hybrid端口配置有效。

·     使能了MAC VLAN功能后,该端口将不支持配置EVB功能,有关EVB的详细介绍,请参见“EVB配置指导”中的“EVB”。

·     Super VLAN不能作为MAC VLAN表项中的VLAN。

·     存在模糊匹配的MAC VLAN表项(掩码不是全F的表项)时,不支持通过vlan precedence ip-subnet-vlan命令优先根据IP子网来匹配VLAN。

·     基于MAC的VLAN功能主要在用户的接入设备的下行端口上进行配置。聚合组的成员端口不支持基于MAC的VLAN功能。

·     二层聚合接口不支持配置动态触发端口加入静态MAC VLAN。

2. 手动配置静态MAC VLAN

表1-7 手动配置静态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

配置MAC VLAN表项

mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ dot1p priority ]

缺省情况下,不存在MAC VLAN表项

进入二层以太网接口视图或二层聚合接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许基于MAC的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

(可选)配置接口优先根据MAC地址来匹配VLAN

vlan precedence mac-vlan

缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN

 

3. 配置动态触发端口加入静态MAC VLAN

配置动态触发端口加入静态MAC VLAN时,需要注意:

·     不建议配置模糊匹配的MAC VLAN表项(即掩码不是全F的表项),否则流量可能被丢弃。

·     端口配置了MAC VLAN的动态触发功能后,建议不要修改该端口的PVID。修改该端口的PVID将导致报文转发异常,要恢复正常,可以在该端口依次执行undo mac-vlan trigger enableundo mac-vlan enablemac-vlan enablemac-vlan trigger enable命令。

·     不建议MAC VLAN的动态触发功能和802.1X/MAC地址认证功能同时使用,否则会影响802.1X/MAC地址认证功能的正常工作。

·     不建议MAC VLAN的动态触发功能与MAC地址禁止学习功能或MAC地址数学习上限功能同时使用,否则部分流量可能被丢弃:

¡     同时配置MAC VLAN的动态触发功能与MAC地址禁止学习功能时,仅精确匹配了MAC VLAN的报文能够正常转发,未精确匹配的报文将被丢弃。

¡     同时配置MAC VLAN的动态触发功能与MAC地址数学习上限功能时,当接口学习到的MAC地址到达所配置的上限后,仅匹配MAC地址表中已学习到的表项的报文能够正常转发,其余报文将被丢弃。

·     MAC VLAN的动态触发功能生效的一个前提是,源MAC地址所匹配的VLAN必须是静态VLAN(本地手工创建的VLAN)。

·     配置MSTP情况下,如果端口在要加入的VLAN对应的MSTP实例中是阻塞状态,则端口会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发端口加入静态MAC VLAN,因此不建议本功能和多实例MSTP同时使用。

·     配置PVST情况下,如果端口要加入的VLAN不为端口允许通过的VLAN,则端口处于阻塞状态,会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发端口加入静态MAC VLAN,因此不建议本功能和PVST同时使用。

·     当端口配置了自动模式下的Voice VLAN,又配置本功能时,两个功能可能会相互影响,导致其中某个功能不可用。当端口同时配置了本功能和自动模式下的Voice VLAN,再取消其中任何一个功能的配置,会导致另一个功能不可用。因此不建议同一端口同时配置本功能和自动模式下的Voice VLAN。

表1-8 配置动态触发端口加入静态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

配置MAC VLAN表项

mac-vlan mac-address mac-address vlan vlan-id [ dot1p priority ]

缺省情况下,不存在MAC VLAN表项

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

开启MAC VLAN的动态触发功能

mac-vlan trigger enable

缺省情况下,MAC VLAN的动态触发功能处于关闭状态

开启MAC VLAN的动态触发功能后,只有端口接收的报文的源MAC地址精确匹配了MAC VLAN表项,才会动态触发该端口加入相应VLAN

(可选)配置接口优先根据MAC地址来匹配VLAN

vlan precedence mac-vlan

缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN

(可选)配置当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,禁止该报文在PVID内转发

port pvid forbidden

缺省情况下,当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,允许该报文在PVID内转发

 

4. 配置动态MAC VLAN

表1-9 配置动态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图或二层聚合接口视图

interface interface-type interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许基于MAC的VLAN通过当前Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

开启MAC VLAN功能

mac-vlan enable

缺省情况下,MAC VLAN功能处于关闭状态

配置接入认证功能

配置802.1X

请参见“安全命令参考”中的“802.1X”

二者至少选其一

配置MAC地址认证

请参见“安全命令参考”中的“MAC地址认证”

 

1.8  配置基于IP子网的VLAN

说明

基于IP子网的VLAN只对Hybrid端口配置有效,只对Untagged报文应用。

 

1.8.1  基于IP子网的VLAN简介

基于IP子网的VLAN(简称子网VLAN)是根据报文源IP地址及子网掩码来进行划分的。设备从端口收到Untagged报文后,会根据报文的源IP地址来确定报文所属的VLAN,然后将报文自动划分到指定VLAN中传输。

此特性主要用于将指定网段或IP地址的报文划分到指定的VLAN中传送。

1.8.2  配置基于IP子网的VLAN

表1-10 配置基于IP子网的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置VLAN与指定的IP子网或IP地址关联

ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ]

缺省情况下,VLAN未关联IP子网或IP地址

VLAN关联的IP网段或IP地址不允许是组播网段或组播地址

退回系统视图

quit

-

进入相应视图

·     二层以太网接口视图:
interface
interface-type interface-number

·     二层聚合接口视图:
interface bridge-aggregation
interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许子网VLAN通过当前端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

配置端口与子网VLAN关联

port hybrid ip-subnet-vlan vlan vlan-id

缺省情况下,端口未关联子网VLAN

 

1.9  配置基于协议的VLAN

说明

基于协议的VLAN只对Hybrid端口配置有效,只对Untagged报文应用。

 

1.9.1  基于协议的VLAN简介

基于协议的VLAN(简称协议VLAN)是根据端口接收到的报文所属的协议(族)类型以及封装格式来给报文分配不同的VLAN ID。可用来划分VLAN的协议有IP、IPX、AT(AppleTalk,Apple计算机网络协议)等,封装格式有Ethernet II、802.3 raw、802.2 LLC、802.2 SNAP等。

此特性主要应用于将网络中提供的服务类型与VLAN相关联,方便管理和维护。

协议VLAN由协议模板定义。协议模板是用来匹配报文所属协议类型的标准,由“协议类型+封装格式”组成。对于一个协议VLAN来说,其绑定的多个协议模板用协议索引(protocol-index)来区分;对于不同的协议VLAN来说,其绑定的协议模板用协议vlan-idprotocol-index来唯一标识。最后通过命令行将协议VLAN中的协议模板与端口绑定。

当端口收到Untagged报文时,如果该报文携带的协议类型和封装格式与某协议模板相匹配,则为其添加该协议模板绑定的协议vlan-id的VLAN Tag,否则为其添加PVID的VLAN Tag。

1.9.2  配置基于协议的VLAN

需要注意的是,协议VLAN特性要求Hybrid入端口的报文格式为Untagged的,而自动模式下的Voice VLAN只支持Hybrid端口对Tagged的语音流进行处理,因此,不能将某个VLAN同时配置为协议VLAN和Voice VLAN。

表1-11 配置基于协议的VLAN

操作

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置VLAN与指定的协议模板关联

protocol-vlan [ protocol-index ] { at | ipv4 | ipv6 | ipx { ethernetii | llc | raw | snap } | mode { ethernetii etype etype-id | llc { dsap dsap-id [ ssap ssap-id ] | ssap ssap-id } | snap etype etype-id } }

缺省情况下,当前VLAN未关联协议模板

退出VLAN视图

quit

-

进入相应视图

·     二层以太网接口视图:
interface
interface-type interface-number

·     二层聚合接口视图:
interface bridge-aggregation
interface-number

-

配置端口的链路类型为Hybrid类型

port link-type hybrid

缺省情况下,所有端口的链路类型均为Access类型

允许协议VLAN通过当前端口

port hybrid vlan vlan-id-list { tagged | untagged }

缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过

配置端口与协议VLAN关联

port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all }

缺省情况下,端口未关联协议VLAN

 

1.10  配置VLAN

VLAN组是一组VLAN的集合。VLAN组内可以添加多个VLAN列表,一个VLAN列表表示一组VLAN ID连续的VLAN。

认证服务器可以通过下发VLAN组名的方式为通过认证的802.1X用户下发一组授权VLAN。有关802.1X的详细介绍,请参见“安全配置指导”中的“802.1X”。

表1-12 配置VLAN组

操作

命令

说明

进入系统视图

system-view

-

创建一个VLAN组,并进入VLAN组视图

vlan-group group-name

缺省情况下,不存在VLAN组

在VLAN组内添加VLAN成员

vlan-list vlan-id-list

缺省情况下,当前VLAN组中不存在VLAN列表

可以多次在当前VLAN组内添加VLAN成员

 

1.11  配置VLAN流量统计功能

当您需要检查网络状况或者处理网络故障时,可以在设备上打开VLAN的流量统计功能,对通过VLAN的流量总数(包括所有单播、组播和广播报文)进行统计。

统计VLAN流量信息会占用一定的系统资源,请在不需要统计信息时及时关闭此功能。

VXLAN网络中,VLAN的流量统计功能对VTEP上SH系列接口板的用户侧端口的不带VLAN Tag的出方向报文和Tunnel接口的出方向报文不生效。

表1-13 配置VLAN流量统计功能

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

开启VLAN的流量统计功能

statistics enable

缺省情况下,VLAN流量统计功能处于关闭状态

 

1.12  VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。

在用户视图下执行reset命令可以清除VLAN接口统计信息。

表1-14 VLAN显示和维护

操作

命令

 

显示VLAN接口相关信息

display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ]

 

显示MAC VLAN表项

display mac-vlan { all | dynamic | mac-address mac-address [ mask mac-mask ] | static | vlan vlan-id }

 

显示所有开启了MAC VLAN功能的接口

display mac-vlan interface

 

显示端口关联的子网VLAN的信息

display ip-subnet-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all }

显示指定的或所有子网VLAN的信息

display ip-subnet-vlan vlan { vlan-id1 [ to vlan-id2 ] | all }

显示端口关联的协议VLAN的信息

display protocol-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all }

显示指定的或所有协议VLAN的信息

display protocol-vlan vlan { vlan-id1 [ to vlan-id2 ] | all }

显示VLAN相关信息

display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ]

 

显示设备上所有已创建VLAN的概要信息

display vlan brief

 

显示创建的VLAN组及其VLAN成员列表

display vlan-group [ group-name ]

 

显示设备上存在的Hybrid或Trunk端口

display port { hybrid | trunk }

 

显示指定VLAN的流量统计信息(独立运行模式)

display vlan vlan-id statistics [ slot slot-number ]

 

显示指定VLAN的流量统计信息(IRF模式)

display vlan vlan-id statistics [ chassis chassis-number slot slot-number ]

 

清除VLAN接口的统计信息

reset counters interface [ vlan-interface [ interface-number ] ]

 

清除指定VLAN的流量统计信息(独立运行模式)

reset vlan vlan-id statistics [ slot slot-number ]

 

(IRF模式)

reset vlan vlan-id statistics [ chassis chassis-number slot slot-number ]

 

 

1.13  基于端口的VLAN典型配置举例

1. 组网需求

·     Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。

·     为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。

2. 组网图

图1-4 基于端口的VLAN组网图

3. 配置步骤

(1)     配置Device A

# 创建VLAN 100,并将GigabitEthernet1/0/1加入VLAN 100。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] port gigabitethernet 1/0/1

[DeviceA-vlan100] quit

# 创建VLAN 200,并将GigabitEthernet1/0/2加入VLAN 200。

[DeviceA] vlan 200

[DeviceA-vlan200] port gigabitethernet 1/0/2

[DeviceA-vlan200] quit

# 为了使Device A上VLAN 100和VLAN 200的报文能发送给Device B,将GigabitEthernet1/0/3的链路类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port link-type trunk

[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 100 200

(2)     Device B上的配置与Device A上的配置相同,不再赘述。

(3)     将Host A和Host C配置在一个网段,比如192.168.100.0/24;将Host B和Host D配置在一个网段,比如192.168.200.0/24。

4. 验证配置

(1)     Host A和Host C能够互相ping通,但是均不能ping通Host B和Host D。Host B和Host D能够互相ping通,但是均不能ping通Host A和Host C。

(2)     通过查看显示信息验证配置是否成功。

# 查看Device A上VLAN 100和VLAN 200的配置信息,验证以上配置是否生效。

[DeviceA-GigabitEthernet1/0/3] display vlan 100

 VLAN ID: 100

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0100

 Name: VLAN 0100

 Tagged ports:

    GigabitEthernet1/0/3

 Untagged ports:

    GigabitEthernet1/0/1

[DeviceA-GigabitEthernet1/0/3] display vlan 200

 VLAN ID: 200

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0200

 Name: VLAN 0200

 Tagged ports:

    GigabitEthernet1/0/3

 Untagged ports:

    GigabitEthernet1/0/2

1.14  基于MAC的VLAN典型配置举例

1. 组网需求

·     如下图所示,Device A和Device C的GigabitEthernet1/0/1端口分别连接到两个会议室,Laptop1和Laptop2是会议用笔记本电脑,会在两个会议室间移动使用。

·     Laptop1和Laptop2分别属于两个部门,两个部门间使用VLAN 100和VLAN 200进行隔离。现要求这两台笔记本电脑无论在哪个会议室使用,均只能访问自己部门的服务器,即Server1和Server2。

2. 组网图

图1-5 基于MAC的VLAN组网图

3. 配置步骤

(1)     Device A的配置

# 创建VLAN 100和VLAN 200。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] quit

[DeviceA] vlan 200

[DeviceA-vlan200] quit

# 将Laptop1的MAC地址与VLAN 100关联,Laptop2的MAC地址与VLAN 200关联。

[DeviceA] mac-vlan mac-address 000d-88f8-4e71 vlan 100

[DeviceA] mac-vlan mac-address 0014-222c-aa69 vlan 200

# 配置终端的接入端口:Laptop1和Laptop2均可能从GigabitEthernet1/0/1接入,将GigabitEthernet1/0/1的端口类型配置为Hybrid,并使其在发送VLAN 100和VLAN 200的报文时去掉VLAN Tag;开启GigabitEthernet1/0/1端口的MAC VLAN功能。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

[DeviceA-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged

[DeviceA-GigabitEthernet1/0/1] mac-vlan enable

[DeviceA-GigabitEthernet1/0/1] quit

# 为了终端能够访问Server1和Server2,需要将上行端口GigabitEthernet1/0/2的端口类型配置为Trunk,并允许VLAN 100和VLAN 200的报文通过。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-type trunk

[DeviceA-GigabitEthernet1/0/2] port trunk permit vlan 100 200

[DeviceA-GigabitEthernet1/0/2] quit

(2)     Device B的配置

# 创建VLAN 100和VLAN 200,并将GigabitEthernet1/0/3加入VLAN 100,GigabitEthernet1/0/4加入VLAN 200。

<DeviceB> system-view

[DeviceB] vlan 100

[DeviceB-vlan100] port gigabitethernet 1/0/3

[DeviceB-vlan100] quit

[DeviceB] vlan 200

[DeviceB-vlan200] port gigabitethernet 1/0/4

[DeviceB-vlan200] quit

# 配置GigabitEthernet1/0/1和GigabitEthernet1/0/2端口为Trunk端口,均允许VLAN 100和VLAN 200的报文通过。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port link-type trunk

[DeviceB-GigabitEthernet1/0/1] port trunk permit vlan 100 200

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-type trunk

[DeviceB-GigabitEthernet1/0/2] port trunk permit vlan 100 200

[DeviceB-GigabitEthernet1/0/2] quit

(3)     Device C的配置

Device C的配置与Device A完全一致,这里不再赘述。

4. 显示与验证

(1)     Laptop1只能访问Server1,不能访问Server2;Laptop2只能访问Server2,不能访问Server1。

(2)     在Device A和Device C上可以查看到Laptop1和VLAN 100、Laptop2和VLAN 200的静态MAC VLAN地址表项已经生成。以Device A为例:

[DeviceA] display mac-vlan all

  The following MAC VLAN addresses exist:

  S:Static  D:Dynamic

  MAC address      Mask             VLAN ID  Priority    State

  000d-88f8-4e71   ffff-ffff-ffff   100       0          S

  0014-222c-aa69   ffff-ffff-ffff   200       0          S

 

  Total MAC VLAN address count: 2

1.15  基于IP子网的VLAN典型配置举例

1. 组网需求

如下图所示,办公区的主机属于不同的网段192.168.5.0/24和192.168.50.0/24,Device C在收到来自办公区主机的报文时,根据报文的源IP地址,使来自不同网段主机的报文分别在指定的VLAN中传输,其中,来自网段192.168.5.0/24的报文在VLAN 100中传输,来自网段192.168.50.0/24的报文在VLAN 200中传输。

2. 组网图

图1-6 基于IP子网的VLAN组网图

3. 配置步骤

(1)     配置Device C

# 配置子网192.168.5.0/24与VLAN 100关联。

<DeviceC> system-view

[DeviceC] vlan 100

[DeviceC-vlan100] ip-subnet-vlan ip 192.168.5.0 255.255.255.0

[DeviceC-vlan100] quit

# 配置子网192.168.50.0/24与VLAN 200关联。

[DeviceC] vlan 200

[DeviceC-vlan200] ip-subnet-vlan ip 192.168.50.0 255.255.255.0

[DeviceC-vlan200] quit

# 配置端口GigabitEthernet1/0/2为Hybrid端口,允许VLAN 100通过,并且在发送VLAN 100的报文时携带VLAN Tag。

[DeviceC] interface gigabitethernet 1/0/2

[DeviceC-GigabitEthernet1/0/2] port link-type hybrid

[DeviceC-GigabitEthernet1/0/2] port hybrid vlan 100 tagged

[DeviceC-GigabitEthernet1/0/2] quit

# 配置端口GigabitEthernet1/0/3为Hybrid端口,允许VLAN 200通过,并且在发送VLAN 200的报文时携带VLAN Tag。

[DeviceC] interface gigabitethernet 1/0/3

[DeviceC-GigabitEthernet1/0/3] port link-type hybrid

[DeviceC-GigabitEthernet1/0/3] port hybrid vlan 200 tagged

[DeviceC-GigabitEthernet1/0/3] quit

# 配置端口GigabitEthernet1/0/1为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。

[DeviceC] interface gigabitethernet 1/0/1

[DeviceC-GigabitEthernet1/0/1] port link-type hybrid

[DeviceC-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged

# 配置端口GigabitEthernet1/0/1和基于IP子网的VLAN 100、200关联。

[DeviceC-GigabitEthernet1/0/1] port hybrid ip-subnet-vlan vlan 100

[DeviceC-GigabitEthernet1/0/1] port hybrid ip-subnet-vlan vlan 200

[DeviceC-GigabitEthernet1/0/1] quit

(2)     配置Device A和Device B

配置Device A和Device B允许对应VLAN通过,配置过程略。

4. 显示与验证

# 查看所有子网VLAN的信息。

[DeviceC] display ip-subnet-vlan vlan all

 VLAN ID: 100

  Subnet index      IP address      Subnet mask

  0                 192.168.5.0     255.255.255.0

 

 VLAN ID: 200

  Subnet index      IP address      Subnet mask

  0                 192.168.50.0    255.255.255.0

# 查看端口GigabitEthernet1/0/1关联的子网VLAN的信息。

[DeviceC] display ip-subnet-vlan interface gigabitethernet 1/0/1

 Interface: GigabitEthernet1/0/1

  VLAN ID   Subnet index    IP address Subnet mask       Status

  100       0               192.168.5.0      255.255.255.0     Active

  200       0               192.168.50.0     255.255.255.0     Active

1.16  基于协议的VLAN典型配置举例

1. 组网需求

如下图所示,实验室网络中大部分主机运行IPv4网络协议,另外为了教学需要还部署了IPv6实验局,因此,有些主机运行IPv6网络协议。为了避免互相干扰,将VLAN 100与IPv4协议、ARP协议关联,VLAN 200与IPv6协议关联,通过协议VLAN将IPv4流量和IPv6流量二层互相隔离。

2. 组网图

图1-7 基于协议的VLAN组网图

3. 配置步骤

(1)     配置Device

# 创建VLAN 100,将端口GigabitEthernet1/0/3加入VLAN 100。

<Device> system-view

[Device] vlan 100

[Device-vlan100] description protocol VLAN for IPv4

[Device-vlan100] port gigabitethernet 1/0/3

[Device-vlan100] quit

# 创建VLAN 200,将端口GigabitEthernet1/0/4加入VLAN 200。

[Device] vlan 200

[Device-vlan200] description protocol VLAN for IPv6

[Device-vlan200] port gigabitethernet 1/0/4

# 将IPv6协议报文划分到VLAN 200中传输。

[Device-vlan200] protocol-vlan 1 ipv6

[Device-vlan200] quit

# 将IPv4协议报文和采用Ethernet II封装格式的ARP协议报文(ARP报文对应的封装格式为Ethernet II)划分到VLAN 100中传输。

[Device] vlan 100

[Device-vlan100] protocol-vlan 1 ipv4

[Device-vlan100] protocol-vlan 2 mode ethernetii etype 0806

[Device-vlan100] quit

# 配置端口GigabitEthernet1/0/1为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。

[Device] interface gigabitethernet 1/0/1

[Device-GigabitEthernet1/0/1] port link-type hybrid

[Device-GigabitEthernet1/0/1] port hybrid vlan 100 200 untagged

# 配置端口GigabitEthernet1/0/1与VLAN 100的协议模板1(即IPv4协议模板)、协议模板2(即ARP协议模板)和VLAN 200的协议模板1(即IPv6协议模板)进行绑定。

[Device-GigabitEthernet1/0/1] port hybrid protocol-vlan vlan 100 1 to 2

[Device-GigabitEthernet1/0/1] port hybrid protocol-vlan vlan 200 1

[Device-GigabitEthernet1/0/1] quit

# 配置端口GigabitEthernet1/0/2为Hybrid端口,允许VLAN 100、200通过,并且在发送VLAN 100、200的报文时不携带VLAN Tag。

[Device] interface gigabitethernet 1/0/2

[Device-GigabitEthernet1/0/2] port link-type hybrid

[Device-GigabitEthernet1/0/2] port hybrid vlan 100 200 untagged

# 配置端口GigabitEthernet1/0/2与VLAN 100的协议模板1(即IPv4协议模板)、协议模板2(即ARP协议模板)和VLAN 200的协议模板1(即IPv6协议模板)进行绑定。

[Device-GigabitEthernet1/0/2] port hybrid protocol-vlan vlan 100 1 to 2

[Device-GigabitEthernet1/0/2] port hybrid protocol-vlan vlan 200 1

[Device-GigabitEthernet1/0/2] quit

(2)     L2 switch A和L2 switch B采用缺省配置

(3)     配置Host和Server

将IPv4 Host A、IPv4 Host B和IPv4 Server配置在一个网段,比如192.168.100.0/24;将IPv6 Host A、IPv6 Host B和IPv6 Server配置在一个网段,比如2001::1/64。

4. 显示与验证

(1)     通过ping命令查看

VLAN 100内的主机和服务器能够互相Ping通;VLAN 200内的主机和服务器能够互相Ping通。但VLAN 100内的主机/服务器与VLAN 200内的主机/服务器之间会Ping失败。

(2)     通过显示信息查看

# 查看所有协议VLAN的信息。

[Device] display protocol-vlan vlan all

 VLAN ID: 100

  Protocol index  Protocol type

  1               IPv4

  2               Ethernet II Etype 0x0806

 

 VLAN ID: 200

  Protocol index  Protocol type

  1               IPv6

# 查看所有端口关联的协议VLAN的信息。

[Device] display protocol-vlan interface all

 Interface: GigabitEthernet1/0/1

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 

 Interface: GigabitEthernet1/0/2

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 


2 Super VLAN

2.1  Super VLAN简介

在交换局域网中,VLAN技术以其对广播域的灵活控制、部署方便而得到了广泛的应用。但是在一般的交换设备中,通常是采用一个VLAN对应一个VLAN接口的方式来实现广播域之间的互通,这在某些情况下导致了对IP地址的较大浪费。

Super VLAN可以对VLAN进行聚合,从而大幅缩减实际需要的VLAN接口数量,解决IP地址紧张的问题。其原理是一个Super VLAN和多个Sub VLAN关联,关联的Sub VLAN公用Super VLAN对应的VLAN接口(即Super VLAN interface)的IP地址作为三层通信的网关地址,此时Sub VLAN间的三层通信以及Sub VLAN与外部的三层通信均借用Super VLAN interface来实现,从而节省了IP地址资源。

·     Super VLAN:支持创建VLAN接口,并配置接口IP地址,不能加入物理接口。

·     Sub VLAN:不支持创建VLAN接口,可以加入物理端口,不同Sub VLAN之间二层相互隔离。

为了实现Sub VLAN之间的三层互通,在创建好Super VLAN及其Super VLAN interface之后,用户需要开启设备的本地代理功能:

·     对于IPv4网络环境,用户需要在Super VLAN interface上开启本地代理ARP功能,Super VLAN利用本地代理ARP,可以对Sub VLAN内用户发出的ARP请求和响应报文进行处理,从而实现Sub VLAN之间的三层互通。

·     对于IPv6网络环境,用户需要在Super VLAN interface上开启本地代理ND功能,Super VLAN利用本地代理ND,可以对Sub VLAN内用户发出的NS请求和NA响应报文进行处理,从而实现Sub VLAN之间的三层互通。

2.2  Super VLAN配置限制和指导

Super VLAN不支持和VXLAN IP网关功能组合使用。有关VXLAN IP网关的介绍,请参见“VXLAN配置指导”中的“VXLAN IP网关”。

2.3  配置Super VLAN

Super VLAN配置包括三个必选步骤:

(1)     创建Sub VLAN。

(2)     创建Super VLAN,并将Super VLAN和Sub VLAN关联起来。

(3)     配置Super VLAN interface。

1. 创建Sub VLAN

表2-1 创建Sub VLAN

配置

命令

说明

进入系统视图

system-view

-

创建VLAN用作Sub VLAN

vlan vlan-id-list

缺省情况下,系统只有一个缺省VLAN(VLAN 1)

 

2. 配置Super VLAN

配置Super VLAN功能时,需要注意:

·     MAC VLAN表项中的VLAN不能配为Super VLAN。

·     如果某个VLAN被指定为Super VLAN,则该VLAN不能被指定为某个端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN;同样,如果某个VLAN被指定为某个端口的Guest VLAN/Auth-Fail VLAN/Critical VLAN,则该VLAN不能被指定为Super VLAN。Guest VLAN/Auth-Fail VLAN/Critical VLAN的相关内容请参见“安全配置指导”中的“802.1X”。

·     一个VLAN不能同时配置为Super VLAN和Sub VLAN。

·     Super VLAN不支持二层组播和三层组播功能。

表2-2 配置Super VLAN

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

配置VLAN的类型为Super VLAN

supervlan

缺省情况下,VLAN类型不为Super VLAN

建立Super VLAN和Sub VLAN的映射关系

subvlan vlan-id-list

缺省情况下,不存在Super VLAN和Sub VLAN的映射关系

建立Super VLAN和Sub VLAN的映射关系前,指定的Sub VLAN必须已经创建

 

3. 配置Super VLAN interface

需要注意的是,在Super VLAN interface下配置VRRP功能后,会对网络性能造成影响,建议不要这样配置。VRRP的详细描述请参见“可靠性配置指导”中的“VRRP”。

表2-3 配置Super VLAN interface

配置

命令

说明

进入系统视图

system-view

-

创建VLAN接口,并进入VLAN接口视图

interface vlan-interface interface-number

interface-number的值必须等于Super VLAN ID

配置VLAN接口的IP地址

ip address ip-address { mask-length | mask } [ sub ]

二者选其一

缺省情况下,没有配置VLAN接口的IP地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

开启本地代理ARP功能(IPv4环境)

local-proxy-arp enable

二者选其一

缺省情况下,本地代理ARP/ND功能处于关闭状态

·     本地代理ARP功能的相关介绍请参见“三层技术-IP业务配置指导”中的“代理ARP”;local-proxy-arp enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“代理ARP”

·     本地代理ND功能的相关介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”;local-proxy-nd enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“IPv6基础”

开启本地代理ND功能(IPv6环境)

local-proxy-nd enable

 

2.4  Super VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Super VLAN的运行情况,通过查看显示信息验证配置的效果。

表2-4 Super VLAN显示和维护

操作

命令

显示Super VLAN及其关联的Sub VLAN的信息

display supervlan [ supervlan-id ]

 

2.5  Super VLAN典型配置举例

1. 组网需求

Device A连接不同VLAN用户,其中,端口GigabitEthernet1/0/1和端口GigabitEthernet1/0/2属于VLAN 2,端口GigabitEthernet1/0/3和端口GigabitEthernet1/0/4属于VLAN 3,端口GigabitEthernet1/0/5和端口GigabitEthernet1/0/6属于VLAN 5。

为实现Device A连接的各VLAN用户(均在10.1.1.0/24网段)之间能够满足二层隔离和三层互通的同时,节省IP资源,创建Super VLAN,其关联的Sub VLAN公用Super VLAN interface的IP地址10.1.1.1/24作为三层通信的网关地址。

2. 组网图

图2-1 配置Super VLAN组网图

3. 配置步骤

# 创建VLAN 10,配置VLAN接口的IP地址为10.1.1.1/24。

<DeviceA> system-view

[DeviceA] vlan 10

[DeviceA-vlan10] quit

[DeviceA] interface vlan-interface 10

[DeviceA-Vlan-interface10] ip address 10.1.1.1 255.255.255.0

# 开启设备的本地代理ARP功能。

[DeviceA-Vlan-interface10] local-proxy-arp enable

[DeviceA-Vlan-interface10] quit

# 创建VLAN 2,并向VLAN 2中添加端口GigabitEthernet1/0/1和端口GigabitEthernet1/0/2。

[DeviceA] vlan 2

[DeviceA-vlan2] port gigabitethernet 1/0/1 gigabitethernet 1/0/2

[DeviceA-vlan2] quit

# 创建VLAN 3,并向VLAN 3中添加端口GigabitEthernet1/0/3和端口GigabitEthernet1/0/4。

[DeviceA] vlan 3

[DeviceA-vlan3] port gigabitethernet 1/0/3 gigabitethernet 1/0/4

[DeviceA-vlan3] quit

# 创建VLAN 5,并向VLAN 5中添加端口GigabitEthernet1/0/5和端口GigabitEthernet1/0/6。

[DeviceA] vlan 5

[DeviceA-vlan5] port gigabitethernet 1/0/5 gigabitethernet 1/0/6

[DeviceA-vlan5] quit

# 配置VLAN 10为Super VLAN,其关联的Sub VLAN为VLAN 2、VLAN 3和VLAN 5。

[DeviceA] vlan 10

[DeviceA-vlan10] supervlan

[DeviceA-vlan10] subvlan 2 3 5

[DeviceA-vlan10] quit

[DeviceA] quit

4. 显示和验证

# 查看Super VLAN的相关信息,验证以上配置是否生效。

<DeviceA> display supervlan

 Super VLAN ID: 10

 Sub-VLAN ID: 2-3 5

 

 VLAN ID: 10

 VLAN type: Static

 It is a super VLAN.

 Route interface: Configured

 Ipv4 address: 10.1.1.1

 Ipv4 subnet mask: 255.255.255.0

 Description: VLAN 0010

 Name: VLAN 0010

 Tagged ports:   None

 Untagged ports: None

 

 VLAN ID: 2

 VLAN type: Static

 It is a sub-VLAN.

 Route interface: Configured

 Ipv4 address: 10.1.1.1

 Ipv4 subnet mask: 255.255.255.0

 Description: VLAN 0002

 Name: VLAN 0002

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/1

    GigabitEthernet1/0/2

 

 VLAN ID: 3

 VLAN type: Static

 It is a sub-VLAN.

 Route interface: Configured

 Ipv4 address: 10.1.1.1

 Ipv4 subnet mask: 255.255.255.0

 Description: VLAN 0003

 Name: VLAN 0003

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/3

    GigabitEthernet1/0/4

 

 VLAN ID: 5

 VLAN type: Static

 It is a sub-VLAN.

 Route unterface: Configured

 Ipv4 address: 10.1.1.1

 Ipv4 subnet mask: 255.255.255.0

 Description: VLAN 0005

 Name: VLAN 0005

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/5

    GigabitEthernet1/0/6

 


3 Private VLAN

3.1  Private VLAN简介

在采用以太网接入的场景中,基于用户安全和管理计费等方面的考虑,一般会要求接入用户互相隔离。VLAN是天然的隔离手段,于是很自然的想法是每个用户一个VLAN。但是,根据IEEE 802.1Q规定,最多可以提供4094个VLAN。如果每个用户一个VLAN,4094个VLAN远远不能满足需求。

Private VLAN采用二层VLAN结构,它在同一台设备上配置Primary VLAN和Secondary VLAN两类VLAN,即能够保证接入用户之间相互隔离,又能将接入的VLAN ID屏蔽掉,从而节省了VLAN资源。

·     Primary VLAN:用于连接上行设备,一个Primary VLAN可以和多个Secondary VLAN相对应。上行连接的设备只需知道Primary VLAN,而不必关心Secondary VLAN,Primary VLAN下面的Secondary VLAN对上行设备不可见。

·     Secondary VLAN:用于连接用户,Secondary VLAN之间二层报文互相隔离。如果希望实现同一Primary VLAN下Secondary VLAN用户之间报文的互通,可以通过配置上行设备(如图3-1中的L3 Device A)的本地代理ARP/ND功能来实现三层报文的互通。

图3-1 Private VLAN示意图

 

图3-1所示,L2 Device B上启动了Private VLAN功能。其中VLAN 10是Primary VLAN,VLAN 2、VLAN 5、VLAN 8是Secondary VLAN,VLAN 2、VLAN 5、VLAN 8都映射到VLAN 10,VLAN 2、VLAN 5、VLAN 8对L3 Device A不可见。

如果配置Private VLAN功能的设备为三层设备,Secondary VLAN间及Secondary VLAN与外部需要进行三层互通,则可以通过在本地设备上创建Secondary对应的VLAN接口(即Secondary VLAN interface),并在该Secondary VLAN interface上配置IP地址来实现;或者通过在本地设备上配置Primary VLAN下指定Secondary VLAN间三层互通,同时创建Primary VLAN interface(但不能创建Secondary VLAN interface),并在Primary VLAN interface上配置IP地址和本地代理ARP/ND功能来实现。

3.2  Private VLAN配置限制和指导

Private VLAN不支持组播功能。

Private VLAN不支持和VXLAN IP网关功能组合使用。有关VXLAN IP网关的介绍,请参见“VXLAN配置指导”中的“VXLAN IP网关”。

3.3  配置Private VLAN

Private VLAN配置主要包括下面几个步骤:

(1)     配置Primary VLAN。

(2)     配置Secondary VLAN。

(3)     配置Primary VLAN和Secondary VLAN间的映射关系。

(4)     配置上行/下行端口。

·     当上行端口(如图3-1中L2 Device B上与L3 Device A相连的端口)只对应一个Primary VLAN时,配置该端口工作在promiscuous模式,可以实现上行端口加入Primary VLAN及同步加入对应的Secondary VLAN的功能;当上行端口对应多个Primary VLAN时,配置该端口工作在trunk promiscuous模式,可以实现上行端口加入多个Primary VLAN及同步加入各自对应的Secondary VLAN的功能。

·     当下行端口(如图3-1中L2 Device B上与用户相连的端口)只对应一个Secondary VLAN时,配置该端口工作在host模式,可以实现下行端口同步加入Secondary VLAN对应的Primary VLAN的功能;当下行端口对应多个Secondary VLAN时,配置该端口工作在trunk secondary模式,可以实现下行端口加入多个Secondary VLAN及同步加入各自对应的Primary VLAN的功能。

有关promiscuous/trunk promiscuous/trunk secondary/host模式的详细介绍,请参见“二层技术-以太网交换命令参考”中的“Private VLAN”的相关命令。

(5)     配置Primary VLAN下指定Secondary VLAN间三层互通。

配置Private VLAN时,需要注意:

·     在完成表3-1中的配置后,建议用户作如下确认:对于工作模式为promiscuous的端口,确保该端口的缺省VLAN为Primary VLAN,该端口以Untagged方式加入Primary VLAN和Secondary VLAN;对于工作模式为trunk promiscuous/trunk secondary的端口,确保该端口以Tagged方式加入Primary VLAN和Secondary VLAN;对于工作模式为host的端口,确保该端口的缺省VLAN为Secondary VLAN,该端口以Untagged方式加入Primary VLAN和Secondary VLAN。

·     配置Primary VLAN后,系统会自动将Secondary VLAN的动态MAC地址表项同步到Primary VLAN。

·     配置Primary VLAN后,Secondary VLAN的静态MAC地址表项不生效。Secondary VLAN和Primary VLAN解除映射关系后,Primary VLAN的静态MAC地址表项对该Secondary VLAN的流量不生效。

·     系统缺省VLAN(VLAN 1)不支持Private VLAN相关配置。

表3-1 配置Private VLAN

操作

命令

说明

 

进入系统视图

system-view

-

 

创建VLAN,并进入VLAN视图

vlan vlan-id

-

 

配置VLAN的类型为Primary VLAN

private-vlan primary

缺省情况下,VLAN的类型不是Primary VLAN

 

退回系统视图

quit

-

 

创建一个或多个Secondary VLAN

vlan { vlan-id-list | all }

-

 

退回系统视图

quit

-

 

进入Primary VLAN视图

vlan vlan-id

-

 

建立Primary VLAN和Secondary VLAN的映射关系

private-vlan secondary vlan-id-list

缺省情况下,未建立Primary VLAN和Secondary VLAN的映射关系

 

退回系统视图

quit

-

进入上行端口视图

interface interface-type interface-number

-

 

配置上行端口在指定VLAN中工作在promiscuous模式

port private-vlan vlan-id promiscuous

二者选其一

缺省情况下,端口在指定VLAN中不工作在promiscuous/trunk promiscuous模式

 

配置上行端口在指定VLAN中工作在trunk promiscuous模式

port private-vlan vlan-id-list trunk promiscuous

 

退回系统视图

quit

-

 

进入下行端口视图

interface interface-type interface-number

-

 

配置下行端口加入Secondary VLAN

配置端口的链路类型

port link-type { access | hybrid | trunk }

-

 

将当端口加入指定VLAN

Access端口

port access vlan vlan-id

三者选其一

 

Trunk端口

port trunk permit vlan { vlan-id-list | all }

 

Hybrid端口

port hybrid vlan vlan-id-list { tagged | untagged }

 

配置下行端口在指定VLAN中工作在trunk secondary模式

port private-vlan vlan-id-list trunk secondary

二者选其一

缺省情况下,端口不工作在trunk secondary/host模式

配置下行端口工作在host模式

port private-vlan host

退回系统视图

quit

-

 

进入Secondary VLAN视图

vlan vlan-id

-

 

(可选)配置同一Secondary VLAN内各端口二层互通

undo private-vlan isolated

二者选其一

缺省情况下,同一Secondary VLAN内的端口能够二层互通

 

private-vlan community

 

退回系统视图

quit

-

 

(可选)配置Primary VLAN下指定的Secondary VLAN间三层互通

进入Primary VLAN interface视图

interface vlan-interface interface-number

-

配置当前Primary VLAN下指定的Secondary VLAN间三层互通

private-vlan secondary vlan-id-list

缺省情况下,Secondary VLAN之间三层不互通

配置Primary VLAN接口的IP地址

ip address ip-address { mask-length | mask } [ sub ]

二者选其一

缺省情况下,没有配置VLAN接口的IP地址

ipv6 address { ipv6-address prefix-length | ipv6-address/prefix-length }

开启本地代理ARP功能(IPv4环境)

local-proxy-arp enable

二者选其一

缺省情况下,本地代理ARP/ND功能处于关闭状态

·     本地代理ARP功能的相关介绍请参见“三层技术-IP业务配置指导”中的“代理ARP”;local-proxy-arp enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“代理ARP”

·     本地代理ND功能的相关介绍请参见“三层技术-IP业务配置指导”中的“IPv6基础”;local-proxy-nd enable命令的相关描述请参见“三层技术-IP业务命令参考”中的“IPv6基础”

开启本地代理ND功能(IPv6环境)

local-proxy-nd enable

 

3.4  Private VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Private VLAN的运行情况,通过查看显示信息验证配置的效果。

表3-2 Private VLAN显示和维护

操作

命令

显示Primary VLAN和其包含的Secondary VLAN的信息

display private-vlan [ primary-vlan-id ]

 

3.5  Private VLAN典型配置举例(promiscuous模式)

1. 组网需求

·     Device B上的Primary VLAN 5包含上行端口GigabitEthernet1/0/5,并关联两个Secondary VLAN(VLAN 2和VLAN 3),其中,VLAN 2包含端口GigabitEthernet1/0/2,VLAN 3包含端口GigabitEthernet1/0/3。

·     Device C上的Primary VLAN 6包含上行端口GigabitEthernet1/0/5,并关联两个Secondary VLAN(VLAN 3和VLAN 4),其中,VLAN 3包含端口GigabitEthernet1/0/3,VLAN 4包含端口GigabitEthernet1/0/4。

·     从Device A看,下接的Device B只有一个VLAN(VLAN 5),下接的Device C只有一个VLAN(VLAN 6)。

2. 组网图

图3-2 组网图

3. 配置步骤

下面只列出Device B和Device C的配置过程。

(1)     配置Device B

# 配置VLAN 5为Primary VLAN。

<DeviceB> system-view

[DeviceB] vlan 5

[DeviceB-vlan5] private-vlan primary

[DeviceB-vlan5] quit

# 创建Secondary VLAN 2、3。

[DeviceB] vlan 2 to 3

# 配置Primary VLAN 5和Secondary VLAN 2、3的映射关系。

[DeviceB] vlan 5

[DeviceB-vlan5] private-vlan secondary 2 to 3

[DeviceB-vlan5] quit

# 配置上行端口GigabitEthernet1/0/5在VLAN 5中工作在promiscuous模式。

[DeviceB] interface gigabitethernet 1/0/5

[DeviceB-GigabitEthernet1/0/5] port private-vlan 5 promiscuous

[DeviceB-GigabitEthernet1/0/5] quit

# 将下行端口GigabitEthernet1/0/2、GigabitEthernet1/0/3分别添加到VLAN 2、VLAN 3,并配置它们工作在host模式。

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port access vlan 2

[DeviceB-GigabitEthernet1/0/2] port private-vlan host

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port access vlan 3

[DeviceB-GigabitEthernet1/0/3] port private-vlan host

[DeviceB-GigabitEthernet1/0/3] quit

(2)     配置Device C

# 配置VLAN 6为Primary VLAN。

<DeviceC> system-view

[DeviceC] vlan 6

[DeviceC–vlan6] private-vlan primary

[DeviceC–vlan6] quit

# 创建Secondary VLAN 3、4。

[DeviceC] vlan 3 to 4

# 配置Primary VLAN 6和Secondary VLAN 3、4的映射关系。

[DeviceC] vlan 6

[DeviceC-vlan6] private-vlan secondary 3 to 4

[DeviceC-vlan6] quit

# 配置上行端口GigabitEthernet1/0/5在VLAN 6中工作在promiscuous模式。

[DeviceC] interface gigabitethernet 1/0/5

[DeviceC-GigabitEthernet1/0/5] port private-vlan 6 promiscuous

[DeviceC-GigabitEthernet1/0/5] quit

# 将下行端口GigabitEthernet1/0/3、GigabitEthernet1/0/4分别添加到VLAN 3、VLAN 4,并配置它们工作在host模式。

[DeviceC] interface gigabitethernet 1/0/3

[DeviceC-GigabitEthernet1/0/3] port access vlan 3

[DeviceC-GigabitEthernet1/0/3] port private-vlan host

[DeviceC-GigabitEthernet1/0/3] quit

[DeviceC] interface gigabitethernet 1/0/4

[DeviceC-GigabitEthernet1/0/4] port access vlan 4

[DeviceC-GigabitEthernet1/0/4] port private-vlan host

[DeviceC-GigabitEthernet1/0/4] quit

4. 显示与验证

# 显示Device B上的Private VLAN配置情况(Device C的显示结果类似,这里不再列出)。

[DeviceB] display private-vlan

 Primary VLAN ID: 5

 Secondary VLAN ID: 2-3

 

 VLAN ID: 5

 VLAN type: Static

 Private VLAN type: Primary

 Route interface: Not configured

 Description: VLAN 0005

 Name: VLAN 0005

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/2

    GigabitEthernet1/0/3

    GigabitEthernet1/0/5

 

 VLAN ID: 2

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Not configured

 Description: VLAN 0002

 Name: VLAN 0002

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/2

    GigabitEthernet1/0/5

 

 VLAN ID: 3

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Not configured

 Description: VLAN 0003

 Name: VLAN 0003

 Tagged Ports:   None

 Untagged Ports:

    GigabitEthernet1/0/3

    GigabitEthernet1/0/5

可以看到,工作在promiscuous模式的端口GigabitEthernet1/0/5和工作在host模式的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3均以Untagged方式允许VLAN报文通过。

3.6  Private VLAN典型配置举例(trunk promiscuous模式)

1. 组网需求

·     Device B上的VLAN 5和VLAN 10为Primary VLAN,其上行端口GigabitEthernet1/0/1需要允许VLAN 5和VLAN 10的报文携带VLAN Tag通过。

·     Device B的下行端口GigabitEthernet1/0/2允许Secondary VLAN 2通过,GigabitEthernet1/0/3允许Secondary VLAN 3通过,Secondary VLAN 2、3映射到Primary VLAN 5。

·     Device B的下行端口GigabitEthernet1/0/4允许Secondary VLAN 6通过,GigabitEthernet1/0/5允许Secondary VLAN 8通过,Secondary VLAN 6、8映射到Primary VLAN 10。

·     从Device A看,下接的Device B只有VLAN 5和VLAN 10。

2. 组网图

图3-3 组网图

3. 配置步骤

(1)     配置Device B

# 配置VLAN 5和VLAN 10为Primary VLAN。

<DeviceB> system-view

[DeviceB] vlan 5

[DeviceB-vlan5] private-vlan primary

[DeviceB-vlan5] quit

[DeviceB] vlan 10

[DeviceB-vlan10] private-vlan primary

[DeviceB-vlan10] quit

# 创建Secondary VLAN 2、3、6、8。

[DeviceB] vlan 2 to 3

[DeviceB] vlan 6

[DeviceB-vlan6] quit

[DeviceB] vlan 8

[DeviceB-vlan8] quit

# 配置Primary VLAN 5和Secondary VLAN 2、3的映射关系。

[DeviceB] vlan 5

[DeviceB-vlan5] private-vlan secondary 2 to 3

[DeviceB-vlan5] quit

# 配置Primary VLAN 10和Secondary VLAN 6、8的映射关系。

[DeviceB] vlan 10

[DeviceB-vlan10] private-vlan secondary 6 8

[DeviceB-vlan10] quit

# 配置上行端口GigabitEthernet1/0/1在VLAN 5和VLAN 10中工作在trunk promiscuous模式。

[DeviceB] interface gigabitethernet 1/0/1

[DeviceB-GigabitEthernet1/0/1] port private-vlan 5 10 trunk promiscuous

[DeviceB-GigabitEthernet1/0/1] quit

# 将下行端口GigabitEthernet1/0/2加入VLAN 2,GigabitEthernet1/0/3加入VLAN 3,并配置它们工作在host模式。

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port access vlan 2

[DeviceB-GigabitEthernet1/0/2] port private-vlan host

[DeviceB-GigabitEthernet1/0/2] quit

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port access vlan 3

[DeviceB-GigabitEthernet1/0/3] port private-vlan host

[DeviceB-GigabitEthernet1/0/3] quit

# 将下行端口GigabitEthernet1/0/4加入VLAN 6,GigabitEthernet1/0/5加入VLAN 8,并配置它们工作在host模式。

[DeviceB] interface gigabitethernet 1/0/4

[DeviceB-GigabitEthernet1/0/4] port access vlan 6

[DeviceB-GigabitEthernet1/0/4] port private-vlan host

[DeviceB-GigabitEthernet1/0/4] quit

[DeviceB] interface gigabitethernet 1/0/5

[DeviceB-GigabitEthernet1/0/5] port access vlan 8

[DeviceB-GigabitEthernet1/0/5] port private-vlan host

[DeviceB-GigabitEthernet1/0/5] quit

(2)     配置Device A

# 创建VLAN 5和VLAN 10。

[DeviceA] vlan 5

[DeviceA-vlan5] quit

[DeviceA] vlan 10

[DeviceA-vlan10] quit

# 配置端口GigabitEthernet1/0/1为Hybrid端口,并允许VLAN 5和VLAN 10携带Tag通过。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

[DeviceA-GigabitEthernet1/0/1] port hybrid vlan 5 10 tagged

[DeviceA-GigabitEthernet1/0/1] quit

4. 显示与验证

# 显示Device B上的Primary VLAN 5配置情况(Primary VLAN 10的显示结果类似,这里不再列出)。

[DeviceB] display private-vlan 5

 Primary VLAN ID: 5

 Secondary VLAN ID: 2-3

 

 VLAN ID: 5

 VLAN type: Static

 Private VLAN type: Primary

 Route interface: Not configured

 Description: VLAN 0005

 Name: VLAN 0005

 Tagged ports:

    GigabitEthernet1/0/1

 Untagged ports:

    GigabitEthernet1/0/2

    GigabitEthernet1/0/3

 

 VLAN ID: 2

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Not configured

 Description: VLAN 0002

 Name: VLAN 0002

 Tagged ports:

    GigabitEthernet1/0/1

 Untagged ports:

    GigabitEthernet1/0/2

 

 VLAN ID: 3

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Not configured

 Description: VLAN 0003

 Name: VLAN 0003

 Tagged ports:

    GigabitEthernet1/0/1

 Untagged ports:

    GigabitEthernet1/0/3

可以看到,工作在trunk promiscuous模式的端口GigabitEthernet1/0/1以Tagged方式允许VLAN报文通过,工作在host模式的端口GigabitEthernet1/0/2和GigabitEthernet1/0/3以Untagged方式允许VLAN报文通过。

3.7  Private VLAN典型配置举例(trunk promiscuous & trunk secondary模式)

1. 组网需求

·     Device A上的VLAN 10和VLAN 20为Primary VLAN,上行端口GigabitEthernet1/0/5需要允许VLAN 10和VLAN 20的报文携带VLAN Tag通过。

·     Device A上的VLAN 11、12、21、22为Secondary VLAN,下行端口GigabitEthernet1/0/2允许Secondary VLAN 11、21的报文携带VLAN Tag通过,下行端口GigabitEthernet1/0/1允许Secondary VLAN 22通过,下行端口GigabitEthernet1/0/3允许Secondary VLAN 12通过。

·     Secondary VLAN 11、12映射到Primary VLAN 10;Secondary VLAN 21、22映射到Primary VLAN 20。

2. 组网图

图3-4 组网图

3. 配置步骤

(1)     配置Device A

# 配置VLAN 10和VLAN 20为Primary VLAN。

<DeviceA> system-view

[DeviceA] vlan 10

[DeviceA-vlan10] private-vlan primary

[DeviceA-vlan10] quit

[DeviceA] vlan 20

[DeviceA-vlan20] private-vlan primary

[DeviceA-vlan20] quit

# 创建Secondary VLAN 11、12、21、22。

[DeviceA] vlan 11 to 12

[DeviceA] vlan 21 to 22

# 配置Primary VLAN 10和Secondary VLAN 11、12的映射关系。

[DeviceA] vlan 10

[DeviceA-vlan10] private-vlan secondary 11 12

[DeviceA-vlan10] quit

# 配置Primary VLAN 20和Secondary VLAN 21、22的映射关系。

[DeviceA] vlan 20

[DeviceA-vlan20] private-vlan secondary 21 22

[DeviceA-vlan20] quit

# 配置上行端口GigabitEthernet1/0/5在VLAN 10和VLAN 20中工作在trunk promiscuous模式。

[DeviceA] interface gigabitethernet 1/0/5

[DeviceA-GigabitEthernet1/0/5] port private-vlan 10 20 trunk promiscuous

[DeviceA-GigabitEthernet1/0/5] quit

# 将下行端口GigabitEthernet1/0/1加入VLAN 22,并配置其工作在host模式。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port access vlan 22

[DeviceA-GigabitEthernet1/0/1] port private-vlan host

[DeviceA-GigabitEthernet1/0/1] quit

# 将下行端口GigabitEthernet1/0/3加入VLAN 12,并配置其工作在host模式。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port access vlan 12

[DeviceA-GigabitEthernet1/0/3] port private-vlan host

[DeviceA-GigabitEthernet1/0/3] quit

# 配置下行端口GigabitEthernet1/0/2在VLAN 11和VLAN 21中工作在trunk secondary模式。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port private-vlan 11 21 trunk secondary

[DeviceA-GigabitEthernet1/0/2] quit

(2)     配置Device B

# 创建VLAN 11和VLAN 21。

<DeviceB> system-view

[DeviceB] vlan 11

[DeviceB-vlan11] quit

[DeviceB] vlan 21

[DeviceB-vlan21] quit

# 配置端口GigabitEthernet1/0/2为Hybrid端口,并允许VLAN 11和VLAN 21携带Tag通过。

[DeviceB] interface gigabitethernet 1/0/2

[DeviceB-GigabitEthernet1/0/2] port link-type hybrid

[DeviceB-GigabitEthernet1/0/2] port hybrid vlan 11 21 tagged

[DeviceB-GigabitEthernet1/0/2] quit

# 将端口GigabitEthernet1/0/3加入VLAN 11。

[DeviceB] interface gigabitethernet 1/0/3

[DeviceB-GigabitEthernet1/0/3] port access vlan 11

[DeviceB-GigabitEthernet1/0/3] quit

# 将端口GigabitEthernet1/0/4加入VLAN 21。

[DeviceB] interface gigabitethernet 1/0/4

[DeviceB-GigabitEthernet1/0/4] port access vlan 21

[DeviceB-GigabitEthernet1/0/4] quit

(3)     配置Device C

# 创建VLAN 10和VLAN 20。

<DeviceC> system-view

[DeviceC] vlan 10

[DeviceC-vlan10] quit

[DeviceC] vlan 20

[DeviceC-vlan20] quit

# 配置端口GigabitEthernet1/0/5为Hybrid端口,并允许VLAN 10和VLAN 20携带Tag通过。

[DeviceC] interface gigabitethernet 1/0/5

[DeviceC-GigabitEthernet1/0/5] port link-type hybrid

[DeviceC-GigabitEthernet1/0/5] port hybrid vlan 10 20 tagged

[DeviceC-GigabitEthernet1/0/5] quit

4. 显示与验证

# 显示Device A上Primary VLAN 10的配置情况(Primary VLAN 20的显示结果类似,这里不再列出)。

[DeviceA] display private-vlan 10

 Primary VLAN ID: 10

 Secondary VLAN ID: 11-12

 

 VLAN ID: 10

 VLAN type: Static

 Private-vlan type: Primary

 Route interface: Not configured

 Description: VLAN 0010

 Name: VLAN 0010

 Tagged ports:

    GigabitEthernet1/0/2

    GigabitEthernet1/0/5

 Untagged ports:

    GigabitEthernet1/0/3

 

 VLAN ID: 11

 VLAN type: Static

 Private-vlan type: Secondary

 Route interface: Not configured

 Description: VLAN 0011

 Name: VLAN 0011

 Tagged ports:

    GigabitEthernet1/0/2

    GigabitEthernet1/0/5

 Untagged ports: None

 

 VLAN ID: 12

 VLAN type: Static

 Private-vlan type: Secondary

 Route interface: Not configured

 Description: VLAN 0012

 Name: VLAN 0012

 Tagged ports:

    GigabitEthernet1/0/5

 Untagged ports:

    GigabitEthernet1/0/3

可以看到,工作在trunk promiscuous模式的端口GigabitEthernet1/0/5和工作在trunk secondary模式的端口GigabitEthernet1/0/2以Tagged方式允许VLAN报文通过,工作在host模式的端口GigabitEthernet1/0/3以Untagged方式允许VLAN报文通过。

3.8  Secondary VLAN间三层互通配置举例

1. 组网需求

·     Device A上的VLAN 10为Primary VLAN,包含上行端口GigabitEthernet1/0/1并关联两个Secondary VLAN(VLAN 2和VLAN 3),VLAN 2包含端口GigabitEthernet1/0/2,VLAN 3包含端口GigabitEthernet1/0/3。VLAN接口10的IP地址为192.168.1.1/24。

·     实现各Secondary VLAN间二层隔离和三层互通。

2. 组网图

图3-5 组网图

3. 配置步骤

# 配置VLAN 10为Primary VLAN。

<DeviceA> system-view

[DeviceA] vlan 10

[DeviceA-vlan10] private-vlan primary

[DeviceA-vlan10] quit

# 创建Secondary VLAN 2、3。

[DeviceA] vlan 2 to 3

# 配置Primary VLAN 10和Secondary VLAN 2、3的映射关系。

[DeviceA] vlan 10

[DeviceA-vlan10] private-vlan secondary 2 3

[DeviceA-vlan10] quit

# 配置上行端口GigabitEthernet1/0/1在VLAN 10中工作在promiscuous模式。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port private-vlan 10 promiscuous

[DeviceA-GigabitEthernet1/0/1] quit

# 将下行端口GigabitEthernet1/0/2加入VLAN 2,并配置其工作在host模式。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port access vlan 2

[DeviceA-GigabitEthernet1/0/2] port private-vlan host

[DeviceA-GigabitEthernet1/0/2] quit

# 将下行端口GigabitEthernet1/0/3加入VLAN 3,并配置其工作在host模式。

[DeviceA] interface gigabitethernet 1/0/3

[DeviceA-GigabitEthernet1/0/3] port access vlan 3

[DeviceA-GigabitEthernet1/0/3] port private-vlan host

[DeviceA-GigabitEthernet1/0/3] quit

# 配置Primary VLAN 10下Secondary VLAN 2、3之间三层互通。

[DeviceA] interface vlan-interface 10

[DeviceA-Vlan-interface10] private-vlan secondary 2 3

# 配置VLAN接口10的IP地址为192.168.1.1/24。

[DeviceA-Vlan-interface10] ip address 192.168.1.1 255.255.255.0

# 开启本地代理ARP功能。

[DeviceA-Vlan-interface10] local-proxy-arp enable

[DeviceA-Vlan-interface10] quit

4. 显示和验证

# 查看Private VLAN 10的相关信息,验证以上配置是否生效。

[DeviceA] display private-vlan 10

 Primary VLAN ID: 10

 Secondary VLAN ID: 2-3

 

 VLAN ID: 10

 VLAN type: Static

 Private VLAN type: Primary

 Route interface: Configured

 IPv4 address: 192.168.1.1

 IPv4 subnet mask: 255.255.255.0

 Description: VLAN 0010

 Name: VLAN 0010

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/1

    GigabitEthernet1/0/2

    GigabitEthernet1/0/3

 

 VLAN ID: 2

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Configured

 IPv4 address: 192.168.1.1

 IPv4 subnet mask: 255.255.255.0

 Description: VLAN 0002

 Name: VLAN 0002

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/1

    GigabitEthernet1/0/2

 

 VLAN ID: 3

 VLAN type: Static

 Private VLAN type: Secondary

 Route interface: Configured

 IPv4 address: 192.168.1.1

 IPv4 subnet mask: 255.255.255.0

 Description: VLAN 0003

 Name: VLAN 0003

 Tagged ports:   None

 Untagged ports:

    GigabitEthernet1/0/1

    GigabitEthernet1/0/3

可以看到,Secondary VLAN 2和Secondary VLAN 3的Route interface字段都显示为Configured,说明Secondary VLAN 2与Secondary VLAN 3间已配置三层互通。


4 Voice VLAN

4.1  Voice VLAN简介

Voice VLAN是为用户的语音数据流专门划分的VLAN。通过划分Voice VLAN并将连接语音设备的端口加入Voice VLAN,系统自动为语音报文修改QoS(Quality of Service,服务质量)参数,来提高语音数据报文优先级、保证通话质量。

说明

常见的语音设备有IP电话、IAD(Integrated Access Device,综合接入设备)等。本文中以IP电话为例进行说明。

 

当IP电话接入设备时,需要设备完成以下两个任务:

(1)     识别IP电话,获取IP电话的MAC地址,从而进行安全认证及提高语音报文的优先级。

(2)     将Voice VLAN信息通告给IP电话,IP电话能够根据收到的Voice VLAN信息完成自动配置,使IP电话发出的语音报文在Voice VLAN内传输。

4.2  设备识别IP电话

4.2.1  OUI地址

设备可以根据端口接收的报文的源MAC地址来判断该数据流是否为语音数据流。源MAC地址符合系统配置的语音设备OUI(Organizationally Unique Identifier,全球统一标识符)地址的报文被认为是语音数据流。

用户可以预先配置OUI地址,也可以使用缺省的OUI地址作为判断标准。设备缺省的OUI地址如表4-1所示。

表4-1 设备缺省的OUI地址

序号

OUI地址

生产厂商

1

0001-e300-0000

Siemens phone

2

0003-6b00-0000

Cisco phone

3

0004-0d00-0000

Avaya phone

4

000f-e200-0000

H3C Aolynk phone

5

0060-b900-0000

Philips/NEC phone

6

00d0-1e00-0000

Pingtel phone

7

00e0-7500-0000

Polycom phone

8

00e0-bb00-0000

3Com phone

 

说明

·     通常意义下,OUI地址指的是MAC地址的前24位(二进制),是IEEE为不同设备供应商分配的一个全球唯一的标识符。本文中的OUI地址有别于通常意义的OUI地址,它是设备判断收到的报文是否为语音报文的依据,是voice-vlan mac-address命令中的mac-addressoui-mask参数相与运算后的结果。

·     设备缺省的OUI地址可以手工删除,删除之后也可再次手工添加。

 

4.2.2  通过LLDP自动识别IP电话

通过设备上配置的OUI地址识别IP电话的方法受限于设备上可配置的OUI地址的数量,并且当网络中IP电话数量众多时,网络管理员的配置工作量较大。如果IP电话支持LLDP(Link Layer Discovery Protocol,链路层发现协议)功能,可以配置LLDP自动识别IP电话功能。

在设备上配置了通过LLDP自动发现IP电话功能后,设备将通过LLDP自动发现对端设备,并与对端设备通过LLDP的TLV进行信息交互。如果通过端口收到的LLDP System Capabilities TLV中的信息发现对端设备具有电话能力,则认为对端设备是IP电话并将设备上配置的Voice VLAN信息通过LLDP发送给对端设备。这种方式使接入网络的IP电话类型不再受限于OUI地址的数量。

在完成IP电话的发现过程后,端口将继续完成Voice VLAN的其他功能,即端口将自动加入Voice VLAN,并提高从该IP电话发出的语音数据的优先级。为防止IP电话无法通过端口上配置的认证功能,设备还会将IP电话的MAC地址添加到MAC地址表中。

有关LLDP的详细信息,请参见“二层技术-以太网交换配置指导”中的“LLDP”。

4.3  设备将Voice VLAN信息通告给IP电话

设备可以通过三种方式将Voice VLAN信息通告给IP电话,这三种方式的优先顺序如下图所示。

·     通过命令行指定LLDP或CDP(Cisco Discovery Protocol,思科发现协议)发布的Voice VLAN ID。

·     当IP电话配合接入认证功能使用时,将认证服务器下发的授权VLAN信息通告给IP电话。

·     直接将端口配置的Voice VLAN信息通告给IP电话。

图4-1 设备向IP电话发布Voice VLAN信息的过程

 

 

4.4  IP电话的接入方式

1. 主机和IP电话串联接入

如下图所示,主机连接到IP电话,IP电话连接到接入设备。在串联接入的环境下,需要将主机和IP电话划分到不同的VLAN,且需要IP电话能发出携带VLAN Tag的报文,从而区分业务数据流和语音数据流。同时,需要配置端口允许Voice VLAN和PVID通过。

图4-2 主机与IP电话串联接入组网图

 

2. IP电话单独接入

如下图所示,IP电话单独接入设备。单独接入适用于IP电话发出Untagged语音报文的情况,此时需要配置PVID为Voice VLAN,并配置端口允许PVID通过。

图4-3 IP电话单独接入组网图

 

4.5  Voice VLAN的工作模式

4.5.1  Voice VLAN的自动模式和手动模式

根据端口加入Voice VLAN的不同方式,可以将Voice VLAN的工作模式分为自动模式和手动模式。

1. 自动模式

自动模式适用于主机和IP电话串联接入(端口同时传输语音数据和普通业务数据)的组网方式,如图4-2所示。

自动模式下,系统利用IP电话上电时发出的协议报文,识别报文的源MAC地址,匹配OUI地址。匹配成功后,系统将自动把语音报文的入端口加入Voice VLAN,并下发ACL规则、配置报文的优先级。用户可以在设备上配置Voice VLAN的老化时间,当在老化定时器停止前系统没有从入端口收到任何语音报文时,系统将把该端口从Voice VLAN中删除。端口的添加/删除到Voice VLAN的过程由系统自动实现。当Voice VLAN正常工作时,如果遇到IP电话重新启动,为保证已经建立的语音连接能够正常工作,系统会在IP电话重新启动完成后,将配置为自动模式的端口重新加入Voice VLAN,而不需要再次通过语音流触发。

2. 手动模式

手动模式适用于IP电话单独接入(端口仅传输语音报文)的组网方式,如图4-3所示。该组网方式可以使该端口专用于传输语音数据,最大限度避免业务数据对语音数据传输的影响。

手动模式下,需要手工将连接IP电话的端口加入Voice VLAN中。再通过识别报文的源MAC地址,匹配OUI地址。匹配成功后,系统将下发ACL规则、配置报文的优先级。端口的添加/删除到Voice VLAN的过程由网络管理员手动实现。

3. Voice VLAN工作模式和IP电话的配合

由于IP电话类型较多,因此需要用户保证端口的链路类型与IP电话匹配,不同Voice VLAN工作模式下的详细配合关系请见表4-2表4-3

·     IP电话发送Tagged语音数据

表4-2 不同类型端口支持Tagged语音数据配置要求

Voice VLAN工作模式

端口类型

是否支持Tagged语音数据

配置要求

自动模式

Access

不支持

-

Trunk

支持

PVID不能为Voice VLAN

Hybrid

手工模式

Access

不支持

-

Trunk

支持

PVID不能为Voice VLAN,需要配置端口允许Voice VLAN的报文通过

Hybrid

支持

PVID不能为Voice VLAN,需要配置端口允许Voice VLAN的报文携带Tag通过

 

·     IP电话发送Untagged语音数据

当IP电话发送Untagged语音数据,则端口的Voice VLAN工作模式只能为手工模式,不能为自动模式。

表4-3 不同类型端口支持Untagged语音数据配置要求

Voice VLAN工作模式

端口类型

是否支持Untagged语音数据

配置要求

自动模式

Access

不支持

-

Trunk

Hybrid

手工模式

Access

支持

端口加入Voice VLAN

Trunk

支持

PVID必须为Voice VLAN,且接入端口允许PVID通过

Hybrid

支持

PVID必须为Voice VLAN,且允许PVID的报文不带VLAN Tag通过

 

注意

·     如果用户的IP电话发出的是Tagged语音流,且接入端口上开启了802.1X认证和Guest VLAN/Auth-Fail VLAN/Critical VLAN,为保证各种功能的正常使用,请为Voice VLAN、PVID和802.1X的Guest VLAN/Auth-Fail VLAN/Critical VLAN分配不同的VLAN ID。

·     如果用户的IP电话发出的是Untagged语音流,为实现Voice VLAN功能,只能将PVID配置为Voice VLAN,此时将不能实现802.1X认证功能。

 

4.5.2  Voice VLAN的安全模式和普通模式

开启了Voice VLAN功能的端口会对接收到的报文进行过滤,根据过滤机制的不同,可以将Voice VLAN的工作模式分为普通模式和安全模式:

·     普通模式下,端口加入Voice VLAN后,设备对于接收的语音报文不再一一进行识别,凡是带有Voice VLAN Tag的报文,设备将不再检查其源MAC地址是否为语音设备的OUI地址,均接收并在Voice VLAN中转发。对于PVID就是Voice VLAN的手工模式端口,会导致任意的Untagged报文都可以在Voice VLAN中传输。这样的处理方式很容易使Voice VLAN收到恶意用户的流量攻击。恶意用户可以构造大量带有Voice VLAN Tag或Untagged的报文,占用Voice VLAN的带宽,影响正常的语音通信。

·     安全模式下,设备将对每一个要进入Voice VLAN传输的报文进行源MAC地址匹配检查,对于不能匹配OUI地址的报文,则将其丢弃。

对于比较安全的网络,用户可以配置Voice VLAN的普通模式,以减少检查报文的工作对系统资源的占用。

提示

·     只有匹配了OUI地址的报文才能被修改优先级。比如在普通模式下,报文在Voice VLAN中转发,但如果该报文未匹配OUI地址,则该报文不会被修改优先级。

·     建议用户尽量不要在Voice VLAN中同时传输语音和业务数据。如确有此需要,请确认Voice VLAN的安全模式已关闭,否则业务数据会被丢弃。

 

表4-4 Voice VLAN的安全/普通模式对报文的处理

Voice VLAN工作模式

报文类型

处理方式

安全模式

Untagged报文

当报文的源MAC地址是可识别的OUI地址时,允许该报文在Voice VLAN内传输,否则将该报文丢弃

带有Voice VLAN Tag的报文

带有其他VLAN Tag的报文

根据指定端口是否允许该VLAN通过来对报文进行转发和丢弃的处理,不受Voice VLAN安全/普通模式的影响

普通模式

Untagged报文

不对报文的源MAC地址进行检查,所有报文均可以在Voice VLAN内进行传输

带有Voice VLAN Tag的报文

带有其他VLAN Tag的报文

根据指定端口是否允许该VLAN通过来对报文进行转发和丢弃的处理,不受Voice VLAN安全/普通模式的影响

 

4.6  Voice VLAN配置限制和指导

配置了Voice VLAN的端口将不支持配置EVB功能,有关EVB的详细介绍,请参见“EVB配置指导”中的“EVB”。

聚合接口以及聚合组的成员端口均不支持Voice VLAN功能。有关聚合接口和成员端口的介绍,请参见“二层技术-以太网交换配置指导”中的“以太网链路聚合”。

Voice VLAN的老化定时器需在对应的MAC地址表项老化之后才能启动,因此Voice VLAN实际的老化时间为设备上配置的Voice VLAN老化时间与动态MAC地址表项老化时间之和。有关动态MAC地址老化时间的详细介绍,请参见“MAC地址表”。

不建议Voice VLAN功能与MAC地址禁止学习功能或MAC地址数学习上限功能同时使用,否则部分流量可能被丢弃:

·     同时配置Voice VLAN功能与MAC地址禁止学习功能时,仅精确匹配了OUI地址的报文能够正常转发,未精确匹配的报文将被丢弃。

·     同时配置Voice VLAN功能与MAC地址数学习上限功能时,当接口学习到的MAC地址到达所配置的上限后,仅匹配MAC地址表中已学习到的表项和OUI地址的报文能够正常转发,其余报文将被丢弃。

4.7  Voice VLAN配置任务简介

表4-5 Voice VLAN配置任务简介

配置任务

说明

详细配置

配置语音报文的QoS优先级

必选

4.8.1 

配置自动模式下的Voice VLAN

二者必选其一

4.8.2 

配置手动模式下的Voice VLAN

4.8.3 

配置通过LLDP自动发现IP电话功能

可选

4.8.4 

配置通过LLDP通过Voice VLAN信息

二者可选其一

4.8.5 

配置通过CDP通告Voice VLAN信息

4.8.6 

 

4.8  配置Voice VLAN

4.8.1  配置语音报文的QoS优先级

Voice VLAN在实现中,通过提高语音报文的QoS优先级(CoS和DSCP值)来保证语音通信的质量。语音报文会自带QoS优先级,通过配置,用户可以选择在语音报文通过设备时修改或者不修改报文的QoS优先级。

配置语音报文的QoS优先级时,需要注意:

·     在Voice VLAN已开启的情况下,不允许配置/修改语音报文的QoS优先级。必须关闭端口上的Voice VLAN功能后,才能配置/修改语音报文的QoS优先级。

·     在同一端口多次执行本配置,最后一次执行的配置生效。

表4-6 配置语音报文的QoS优先级

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口信任Voice VLAN内语音报文的优先级

voice-vlan qos trust

二者选其一

缺省情况下,端口将Voice VLAN内语音报文的CoS值修改为6,DSCP值修改为46

配置端口将Voice VLAN内语音报文的CoS和DSCP值修改为指定值

voice-vlan qos cos-value dscp-value

 

4.8.2  配置自动模式下的Voice VLAN

配置自动模式下的Voice VLAN时,需要注意:

·     自动模式下的Voice VLAN只支持Hybrid端口对Tagged的语音流进行处理,而协议VLAN特性要求Hybrid入端口的报文格式为Untagged的,因此,不能将某个VLAN同时配置为Voice VLAN和协议VLAN。

·     配置MSTP多实例情况下,如果端口在要加入的Voice VLAN对应的MSTP实例中是阻塞状态,则端口会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发功能。自动模式Voice VLAN的使用场景为接入侧,不建议和多实例MSTP同时使用。

·     配置PVST情况下,如果端口要加入的Voice VLAN不为端口允许通过的VLAN,则端口处于阻塞状态,会丢弃收到的报文,造成MAC地址不能上送,不能完成动态触发功能。自动模式Voice VLAN的使用场景为接入侧,不建议和PVST同时使用。

·     当端口配置了动态触发端口加入静态MAC VLAN,又配置本功能时,两个功能可能会相互影响,导致其中某个功能不可用。当端口同时配置了本功能和动态触发端口加入静态MAC VLAN,再取消其中任何一个功能的配置,会导致另一个功能不可用。因此不建议同一端口同时配置本功能和动态触发端口加入静态MAC VLAN。

表4-7 配置自动模式下的Voice VLAN

操作

命令

说明

进入系统视图

system-view

-

(可选)配置Voice VLAN的老化时间

voice-vlan aging minutes

缺省情况下,老化时间为1440分钟,老化时间只对自动模式下的端口有效

(可选)开启Voice VLAN的安全模式

voice-vlan security enable

缺省情况下,Voice VLAN工作在安全模式

(可选)配置Voice VLAN识别的OUI地址

voice-vlan mac-address oui mask oui-mask [ description text ]

Voice VLAN启动后将有缺省的OUI地址,请参见“表4-1设备缺省的OUI地址

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的链路类型

·     port link-type trunk

·     port link-type hybrid

二者选其一

配置端口的Voice VLAN工作模式为自动模式

voice-vlan mode auto

缺省情况下,端口的Voice VLAN工作模式为自动模式

开启端口的Voice VLAN功能

voice-vlan vlan-id enable

缺省情况下,端口的Voice VLAN功能处于关闭状态

开启端口的Voice VLAN功能之前,须确保对应的VLAN已存在

 

4.8.3  配置手动模式下的Voice VLAN

配置手动模式下的Voice VLAN时,需要注意:

·     同一设备同一时刻可以给不同的端口配置不同的Voice VLAN,但一个端口只能配置一个Voice VLAN,而且这些VLAN必须是已经存在的静态VLAN。

·     当端口开启了Voice VLAN并工作在手工模式时,必须手工将端口加入Voice VLAN,才能保证Voice VLAN功能生效。

表4-8 配置手动模式下的Voice VLAN

操作

命令

说明

进入系统视图

system-view

-

(可选)开启Voice VLAN的安全模式

voice-vlan security enable

缺省情况下,Voice VLAN工作在安全模式

(可选)配置Voice VLAN中可识别的OUI地址

voice-vlan mac-address oui mask oui-mask [ description text ]

Voice VLAN启动后将有缺省的OUI地址,请参见“表4-1设备缺省的OUI地址

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口的Voice VLAN工作模式为手动模式

undo voice-vlan mode auto

缺省情况下,端口的Voice VLAN工作模式为自动模式

将手动模式端口加入Voice VLAN

·     Access端口:
请参见“1.6.2  配置基于Access端口的VLAN

·     Trunk端口:
请参见“1.6.3  配置基于Trunk端口的VLAN

·     Hybrid端口:
请参见“1.6.4  配置基于Hybrid端口的VLAN

三者选其一

将Access端口加入Voice VLAN后,Voice VLAN会自动成为PVID

(可选)配置PVID为Voice VLAN

·     Trunk端口:
请参见“1.6.3  配置基于Trunk端口的VLAN

·     Hybrid端口:
请参见“1.6.4  配置基于Hybrid端口的VLAN

二者选其一

当输入的语音流是Untagged语音流时,需要进行该项配置;当输入的语音流是Tagged语音流时,不能将PVID配置为Voice VLAN

开启端口的Voice VLAN功能

voice-vlan vlan-id enable

缺省情况下,端口的Voice VLAN功能处于关闭状态

开启端口的Voice VLAN功能之前,须先创建对应的VLAN

 

4.8.4  配置通过LLDP自动发现IP电话功能

配置通过LLDP自动发现IP电话功能时,需要注意:

·     在配置本功能前,需要在全局和接入端口均开启LLDP功能。

·     通过LLDP自动发现IP电话功能只能与Voice VLAN自动模式配合使用,不能与手动模式配合使用。

·     通过LLDP自动发现IP电话功能与LLDP兼容CDP功能不能同时配置。

表4-9 配置通过LLDP自动发现IP电话功能

操作

命令

说明

进入系统视图

system-view

-

开启通过LLDP自动发现IP电话功能

voice-vlan track lldp

缺省情况下,通过LLDP自动发现IP电话功能处于关闭状态

 

4.8.5  配置通过LLDP通告Voice VLAN信息

对于支持LLDP的IP电话,可以通过LLDP-MED中的Network Policy TLV将Voice VLAN信息通告给IP电话。

需要注意的是,在配置本功能前,需要在全局和接入端口开启LLDP功能。

表4-10 配置通过LLDP通告Voice VLAN信息

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网接口视图

interface interface-type interface-number

-

配置端口上发布的Voice VLAN ID

lldp tlv-enable med-tlv network-policy vlan-id

缺省情况下,未配置端口上发布的Voice VLAN ID

 

说明

·     LLDP-MED Network Policy TLV中的信息可以通过display lldp local-information命令查看。

·     有关lldp tlv-enable命令和display lldp local-information命令的详细介绍,请参见“二层技术-以太网交换命令参考”中的“LLDP”。

 

4.8.6  配置通过CDP通告Voice VLAN信息

如果IP电话只支持CDP,不支持LLDP,当设备与这类IP电话直连时,IP电话将会向设备发送CDP报文以请求在设备上所配Voice VLAN的VLAN ID;如果在指定时间内没有收到设备发送的Voice VLAN的VLAN ID,IP电话将会把语音数据流以Untagged方式发送,从而导致语音数据流与其他类型的数据流混在一起,无法进行区分。

通过在设备上配置LLDP兼容CDP功能,可以利用LLDP来接收、识别从IP电话发送的CDP报文,并向IP电话发送CDP报文,该CDP报文携带设备配置的Voice VLAN信息,使IP电话完成Voice VLAN的自动配置。之后IP电话的语音数据流将被限制在配置的Voice VLAN内,与其他数据流区分开来。

需要注意的是,在配置本功能前,需要在全局和接入端口开启LLDP功能。

表4-11 配置通过CDP通告Voice VLAN信息

操作

命令

说明

 

进入系统视图

system-view

-

 

开启LLDP兼容CDP功能

lldp compliance cdp

缺省情况下,LLDP兼容CDP功能处于关闭状态

进入二层以太网接口视图

interface interface-type interface-number

-

配置LLDP兼容CDP功能的工作模式为TxRx

lldp compliance admin-status cdp txrx

缺省情况下,LLDP兼容CDP功能的工作模式为Disable

配置CDP报文携带的Voice VLAN ID

cdp voice-vlan vlan-id

缺省情况下,未配置CDP报文携带的Voice VLAN ID

 

说明

设备发送给IP电话的CDP报文中不包含优先级信息。

 

4.9  Voice VLAN显示和维护

在完成上述配置后,在任意视图下执行display命令可以显示配置后Voice VLAN的运行情况,通过查看显示信息验证配置的效果。

表4-12 Voice VLAN显示和维护

操作

命令

显示Voice VLAN的状态

display voice-vlan state

显示系统当前支持的OUI地址

display voice-vlan mac-address

 

4.10  Voice VLAN典型配置举例

4.10.1  自动模式下Voice VLAN的配置举例

1. 组网需求

·     IP phone A的MAC地址为0011-1100-0001,下行连接PC A(MAC地址为0022-1100-0002),上行连接到Device A的GigabitEthernet1/0/1端口。

·     IP phone B的MAC地址为0011-2200-0001,下行连接PC B(MAC地址为0022-2200-0002),上行连接到Device A的GigabitEthernet1/0/2端口。

·     Device A使用Voice VLAN 2传输IP phone A产生的语音报文;使用Voice VLAN 3传输IP phone B产生的语音报文。

·     Device A的端口GigabitEthernet1/0/1和GigabitEthernet1/0/2工作在自动模式,如果它们在30分钟内没有收到语音流,就将相应的Voice VLAN老化。

2. 组网图

图4-4 配置自动模式下Voice VLAN组网图

3. 配置步骤

# 创建VLAN 2和VLAN 3。

<DeviceA> system-view

[DeviceA] vlan 2 to 3

# 配置Voice VLAN的老化时间为30分钟。

[DeviceA] voice-vlan aging 30

# 由于端口GigabitEthernet1/0/1可能会同时收到语音和数据两种流量,为了保证语音报文的质量以及带宽的高效利用,配置Voice VLAN工作在安全模式,即Voice VLAN只用于传输语音报文。(可选,缺省情况下,Voice VLAN工作在安全模式)

[DeviceA] voice-vlan security enable

# 配置允许OUI地址为0011-1100-0000和0011-2200-0000的报文通过Voice VLAN,即当报文源MAC地址前缀为0011-1100-0000或0011-2200-0000时,Device A会把它当成语音报文来处理。

[DeviceA] voice-vlan mac-address 0011-1100-0001 mask ffff-ff00-0000 description IP phone A

[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description IP phone B

# 配置端口GigabitEthernet1/0/1为Hybrid类型端口。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

# 将端口GigabitEthernet1/0/1上Voice VLAN的工作模式配置为自动模式。(可选,缺省情况下,端口的Voice VLAN工作在自动模式。)

[DeviceA-GigabitEthernet1/0/1] voice-vlan mode auto

# 开启端口Voice VLAN功能。

[DeviceA-GigabitEthernet1/0/1] voice-vlan 2 enable

[DeviceA-GigabitEthernet1/0/1] quit

# 在端口GigabitEthernet1/0/2上进行相应的配置。

[DeviceA] interface gigabitethernet 1/0/2

[DeviceA-GigabitEthernet1/0/2] port link-type hybrid

[DeviceA-GigabitEthernet1/0/2] voice-vlan mode auto

[DeviceA-GigabitEthernet1/0/2] voice-vlan 3 enable

[DeviceA-GigabitEthernet1/0/2] quit

4. 显示和验证

# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。

[DeviceA] display voice-vlan mac-address

OUI Address     Mask            Description

0001-e300-0000  ffff-ff00-0000  Siemens phone

0003-6b00-0000  ffff-ff00-0000  Cisco phone

0004-0d00-0000  ffff-ff00-0000  Avaya phone

000f-e200-0000  ffff-ff00-0000  H3C Aolynk phone

0011-1100-0000  ffff-ff00-0000  IP phone A

0011-2200-0000  ffff-ff00-0000  IP phone B

0060-b900-0000  ffff-ff00-0000  Philips/NEC phone

00d0-1e00-0000  ffff-ff00-0000  Pingtel phone

00e0-7500-0000  ffff-ff00-0000  Polycom phone

00e0-bb00-0000  ffff-ff00-0000  3Com phone

# 显示当前Voice VLAN的状态。

[DeviceA] display voice-vlan state

 Current voice VLANs: 2

 Voice VLAN security mode: Security

 Voice VLAN aging time: 30 minutes

 Voice VLAN enabled ports and their modes:

 Port                        VLAN        Mode        CoS        DSCP

 GE1/0/1                     2           Auto        6          46

 GE1/0/2                     3           Auto        6          46

4.10.2  手动模式下Voice VLAN的配置举例

1. 组网需求

·     IP Phone A接入Device A的Hybrid类型端口GigabitEthernet1/0/1。IP Phone A发出的报文为Untagged报文。

·     Device A上VLAN 2为Voice VLAN。

·     手工将Device A的端口GigabitEthernet1/0/1工作加入Voice VLAN,其PVID为VLAN 2,添加OUI地址0011-2200-0000,使该端口专用于传输语音报文。

2. 组网图

图4-5 配置手动模式下Voice VLAN组网图

3. 配置步骤

# 配置Voice VLAN为安全模式,使得Voice VLAN端口只允许合法的语音报文通过。(可选,缺省情况下,Voice VLAN工作在安全模式)

<DeviceA> system-view

[DeviceA] voice-vlan security enable

# 配置允许OUI地址为0011-2200-0000的报文通过Voice VLAN,即报文源MAC地址前缀为0011-2200-0000时,Device A会把它当成语音报文来处理。

[DeviceA] voice-vlan mac-address 0011-2200-0001 mask ffff-ff00-0000 description test

# 创建VLAN 2。

[DeviceA] vlan 2

[DeviceA-vlan2] quit

# 配置端口GigabitEthernet1/0/1工作在手动模式。

[DeviceA] interface gigabitethernet 1/0/1

[DeviceA-GigabitEthernet1/0/1] undo voice-vlan mode auto

# 配置端口GigabitEthernet1/0/1为Hybrid类型。

[DeviceA-GigabitEthernet1/0/1] port link-type hybrid

# 配置Voice VLAN是端口GigabitEthernet1/0/1的缺省VLAN,且在该端口允许通过的Untagged VLAN列表中。

[DeviceA-GigabitEthernet1/0/1] port hybrid pvid vlan 2

[DeviceA-GigabitEthernet1/0/1] port hybrid vlan 2 untagged

# 开启端口GigabitEthernet1/0/1的Voice VLAN功能。

[DeviceA-GigabitEthernet1/0/1] voice-vlan 2 enable

[DeviceA-GigabitEthernet1/0/1] quit

4. 显示与验证

# 显示当前系统支持的OUI地址、OUI地址掩码和描述信息。

[DeviceA] display voice-vlan mac-address

OUI Address     Mask            Description

0001-e300-0000  ffff-ff00-0000  Siemens phone

0003-6b00-0000  ffff-ff00-0000  Cisco phone

0004-0d00-0000  ffff-ff00-0000  Avaya phone

000f-e200-0000  ffff-ff00-0000  H3C Aolynk phone

0011-2200-0000  ffff-ff00-0000  test

0060-b900-0000  ffff-ff00-0000  Philips/NEC phone

00d0-1e00-0000  ffff-ff00-0000  Pingtel phone

00e0-7500-0000  ffff-ff00-0000  Polycom phone

00e0-bb00-0000  ffff-ff00-0000  3Com phone

# 显示当前Voice VLAN的状态。

[DeviceA] display voice-vlan state

 Current voice VLANs: 1

 Voice VLAN security mode: Security

 Voice VLAN aging time: 1440 minutes

 Voice VLAN enabled ports and their modes:

 Port                        VLAN        Mode        CoS        DSCP

 GE1/0/1                     2           Manual      6          46

 

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们