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

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

目录

05-VLAN配置

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

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S12500/S12500G-AF/Configure/Operation_Manual/H3C_S12500G_AF_R8043Pxx-2938/04/202203/1578301_30005_0.htm

05-VLAN配置


1 VLAN

1.1  VLAN简介

VLAN(Virtual Local Area Network,虚拟局域网)技术把一个物理LAN划分成多个逻辑的LAN——VLAN,处于同一VLAN的主机能直接互通,而处于不同VLAN的主机则不能直接互通,从而增强了局域网的安全性。划分VLAN后,广播报文被限制在同一个VLAN内,即每个VLAN是一个广播域,有效地限制了广播域的范围。通过VLAN可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。

1.1.1  VLAN报文封装

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

图1-1 VLAN Tag的组成字段

 

图1-1所示,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。

说明

·     以太网支持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.2  基于端口的VLAN

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

1. 端口的链路类型

端口的链路类型分为三种,端口的链路类型决定了端口能否加入多个VLAN。不同链路类型的端口在转发报文时对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简称为PVID(Port VLAN ID)。当端口收到Untagged报文时,会认为该报文所属的VLAN为PVID。

Access端口的PVID就是它所在的VLAN。

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

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

端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-1

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

端口类型

对接收报文的处理

对发送报文的处理

当接收到的报文不带Tag时

当接收到的报文带有Tag时

Access端口

为报文添加端口PVID的Tag

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

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

去掉Tag,发送该报文

Trunk端口

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

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

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

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

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

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

Hybrid端口

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

 

1.1.3  基于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表项的先后顺序,将源MAC地址和掩码相与运算后依次与MAC VLAN表项进行匹配,如果完全相同,则匹配成功;如果没有找到匹配的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-2所示:

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

 

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.1.4  基于IP子网的VLAN

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

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

1.1.5  基于协议的VLAN

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

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

1.1.6  不同VLAN间的三层互通

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

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

1.1.7  协议规范

与VLAN相关的协议规范有:

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

1.2  配置VLAN

1.2.1  配置限制和指导

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

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

1.2.2  创建VLAN

(1)     进入系统视图。

system-view

(2)     创建VLAN。请至少选择其中一项进行配置。

¡     创建一个VLAN,并进入VLAN视图。

vlan vlan-id

¡     批量创建VLAN,然后进入VLAN视图。

vlan { vlan-id-list | all }

vlan vlan-id

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

(3)     (可选)指定VLAN的名称。

name text

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

(4)     (可选)配置VLAN的描述信息。

description text

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

1.3  配置基于端口的VLAN

1.3.1  配置限制和指导

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

·     建议本端设备端口的PVID和相连的对端设备端口的PVID保持一致。

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

1.3.2  配置基于Access端口的VLAN

1. 简介

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

2. 在VLAN视图下配置基于Access端口的VLAN

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     向当前VLAN中添加一个或一组Access端口。

port interface-list

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

3. 在接口视图下配置基于Access端口的VLAN

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置端口的链路类型为Access类型。

port link-type access

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

(4)     将Access端口加入到指定VLAN。

port access vlan vlan-id

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

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

1.3.3  配置基于Trunk端口的VLAN

1. 简介

Trunk端口可以加入多个VLAN。基于Trunk端口的VLAN只能在接口视图下配置。

2. 配置限制和指导

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置端口的链路类型为Trunk类型。

port link-type trunk

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

(4)     允许指定的VLAN通过当前Trunk端口。

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

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

(5)     (可选)配置Trunk端口的PVID。

port trunk pvid vlan vlan-id

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

1.3.4  配置基于Hybrid端口的VLAN

1. 简介

Hybrid端口可以加入多个VLAN。基于Hybrid端口的VLAN只能在接口视图下配置。将Hybrid端口加入VLAN时,指定VLAN必须已经存在。

2. 配置限制和指导

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入接口视图。

¡     进入二层以太网接口视图。

interface interface-type interface-number

¡     进入二层聚合接口视图。

interface bridge-aggregation interface-number

(3)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(4)     允许指定的VLAN通过当前Hybrid端口。

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

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

(5)     (可选)配置Hybrid端口的PVID。

port hybrid pvid vlan vlan-id

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

1.4  配置基于MAC的VLAN

1.4.1  配置限制和指导

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

基于MAC的VLAN不支持和QinQ、VLAN映射在同一接口下配置。关于QinQ的详细介绍请参见“二层技术-以太网交换”中的“QinQ”,关于VLAN映射的详细介绍请参见“二层技术-以太网交换”中的“VLAN映射”。

基于MAC的VLAN不支持和ping功能等三层业务在同一接口下使用。

 

1.4.2  手动配置静态MAC VLAN

(1)     进入系统视图。

system-view

(2)     配置MAC VLAN表项。

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

(3)     进入二层以太网接口视图。

interface interface-type interface-number

(4)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(5)     允许基于MAC的VLAN通过当前Hybrid端口。

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

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

(6)     开启MAC VLAN功能。

mac-vlan enable

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

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

1. 功能简介

当端口接收报文的源MAC地址精确匹配了MAC VLAN表项时,动态触发端口加入MAC VLAN。源MAC地址匹配的VLAN必须是静态VLAN(本地手工创建的VLAN)。

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

当端口对MAC VLAN的中的报文进行转发时,根据MAC VLAN的优先级(MAC地址对应VLAN的802.1p优先级)高低来决定报文传输的优先程度。

2. 配置限制和指导

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

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

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

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

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

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

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     配置MAC VLAN表项。

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

(3)     进入二层以太网接口视图。

interface interface-type interface-number

(4)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(5)     开启MAC VLAN功能。

mac-vlan enable

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

(6)     开启MAC VLAN的动态触发功能。

mac-vlan trigger enable

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

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

port pvid forbidden

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

1.4.4  配置动态MAC VLAN

(1)     进入系统视图。

system-view

(2)     进入二层以太网接口视图。

interface interface-type interface-number

(3)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(4)     允许基于MAC的VLAN通过当前Hybrid端口。

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

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

(5)     开启MAC VLAN功能。

mac-vlan enable

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

(6)     配置接入认证功能。请至少选择其中一项进行配置。

¡     配置802.1X。

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

¡     配置MAC地址认证。

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

1.5  配置基于IP子网的VLAN

1. 配置限制和指导

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

基于IP子网的VLAN不支持和QinQ、VLAN映射在同一接口下配置。关于QinQ的详细介绍请参见“二层技术-以太网交换”中的“QinQ”,关于VLAN映射的详细介绍请参见“二层技术-以太网交换”中的“VLAN映射”。

基于IP子网的VLAN不支持和ping功能等三层业务在同一接口下使用。

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置VLAN与指定的IP子网或IP地址关联。

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

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

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

(4)     退回系统视图。

quit

(5)     进入二层以太网接口视图。

interface interface-type interface-number

(6)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(7)     允许子网VLAN通过当前端口。

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

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

(8)     配置端口与子网VLAN关联。

port hybrid ip-subnet-vlan vlan vlan-id

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

1.6  配置基于协议的VLAN

1. 功能简介

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

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

2. 配置限制和指导

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

基于协议的VLAN不支持和QinQ、VLAN映射在同一接口下配置。关于QinQ的详细介绍请参见“二层技术-以太网交换”中的“QinQ”,关于VLAN映射的详细介绍请参见“二层技术-以太网交换”中的“VLAN映射”。

基于协议的VLAN不支持和ping功能等三层业务在同一接口下使用。

3. 配置步骤

(1)     进入系统视图。

system-view

(2)     进入VLAN视图。

vlan vlan-id

(3)     配置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未关联协议模板。

(4)     退出VLAN视图。

quit

(5)     进入二层以太网接口视图。

interface interface-type interface-number

(6)     配置端口的链路类型为Hybrid类型。

port link-type hybrid

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

(7)     允许协议VLAN通过当前端口。

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

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

(8)     配置端口与协议VLAN关联。

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

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

1.7  配置VLAN

1. 功能简介

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

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

2. 配置步骤

(1)     进入系统视图。

system-view

(2)     创建一个VLAN组,并进入VLAN组视图。

vlan-group group-name

(3)     在VLAN组内添加VLAN成员。

vlan-list vlan-id-list

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

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

1.8  配置VLAN接口

1.8.1  VLAN接口配置任务简介

VLAN接口配置任务如下:

(1)     创建VLAN接口

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

1.8.2  配置准备

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

1.8.3  创建VLAN接口

(1)     进入系统视图。

system-view

(2)     创建VLAN接口,并进入VLAN接口视图。

interface vlan-interface interface-number

(3)     配置VLAN接口的IP地址。

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

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

(4)     (可选)配置VLAN接口的描述信息。

description text

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

(5)     (可选)配置VLAN接口的MTU值。

mtu size

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

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

bandwidth bandwidth-value

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

(7)     取消手工关闭VLAN接口。

undo shutdown

缺省情况下,VLAN接口未手工关闭。

1.8.4  恢复VLAN接口的缺省配置

1. 配置限制和指导

您可以在执行default命令后通过display this命令确认执行效果。对于未能成功恢复缺省的配置,建议您查阅相关功能的命令手册,手工执行恢复该配置缺省情况的命令。如果操作仍然不能成功,您可以通过设备的提示信息定位原因。

2. 配置步骤

(1)     进入系统视图。

(2)     system-view

(3)     进入VLAN接口视图。

interface vlan-interface interface-number

(4)     恢复VLAN接口的缺省配置。

Default

注意

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

 

1.9  VLAN显示和维护

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

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

表1-2 VLAN显示和维护

操作

命令

显示VLAN接口相关信息

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

显示端口关联的子网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 }

显示MAC VLAN表项

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

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

display mac-vlan interface

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

display port { hybrid | trunk }

显示端口关联的协议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 ]

清除VLAN接口的统计信息

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

 

1.10  VLAN典型配置举例

1.10.1  基于端口的VLAN配置举例

1. 组网需求

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

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

2. 组网图

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

3. 配置步骤

 

(1)     配置Device A

# 创建VLAN 100,并将Ten-GigabitEthernet3/0/1加入VLAN 100。

<DeviceA> system-view

[DeviceA] vlan 100

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

[DeviceA-vlan100] quit

# 创建VLAN 200,并将Ten-GigabitEthernet3/0/2加入VLAN 200。

[DeviceA] vlan 200

[DeviceA-vlan200] port ten-gigabitethernet 3/0/2

[DeviceA-vlan200] quit

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

[DeviceA] interface ten-gigabitethernet 3/0/3

[DeviceA-Ten-GigabitEthernet3/0/3] port link-type trunk

[DeviceA-Ten-GigabitEthernet3/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-Ten-GigabitEthernet3/0/3] display vlan 100

 VLAN ID: 100

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0100

 Name: VLAN 0100

 Tagged ports:

    Ten-GigabitEthernet3/0/3(U)

 Untagged ports:

    Ten-GigabitEthernet3/0/1(U)

[DeviceA-Ten-GigabitEthernet3/0/3] display vlan 200

 VLAN ID: 200

 VLAN type: Static

 Route interface: Not configured

 Description: VLAN 0200

 Name: VLAN 0200

 Tagged ports:

    Ten-GigabitEthernet3/0/3(U)

 Untagged ports:

    Ten-GigabitEthernet3/0/2(U)

1.10.2  基于MAC的VLAN配置举例

1. 组网需求

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

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

2. 组网图

图1-4 基于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均可能从Ten-GigabitEthernet1/0/25接入,将Ten-GigabitEthernet1/0/25的端口类型配置为Hybrid,并使其在发送VLAN 100和VLAN 200的报文时去掉VLAN Tag;开启Ten-GigabitEthernet1/0/25端口的MAC VLAN功能。

[DeviceA] interface ten-gigabitethernet 1/0/25

[DeviceA-Ten-GigabitEthernet1/0/25] port link-type hybrid

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

[DeviceA-Ten-GigabitEthernet1/0/25] mac-vlan enable

[DeviceA-Ten-GigabitEthernet1/0/25] quit

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

[DeviceA] interface ten-gigabitethernet 1/0/26

[DeviceA-Ten-GigabitEthernet1/0/26] port link-type trunk

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

[DeviceA-Ten-GigabitEthernet1/0/26] quit

(2)     Device B的配置

# 创建VLAN 100和VLAN 200,并将Ten-GigabitEthernet1/0/27加入VLAN 100,Ten-GigabitEthernet1/0/28加入VLAN 200。

<DeviceB> system-view

[DeviceB] vlan 100

[DeviceB-vlan100] port ten-gigabitethernet 1/0/27

[DeviceB-vlan100] quit

[DeviceB] vlan 200

[DeviceB-vlan200] port ten-gigabitethernet 1/0/28

[DeviceB-vlan200] quit

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

[DeviceB] interface ten-gigabitethernet 1/0/25

[DeviceB-Ten-GigabitEthernet1/0/25] port link-type trunk

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

[DeviceB-Ten-GigabitEthernet1/0/25] quit

[DeviceB] interface ten-gigabitethernet 1/0/26

[DeviceB-Ten-GigabitEthernet1/0/26] port link-type trunk

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

[DeviceB-Ten-GigabitEthernet1/0/26] 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   Dot1p      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.10.3  基于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-5 基于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

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

[DeviceC] interface ten-gigabitEthernet1/0/26

[DeviceC-Ten-GigabitEthernet1/0/26] port link-type hybrid

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

[DeviceC-Ten-GigabitEthernet1/0/26] quit

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

[DeviceC] interface ten-gigabitEthernet1/0/27

[DeviceC-Ten-GigabitEthernet1/0/27] port link-type hybrid

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

[DeviceC-Ten-GigabitEthernet1/0/27] quit

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

[DeviceC] interface ten-gigabitEthernet1/0/25

[DeviceC-Ten-GigabitEthernet1/0/25] port link-type hybrid

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

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

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

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

[DeviceC-Ten-GigabitEthernet1/0/25] 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

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

[DeviceC] display ip-subnet-vlan interface ten-gigabitEthernet1/0/27

 Interface: Ten-GigabitEthernet1/0/25

  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.10.4  基于协议的VLAN配置举例

1. 组网需求

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

2. 组网图

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

3. 配置步骤

(1)     配置Device

# 创建VLAN 100,将端口Ten-GigabitEthernet1/0/27加入VLAN 100。

<Device> system-view

[Device] vlan 100

[Device-vlan100] description protocol VLAN for IPv4

[Device-vlan100] port ten-gigabitEthernet1/0/27

[Device-vlan100] quit

# 创建VLAN 200,将端口Ten-GigabitEthernet1/0/28加入VLAN 200。

[Device] vlan 200

[Device-vlan200] description protocol VLAN for IPv6

[Device-vlan200] port ten-gigabitEthernet1/0/28

# 将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

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

[Device] interface ten-gigabitEthernet1/0/25

[Device-Ten-GigabitEthernet1/0/25] port link-type hybrid

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

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

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

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

[Device-Ten-GigabitEthernet1/0/25] quit

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

[Device] interface ten-gigabitEthernet1/0/26

[Device-Ten-GigabitEthernet1/0/26] port link-type hybrid

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

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

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

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

[Device-Ten-GigabitEthernet1/0/26] 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: Ten-GigabitEthernet1/0/25

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 

 Interface: Ten-GigabitEthernet1/0/26

  VLAN ID  Protocol index  Protocol type             Status

  100      1               IPv4                      Active

  100      2               Ethernet II Etype 0x0806  Active

  200      1               IPv6                      Active

 

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

新华三官网
联系我们