VLAN
1. VLAN
vlan { vlan-id-list | all } // 创建一个VLAN并进入VLAN视图,或批量创建VLAN
缺省情况下,系统只有一个缺省VLAN(VLAN 1)
批量创建VLAN时,为必选;否则,无需执行本命令
name text // 指定VLAN的名称
缺省情况下,VLAN的名称为“VLAN vlan-id”
description text // 配置VLAN的描述信息
-
VLAN 1为系统缺省VLAN,用户不能手工创建和删除。
-
动态学习到的VLAN,以及被其他应用锁定不让删除的VLAN,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。
2. 配置VLAN接口
不同VLAN间的主机不能直接通信,通过在设备上创建并配置VLAN接口,可以实现VLAN间的三层互通。
VLAN接口是一种三层的虚拟接口,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该IP地址即可作为本VLAN内网络设备的网关地址,此时该VLAN接口能对需要跨网段的报文进行三层转发。
配置VLAN接口基本属性时,需要注意:
-
在创建VLAN接口之前,对应的VLAN必须已经存在,否则将不能创建指定的VLAN接口。
-
不能对Sub VLAN及在Primary VLAN interface下配置了三层互通的Secondary VLAN创建对应的VLAN接口。
-
VLAN接口下配置MAC地址和BFD MAD检测功能互斥。
| 配置 | 命令 |
|---|---|
| 进入系统视图 | system-view |
| 创建VLAN接口并进入VLAN接口视图 | interface vlan-interface interface-number |
| 配置VLAN接口的IP地址 | ip address ip-address { mask | mask-length } [ sub ] |
| 配置VLAN接口的描述信息 | description text |
| 配置VLAN接口的MTU值 | mtu size |
| (可选)配置VLAN接口的MAC地址 | mac-address mac-address |
| (可选)配置VLAN接口的期望带宽 | bandwidth bandwidth-value |
| (可选)恢复VLAN接口的缺省配置 | default |
| (可选)取消手工关闭VLAN接口 | undo shutdown |
(可选)配置处理接口流量的slot:
(独立运行模式) service slot slot-number
(IRF模式) service chassis chassis-number slot slot-number
缺省情况下,未配置处理接口流量的slot
当要求同一个VLAN接口的流量必须在同一个slot上进行处理时,可以在VLAN接口下配置处理接口流量的slot
缺省情况下,接口的期望带宽=接口的波特率÷1000(kbps)
3. 基于端口的VLAN
3.1 基于端口的VLAN简介
基于端口划分VLAN是最简单、最有效的VLAN划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,该端口就可以转发该VLAN的报文。
用户可以配置端口的链路类型及缺省VLAN,其中,链路类型决定了端口能否加入多个VLAN。
3.1.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通过。
3.1.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.1.3 端口对报文的处理方式
在配置了端口链路类型和端口缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况
不同链路类型端口收发报文的差异:
Access端口:
对接收报文的处理:当接收到的报文不带Tag时,为报文添加端口缺省VLAN的Tag;当接收到的报文带有Tag时,当报文的VLAN ID与端口的缺省VLAN ID相同时,接收该报文 ,否则丢弃该报文;
对发送报文的处理:去掉Tag,发送该报文;
Trunk端口与Hybrid端口
对接收报文的处理的处理方式相同
当接收到的报文不带Tag时:当端口的缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加端口缺省VLAN的Tag,否则丢弃该报文;当接收到的报文带有Tag时:当报文的VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,否则丢弃该报文;
Trunk端口对发送报文的处理:
-
当报文的VLAN ID与端口的缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文
-
当报文的VLAN ID与端口的缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文
Hybrid端口对发送报文的处理:
当报文的VLAN ID是端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN的报文时是否携带Tag
Notes:
缺省情况下,对于Untagged报文的处理顺序为:基于MAC的VLAN->基于IP子网的VLAN->基于协议的VLAN->基于端口的VLAN。
3.2 配置基于Access端口的VLAN
配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在接口视图下进行配置。
在VLAN视图下配置
vlan vlan-id // 进入VLAN视图
port interface-list // 向当前VLAN中添加一个或一组Access端口
缺省情况下,系统将所有端口都加入到VLAN 1
在接口视图下配置
进入相应视图:
interface interface-type interface-number // 二层以太网接口视图
interface bridge-aggregation interface-number // 二层聚合接口视图
interface s-channel interface-number.channel-id // S通道接口视图
interface schannel-aggregation interface-number:channel-id // 聚合S通道接口视图
port link-type access // 配置端口的链路类型为Access类型
缺省情况下,端口的链路类型为Access
port access vlan vlan-id // 将Access端口加入到指定VLAN
缺省情况下,所有Access端口都属于VLAN 1
在将Access端口加入到指定VLAN之前,该VLAN必须已经存在
3.3 配置基于Trunk端口的VLAN
Trunk端口可以允许多个VLAN通过,只能在接口视图下进行配置。
配置基于Trunk端口的VLAN时,需要注意:
-
Trunk端口不能直接切换为Hybrid端口,只能先将Trunk端口配置为Access端口,再配置为Hybrid端口。
-
配置端口缺省VLAN后,必须使用port trunk permit vlan命令配置允许端口缺省VLAN的报文通过,接口才能转发端口缺省VLAN的报文。
进入相应视图:
interface interface-type interface-number // 二层以太网接口视图
interface bridge-aggregation interface-number // 二层聚合接口视图
interface s-channel interface-number.channel-id // S通道接口视图
interface schannel-aggregation interface-number:channel-id // 聚合S通道接口视图
port link-type Trunk // 配置端口的链路类型为Trunk类型
port trunk permit vlan { vlan-id-list | all } // 允许指定的VLAN通过当前Trunk端口
缺省情况下,Trunk端口只允许VLAN 1的报文通过
port trunk pvid vlan vlan-id // (可选)配置Trunk端口的缺省VLAN
缺省情况下,Trunk端口的缺省VLAN为VLAN 1
3.4 配置基于Hybrid端口的VLAN
Hybrid端口可以允许多个VLAN通过,只能在接口视图下进行配置。
配置基于Hybrid端口的VLAN时,需要注意:
-
Hybrid端口不能直接切换为Trunk端口,只能先将Hybrid端口配置为Access端口,再配置为Trunk端口。
-
在配置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
-
配置端口缺省VLAN后,必须使用
port hybrid vlan命令配置允许端口缺省VLAN的报文通过,出接口才能转发端口缺省VLAN的报文。
进入相应视图:
interface interface-type interface-number // 二层以太网接口视图
interface bridge-aggregation interface-number // 二层聚合接口视图
interface s-channel interface-number.channel-id // S通道接口视图
interface schannel-aggregation interface-number:channel-id // 聚合S通道接口视图
port link-type Hybrid // 配置端口的链路类型为Hybrid类型
port hybrid vlan vlan-id-list { tagged | untagged } // 允许指定的VLAN通过当前Hybrid端口
缺省情况下,Hybrid端口只允许该端口在链路类型为Access时的所属VLAN的报文以Untagged方式通过
port hybrid pvid vlan vlan-id // (可选)配置Hybrid端口的缺省VLAN
缺省情况下,Hybrid端口的缺省VLAN为该端口在链路类型为Access时的所属VLAN
4. 基于MAC的VLAN
4.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。
4.1.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列表里,则转发该报文;否则丢弃该报文。
4.1.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,若是,则转发该报文;否则丢弃该报文。
Notes:
-
在端口自动加入MAC VLAN表项中相应的VLAN时,若端口此前未配置允许该VLAN通过,则端口自动以Untagged方式加入该VLAN;若端口此前已配置允许该VLAN通过,则不改变原有配置。
-
如果用户在同一端口上同时开启了手动配置MAC VLAN和动态触发端口加入MAC VLAN,此时该端口选择使用后者的功能。
-
当端口收到的报文与MAC VLAN表项匹配,对该报文进行转发时,根据MAC VLAN的优先级(MAC地址对应VLAN的802.1p优先级)高低来决定报文传输的优先程度。
4.1.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列表中删除。
4.2 配置基于MAC的VLAN
· 基于MAC的VLAN只对Hybrid端口配置有效。
· Super VLAN不能作为MAC VLAN表项中的VLAN。
· 存在模糊匹配的MAC VLAN表项(掩码不是全F的表项)时,不支持通过vlan precedence ip-subnet-vlan命令优先根据IP子网来匹配VLAN。
· 基于MAC的VLAN功能主要在用户的接入设备的下行端口上进行配置。聚合组的成员端口不支持基于MAC的VLAN功能。
· 二层聚合接口不支持配置动态触发端口加入静态MAC VLAN。
4.2.1 手动配置静态MAC VLAN
mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ dot1p priority ] // 配置MAC VLAN
缺省情况下,不存在MAC VLAN表项
interface interface-type interface-number // 进入二层以太网接口视图或二层聚合接口视图
port link-type hybrid
port hybrid vlan vlan-id-list { tagged | untagged } // 允许基于MAC的VLAN通过当前Hybrid端口
mac-vlan enable // 开启MAC VLAN功能
vlan precedence { mac-vlan | ip-subnet-vlan } // (可选)配置接口的VLAN优先匹配方式
缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN
4.2.2 配置动态触发端口加入静态MAC VLAN
配置动态触发端口加入静态MAC VLAN时,需要注意:
-
不建议配置模糊匹配的MAC VLAN表项(即掩码不是全F的表项),否则流量可能被丢弃。
-
端口配置了MAC VLAN的动态触发功能后,建议不要修改该端口的PVID。修改该端口的PVID将导致报文转发异常,要恢复正常,可以在该端口依次执行
undo mac-vlan trigger enable、undo mac-vlan enable、mac-vlan enable、mac-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。
配置动态触发端口加入静态MAC VLAN:
mac-vlan mac-address mac-address vlan vlan-id [ dot1p priority ] // 配置MAC VLAN表项
interface interface-type interface-number // 进入二层以太网接口视图
port link-type hybrid
mac-vlan enable
mac-vlan trigger enable // 开启MAC VLAN的动态触发功能
缺省情况下,MAC VLAN的动态触发功能处于关闭状态
开启MAC VLAN的动态触发功能后,只有端口接收的报文的源MAC地址精确匹配了MAC VLAN表项,才会动态触发该端口加入相应VLAN
vlan precedence mac-vlan // (可选)配置接口优先根据MAC地址来匹配VLAN
缺省情况下,对于基于MAC的VLAN和基于IP子网的VLAN,优先根据MAC地址来匹配VLAN
port pvid forbidden // (可选)配置当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,禁止该报文在PVID内转发
缺省情况下,当报文源MAC地址与MAC VLAN表项的MAC地址未精确匹配时,允许该报文在PVID内转发
4.2.3 配置动态MAC VLAN
interface interface-type interface-number // 进入二层以太网接口视图或二层聚合接口视图
port link-type hybrid
port hybrid vlan vlan-id-list { tagged | untagged } // 允许基于MAC的VLAN通过当前Hybrid端口
mac-vlan enable
vlan precedence { mac-vlan | ip-subnet-vlan } // (可选)配置接口的VLAN优先匹配方式
配置接入认证功能:802.1X或MAC地址认证,二者至少选其一
5. 配置基于IP子网的VLAN
基于IP子网的VLAN只对Hybrid端口配置有效,只对Untagged报文应用。
基于IP子网的VLAN(简称子网VLAN)是根据报文源IP地址及子网掩码来进行划分的。设备从端口收到Untagged报文后,会根据报文的源IP地址来确定报文所属的VLAN,然后将报文自动划分到指定VLAN中传输。
此特性主要用于将指定网段或IP地址的报文划分到指定的VLAN中传送。
配置基于IP子网的VLAN:
vlan vlan-id
ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ] // 配置VLAN与指定的IP子网或IP地址关联
缺省情况下,VLAN未关联IP子网或IP地址
VLAN关联的IP网段或IP地址不允许是组播网段或组播地址
quit
interface interface-type interface-number
interface bridge-aggregation interface-number
port link-type hybrid
port hybrid vlan vlan-id-list { tagged | untagged } // 允许子网VLAN通过当前端口
port hybrid ip-subnet-vlan vlan vlan-id // 配置端口与子网VLAN关联
缺省情况下,端口未关联子网VLAN
6. 配置基于协议的VLAN
基于协议的VLAN只对Hybrid端口配置有效,只对Untagged报文应用。
基于协议的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-id和protocol-index来唯一标识。最后通过命令行将协议VLAN中的协议模板与端口绑定。
当端口收到Untagged报文时,如果该报文携带的协议类型和封装格式与某协议模板相匹配,则为其添加该协议模板绑定的协议vlan-id的VLAN Tag,否则为其添加PVID的VLAN Tag。
配置基于协议的VLAN:
需要注意的是,协议VLAN特性要求Hybrid入端口的报文格式为Untagged的,而自动模式下的Voice VLAN只支持Hybrid端口对Tagged的语音流进行处理,因此,不能将某个VLAN同时配置为协议VLAN和Voice 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
port link-type hybrid
port hybrid vlan vlan-id-list { tagged | untagged } // 允许协议VLAN通过当前端口
port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all } // 配置端口与协议VLAN关联
7. 配置VLAN组
VLAN组是一组VLAN的集合。VLAN组内可以添加多个VLAN列表,一个VLAN列表表示一组VLAN ID连续的VLAN。
认证服务器可以通过下发VLAN组名的方式为通过认证的802.1X用户下发一组授权VLAN。
vlan-group group-name // 创建一个VLAN组,并进入VLAN组视图
vlan-list vlan-id-list // 在VLAN组内添加VLAN成员
缺省情况下,当前VLAN组中不存在VLAN列表
可以多次在当前VLAN组内添加VLAN成员
8. 配置VLAN流量统计功能
当您需要检查网络状况或者处理网络故障时,可以在设备上打开VLAN的流量统计功能,对通过VLAN的流量总数(包括所有单播、组播和广播报文)进行统计。
统计VLAN流量信息会占用一定的系统资源,请在不需要统计信息时及时关闭此功能。
VXLAN网络中,VLAN的流量统计功能对VTEP上SH系列接口板的用户侧端口的不带VLAN Tag的出方向报文和Tunnel接口的出方向报文不生效。
vlan vlan-id
statistics enable // 开启VLAN的流量统计功能
9. VLAN显示和维护
在任意视图下执行display命令可以显示配置后VLAN的运行情况
在用户视图下执行reset命令可以清除VLAN接口统计信息
| 操作 | 命令 | |
|---|---|---|
| 显示VLAN接口相关信息 | display interface [ vlan-interface [ interface-number ] ] [ brief [ description | down ] ] | |
| 显示MAC VLAN表项 | display mac-vlan | |
| 显示所有开启了MAC VLAN功能的接口 | display mac-vlan interface | |
| 显示端口关联的子网VLAN的信息 | display ip-subnet-vlan interface | |
| 显示指定的或所有子网VLAN的信息 | display ip-subnet-vlan vlan | |
| 显示端口关联的协议VLAN的信息 | display protocol-vlan interface | |
| 显示指定的或所有协议VLAN的信息 | display protocol-vlan vlan | |
| 显示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 | |
| 显示指定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 ] |
10. 基于端口的VLAN典型配置举例
组网需求
-
Host A和Host C属于部门A,但是通过不同的设备接入公司网络;Host B和Host D属于部门B,也通过不同的设备接入公司网络。
-
为了通信的安全性,也为了避免广播报文泛滥,公司网络中使用VLAN技术来隔离部门间的二层流量。其中部门A使用VLAN 100,部门B使用VLAN 200。
组网图
Device A
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] port gigabitethernet 1/0/1
[DeviceA-vlan100] quit
[DeviceA] vlan 200
[DeviceA-vlan200] port gigabitethernet 1/0/2
[DeviceA-vlan200] quit
[DeviceA] interface gigabitethernet 1/0/3
[DeviceA-GigabitEthernet1/0/3] port link-type trunk
[DeviceA-GigabitEthernet1/0/3] port trunk permit vlan 100 200
Device B 同上
[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(U)
Untagged ports:
GigabitEthernet1/0/1(U)
[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(U)
Untagged ports:
GigabitEthernet1/0/2(U)
11. 基于MAC的VLAN典型配置举例
组网需求
-
如下图所示,Device A和Device C的GigabitEthernet1/0/1端口分别连接到两个会议室,Laptop1和Laptop2是会议用笔记本电脑,会在两个会议室间移动使用。
-
Laptop1和Laptop2分别属于两个部门,两个部门间使用VLAN 100和VLAN 200进行隔离。现要求这两台笔记本电脑无论在哪个会议室使用,均只能访问自己部门的服务器,即Server1和Server2。
组网图
Device A
<DeviceA> system-view
[DeviceA] vlan 100
[DeviceA-vlan100] quit
[DeviceA] vlan 200
[DeviceA-vlan200] quit
[DeviceA] mac-vlan mac-address 000d-88f8-4e71 vlan 100 // Laptop1的MAC地址与VLAN 100关联
[DeviceA] mac-vlan mac-address 0014-222c-aa69 vlan 200 // Laptop2的MAC地址与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
Device B
<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
[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
Device C:与Device A完全一致
显示与验证
(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
12. 基于IP子网的VLAN典型配置举例
组网需求
如下图所示,办公区的主机属于不同的网段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中传输。
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
Device A和Device B
配置Device A和Device B允许对应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
13. 基于协议的VLAN典型配置举例
组网需求
如下图所示,实验室网络中大部分主机运行IPv4网络协议,另外为了教学需要还部署了IPv6实验区,因此,有些主机运行IPv6网络协议。为了避免互相干扰,将VLAN 100与IPv4协议、ARP协议关联,VLAN 200与IPv6协议关联,通过协议VLAN将IPv4流量和IPv6流量二层互相隔离。
组网图、
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
L2 switch A和L2 switch B采用缺省配置
配置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。
显示与验证
VLAN 100内的主机和服务器能够互相Ping通;VLAN 200内的主机和服务器能够互相Ping通。但VLAN 100内的主机/服务器与VLAN 200内的主机/服务器之间会Ping失败。
# 查看所有协议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

浙公网安备 33010602011771号