07-VLAN配置
本章节下载: 07-VLAN配置 (352.99 KB)
目 录
以太网是一种基于CSMA/CD(Carrier Sense Multiple Access/Collision Detect,载波侦听多路访问/冲突检测)的共享通讯介质的数据网络通讯技术,当主机数目较多时会导致冲突严重、广播泛滥、性能显著下降甚至使网络不可用等问题。通过交换机实现LAN互联虽然可以解决冲突(Collision)严重的问题,但仍然不能隔离广播报文。在这种情况下出现了VLAN(Virtual Local Area Network,虚拟局域网)技术,这种技术可以把一个LAN划分成多个逻辑的LAN——VLAN,每个VLAN是一个广播域,VLAN内的主机间通信就和在一个LAN内一样,而VLAN间则不能直接互通,这样,广播报文被限制在一个VLAN内,如图1-1所示。
图1-1 VLAN示意图
VLAN的划分不受物理位置的限制:不在同一物理位置范围的主机可以属于同一个VLAN;一个VLAN包含的用户可以连接在同一个交换机上,也可以跨越交换机,甚至可以跨越路由器。
VLAN的优点如下:
l 限制广播域。广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
l 增强局域网的安全性。VLAN间的二层报文是相互隔离的,即一个VLAN内的用户不能和其它VLAN内的用户直接通信,如果不同VLAN要进行通信,则需通过路由器或三层交换机等三层设备。
l 灵活构建虚拟工作组。用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。
要使网络设备能够分辨不同VLAN的报文,需要在报文中添加标识VLAN的字段。由于普通交换机工作在OSI模型的数据链路层,只能对报文的数据链路层封装进行识别。因此,如果添加识别字段,也需要添加到数据链路层封装中。
IEEE(Institute of Electrical and Electronics Engineers,电气和电子工程师学会)于1999年颁布了用以标准化VLAN实现方案的IEEE 802.1Q协议标准草案,对带有VLAN标识的报文结构进行了统一规定。
传统的以太网数据帧在目的MAC地址和源MAC地址之后封装的是上层协议的类型字段,如图1-2所示。
其中DA表示目的MAC地址,SA表示源MAC地址,Type表示报文所属协议类型。
IEEE 802.1Q协议规定在目的MAC地址和源MAC地址之后封装4个字节的VLAN Tag,用以标识VLAN的相关信息。
图1-3 VLAN Tag的组成字段
如图1-3所示,VLAN Tag包含四个字段,分别是TPID(Tag Protocol Identifier,标签协议标识符)、Priority、CFI(Canonical Format Indicator,标准格式指示位)和VLAN ID。
l TPID用来判断本数据帧是否带有VLAN Tag,长度为16bit,缺省取值为0x8100。
l Priority表示报文的802.1P优先级,长度为3bit,相关内容请参见“QoS分册”中的“QoS配置”。
l CFI字段标识MAC地址在不同的传输介质中是否以标准格式进行封装,长度为1bit,取值为0表示MAC地址以标准格式进行封装,为1表示以非标准格式封装,缺省取值为0。
l VLAN ID标识该报文所属VLAN的编号,长度为12bit,取值范围为0~4095。由于0和4095为协议保留取值,所以VLAN ID的取值范围为1~4094。
网络设备利用VLAN ID来识别报文所属的VLAN,根据报文是否携带VLAN Tag以及携带的VLAN Tag值,来对报文进行处理。详细的处理方式请参见“1.4.1 基于端口的VLAN简介”。
l 这里的帧格式以Ethernet II型封装为例,以太网还支持802.2 LLC、802.2 SNAP和802.3 raw封装格式。对于这些封装格式的报文,也会添加VLAN Tag字段,用来区分不同VLAN的报文。
l 对于多VLAN Tag报文,设备会根据其最外层VLAN Tag进行处理,而内层VLAN Tag会被视为报文的普通数据部分。
VLAN根据划分方式不同可以分为不同类型,下面列出了6种最常见的VLAN类型:
l 基于端口的VLAN
l 基于MAC地址的VLAN
l 基于协议的VLAN
l 基于IP子网的VLAN
l 基于策略的VLAN
l 其它VLAN
本章将分别介绍基于端口的VLAN、基于MAC地址的VLAN、基于协议的VLAN和基于IP子网的VLAN。如果某个端口下同时使能以上四种VLAN,则缺省情况下VLAN的匹配将按照MAC VLAN、IP子网VLAN、协议VLAN、端口VLAN的先后顺序进行。
表1-1 配置VLAN基本属性
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN |
vlan { vlan-id1 [ to vlan-id2 ] | all } |
可选 该命令主要用于批量创建VLAN |
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 缺省情况下,系统只有一个缺省VLAN(VLAN1) |
指定当前VLAN的名称 |
name text |
可选 缺省情况下,VLAN的名称为该VLAN的VLAN ID,如“VLAN 0001” |
为VLAN指定一个描述字符串 |
description text |
可选 缺省情况下,VLAN的描述字符串为该VLAN的VLAN ID,如“VLAN 0001” |
l VLAN1为系统缺省VLAN,用户不能手工创建和删除。
l 保留VLAN是系统为实现特定功能预留的VLAN,用户也不能手工创建和删除。
l 不能通过undo vlan命令删除设备上动态学习到的VLAN。
l 如果某个VLAN有相关的QoS策略配置,则不允许删除该VLAN。
l 对于Isolate-user-vlan或Secondary VLAN,如果已经使用isolate-user-vlan命令建立了映射关系,则只有在解除映射关系后才能删除该VLAN。
l 如果某个VLAN已经配置为镜像VLAN或RRPP保留VLAN等,则不能通过undo vlan命令删除该VLAN;只有先删除相应的镜像VLAN或RRPP保留VLAN等的配置才能够删除这个VLAN。
不同VLAN间的主机不能直接通信,需要通过路由器或三层交换机等网络层设备进行转发,设备提供VLAN接口实现对报文进行三层转发的功能。
VLAN接口是一种三层模式下的虚拟接口,主要用于实现VLAN间的三层互通,它不作为物理实体存在于设备上。每个VLAN对应一个VLAN接口,在为VLAN接口配置了IP地址后,该接口即可作为本VLAN内网络设备的网关,对需要跨网段的报文进行基于IP地址的三层转发。
表1-2 配置VLAN接口基本属性
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
创建VLAN接口并进入VLAN接口视图 |
interface vlan-interface vlan-interface-id |
必选 如果该VLAN接口已经存在,则直接进入该VLAN接口视图 |
配置VLAN接口的IP地址 |
ip address ip-address { mask | mask-length } [ sub ] |
可选 缺省情况下,没有配置VLAN接口的IP地址 |
为VLAN接口指定一个描述字符串 |
description text |
可选 缺省情况下,VLAN接口的描述字符串为该VLAN接口的接口名,如“Vlan-interface1 Interface” |
打开VLAN接口 |
undo shutdown |
可选 缺省情况下,VLAN接口的状态为打开,此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态为down时,VLAN接口为down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于up状态时,则VLAN接口处于up状态。如果将VLAN接口的状态设置为down,则VLAN接口的状态始终为down,不受VLAN中端口状态的影响 |
在创建VLAN接口之前,对应的VLAN必须已经存在。否则,将不能创建指定的VLAN接口。
基于端口划分VLAN是VLAN最简单、最有效的划分方法。它按照设备端口来定义VLAN成员,将指定端口加入到指定VLAN中之后,端口就可以转发指定VLAN的报文。
根据端口在转发报文时对Tag标签的不同处理方式,可将端口的链路类型分为三种:
l Access连接:端口发出去的报文不带tag标签。一般用于和不能识别VLAN tag的终端设备相连,或者不需要区分不同VLAN成员时使用。如图1-4所示,Device A和普通的PC相连,PC不能识别带VLAN tag的报文,所以需要将Device A和PC相连端口的链路类型设置为Access。
l Trunk连接:端口发出去的报文,端口缺省VLAN内的报文不带tag,其它VLAN内的报文都必须带tag。通常用于网络传输设备之间的互连。如图1-4所示,Device A和Device B之间需要传输VLAN 2和VLAN 3的报文,所以,需要将Device A和Device B相连端口的链路类型设置为Trunk,并允许VLAN 2和VLAN 3通过。
l Hybrid连接:端口发出去的报文可根据需要设置某些VLAN内的报文带tag,某些VLAN内的报文不带tag。通常用于相连的设备是否支持VLAN tag不确定的情况。如图1-4所示,Device B与一个小局域网相连,局域网中有些PC属于VLAN 2,有些PC属于VLAN 3,此时需要将Device B与该局域网相连端口的链路类型设置为Hybrid,并允许VLAN 2和VLAN 3的报文不带tag通过。
除了可以设置端口允许通过的VLAN,还可以设置端口的缺省VLAN。在缺省情况下,所有端口的缺省VLAN均为VLAN1,但用户可以根据需要进行配置。
l Access端口的缺省VLAN就是它所在的VLAN,不能配置。
l Trunk端口和Hybrid端口可以允许多个VLAN通过,能够配置缺省VLAN。
l 当执行undo vlan命令删除的VLAN是某个端口的缺省VLAN时,对Access端口,端口的缺省VLAN会恢复到VLAN1;对Trunk或Hybrid端口,端口的缺省VLAN配置不会改变,即它们可以使用已经不存在的VLAN作为缺省VLAN。
l 建议本端设备端口的缺省VLAN ID和相连的对端设备端口的缺省VLAN ID保持一致。
l 建议保证端口的PVID属于端口所在的VLAN。如果端口不在某VLAN内,但是端口的PVID仍然为该VLAN,当端口收到该VLAN的报文或者不带VLAN Tag的报文(包括MSTP等协议报文)都会被过滤。
在配置了端口链路类型和缺省VLAN后,端口对报文的接收和发送的处理有几种不同情况,具体情况请参看表1-3。
端口类型 |
对接收报文的处理 |
对发送报文的处理 |
|
当接收到的报文不带Tag时 |
当接收到的报文带有Tag时 |
||
Access端口 |
为报文添加缺省VLAN的Tag |
l 当VLAN ID与缺省VLAN ID相同时,接收该报文 l 当VLAN ID与缺省VLAN ID不同时,丢弃该报文 |
去掉Tag,发送该报文 |
Trunk端口 |
l 当缺省VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文,给报文添加缺省VLAN的Tag l 当缺省VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
l 当VLAN ID在端口允许通过的VLAN ID列表里时,接收该报文 l 当VLAN ID不在端口允许通过的VLAN ID列表里时,丢弃该报文 |
l 当VLAN ID与缺省VLAN ID相同,且是该端口允许通过的VLAN ID时:去掉Tag,发送该报文 l 当VLAN ID与缺省VLAN ID不同,且是该端口允许通过的VLAN ID时:保持原有Tag,发送该报文 |
Hybrid端口 |
当报文中携带的VLAN ID是该端口允许通过的VLAN ID时,发送该报文,并可以通过port hybrid vlan命令配置端口在发送该VLAN(包括缺省VLAN)的报文时是否携带Tag |
配置基于Access端口的VLAN有两种方法:一种是在VLAN视图下进行配置,另一种是在端口视图/端口组视图/二层聚合端口视图下进行配置。
表1-4 配置基于Access端口的VLAN(在VLAN视图下)
配置 |
命令 |
说明 |
进入系统视图 |
system-view |
- |
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
向当前VLAN中添加一个或一组Access端口 |
port interface-list |
必选 缺省情况下,系统将所有端口都加入到VLAN1 |
表1-5 配置基于Access端口的VLAN(在端口视图/端口组视图下/二层聚合端口视图)
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图/端口组视图/二层聚合端口视图 |
进入以太网端口视图 |
interface interface-type interface-number |
三者必选其一 l 进入以太网端口视图后,下面进行的配置只在当前端口下生效 l 进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 l 在二层聚合端口视图下执行该命令,则该配置将对二层聚合端口以及相应的所有成员端口生效。在配置过程中,如果某个成员端口配置失败,系统会自动跳过该成员端口继续配置其它成员端口;如果二层聚合端口配置失败,则不会再配置成员端口 |
进入端口组视图 |
port-group manual port-group-name |
||
进入二层聚合端口视图 |
interface bridge-aggregation interface-number |
||
配置端口的链路类型为Access类型 |
port link-type access |
可选 缺省情况下,端口的链路类型为Access类型 |
|
将当前Access端口加入到指定VLAN |
port access vlan vlan-id |
可选 缺省情况下,所有Access端口均属于且只属于VLAN1 |
l 在将Access端口加入到指定VLAN之前,要加入的VLAN必须已经存在。
l 在VLAN视图下向VLAN中添加端口时,只能添加二层以太网端口。
Trunk端口可以允许多个VLAN通过,只能在端口视图/端口组视图/二层聚合端口视图下进行配置。
表1-6 配置基于Trunk端口的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图/端口组视图/二层聚合端口视图 |
进入以太网端口视图 |
interface interface-type interface-number |
三者必选其一 l 进入以太网端口视图后,下面进行的配置只在当前端口下生效 l 进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 l 在二层聚合端口视图下执行该命令,则该配置将对二层聚合端口以及相应的所有成员端口生效。在配置过程中,如果某个成员端口配置失败,系统会自动跳过该成员端口继续配置其它成员端口;如果二层聚合端口配置失败,则不会再配置成员端口 |
进入端口组视图 |
port-group manual port-group-name |
||
进入二层聚合端口视图 |
interface bridge-aggregation interface-number |
||
配置端口的链路类型为Trunk类型 |
port link-type trunk |
必选 |
|
允许指定的VLAN通过当前Trunk端口 |
port trunk permit vlan { vlan-id-list | all } |
必选 缺省情况下,Trunk端口只允许VLAN1的报文通过 |
|
设置Trunk端口的缺省VLAN |
port trunk pvid vlan vlan-id |
可选 缺省情况下,Trunk端口的缺省VLAN为VLAN1 |
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 配置缺省VLAN后,必须使用port trunk permit vlan命令配置允许缺省VLAN的报文通过,出端口才能转发缺省VLAN的报文。
l 当使用port link-type { access | hybrid | trunk }命令修改端口的链路类型后,该端口下的loopback-detection action配置会自动恢复到缺省情况。(loopback-detection action的详细介绍请参见“接入分册”中的“以太网端口命令”)
Hybrid端口可以允许多个VLAN通过,只能在端口视图/端口组视图/二层聚合端口视图下进行配置。
表1-7 配置基于Hybrid端口的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入端口视图/端口组视图/二层聚合端口视图 |
进入以太网端口视图 |
interface interface-type interface-number |
三者必选其一 l 进入以太网端口视图后,下面进行的配置只在当前端口下生效 l 进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 l 在二层聚合端口视图下执行该命令,则该配置将对二层聚合端口以及相应的所有成员端口生效。在配置过程中,如果某个成员端口配置失败,系统会自动跳过该成员端口继续配置其它成员端口;如果二层聚合端口配置失败,则不会再配置成员端口 |
进入端口组视图 |
port-group manual port-group-name |
||
进入二层聚合端口视图 |
interface bridge-aggregation interface-number |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许指定的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,Hybrid端口只允许VLAN1的报文以untagged方式通过(即VLAN1的报文从该端口发送出去后不携带VLAN Tag) |
|
设置Hybrid端口的缺省VLAN |
port hybrid pvid vlan vlan-id |
可选 缺省情况下,Hybrid端口的缺省VLAN为VLAN1 |
l Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。例如:Trunk端口不能直接被设置为Hybrid端口,只能先设为Access端口,再设置为Hybrid端口。
l 当使用port link-type { access | hybrid | trunk }命令修改端口的链路类型后,该端口下的loopback-detection action配置会自动恢复到缺省情况。(loopback-detection action的详细介绍请参见“接入分册”中的“以太网端口命令”)
l 在设置允许指定的VLAN通过Hybrid端口之前,允许通过的VLAN必须已经存在。
l 配置缺省VLAN后,必须使用port hybrid vlan命令配置允许缺省VLAN的报文通过,出端口才能转发缺省VLAN的报文。
基于MAC划分VLAN是VLAN的另一种划分方法,它根据报文的源MAC地址来决定报文从哪个VLAN中转发。根据端口加入MAC VLAN方式,MAC VLAN分为以下几种:
手动配置静态MAC VLAN常用于VLAN中用户相对较少的网络环境。在该方式下,用户需要手动配置MAC VLAN表项,使能基于MAC的VLAN功能,并将端口加入MAC VLAN。其原理为:
l 当端口收到的报文为untagged报文时,根据报文的源MAC查询MAC VLAN表项。首先进行模糊匹配,即查询表中MASK不是全F的表项。将源MAC和MASK相与后再与MAC VLAN表项中的MAC地址匹配,如果完全相同,则查找成功,给报文添加表项中指定的VLAN ID;如果查找失败,则进行精确匹配,即查询表中MASK为全F的表项。如果源MAC与MAC VLAN表项中的MAC地址完全相同,则查找成功,给报文添加表项中指定的VLAN ID。如果没有找到匹配MAC VLAN表项,则按其它原则进行匹配。
l 当收到的报文为tagged报文时,处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。
当用户在某个端口上配置了MAC地址绑定时,又在此端口上手动配置静态MAC VLAN,当交换机从其它端口收到这个MAC地址时,并不能把这个MAC加入到相应VLAN,在这种情况下,用户需手动配置MAC VLAN表项,使能基于MAC的VLAN功能及MAC VLAN动态触发功能,通过报文动态触发端口加入MAC VLAN。其原理为:
l 当端口收到的报文为untagged报文时,流程如图1-5:
l 当收到的报文为tagged报文时,处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。
如果用户在同一端口上同时使能了手动配置静态MAC VLAN和动态触发端口加入静态MAC VLAN,此时端口对收到的非精确匹配的报文将做丢弃处理。
动态MAC VLAN需要和接入认证(比如基于MAC地址的802.1x认证)配合使用,以实现终端的安全、灵活接入。用户在交换机上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置MAC地址和VLAN的关联关系。
用户访问网络时,接入认证服务器先对用户进行认证,如果认证通过,服务器下发VLAN信息。交换机根据用户报文的源MAC地址和下发的VLAN信息生成MAC VLAN表项,并将MAC VLAN添加到端口允许通过的VLAN列表中。用户下线后,交换机自动删除MAC VLAN表项,并将MAC VLAN从端口允许通过的VLAN列表中删除。
l 基于MAC的VLAN功能只能在Hybrid端口配置。
l 基于MAC的VLAN的配置主要用于在用户的接入设备的下行端口上进行配置,因此不和聚合功能同时使用。
表1-8 手动配置静态MAC VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置MAC地址与VLAN的关联 |
mac-vlan mac-address mac-address [ mask mac-mask ] vlan vlan-id [ priority priority ] |
必选 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于MAC的VLAN报文通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,所有Hybrid端口只允许VLAN 1通过 |
|
使能基于MAC地址划分VLAN的功能 |
mac-vlan enable |
必选 缺省情况下,未使能端口的MAC VLAN功能 |
|
配置VLAN匹配优先级 |
vlan precedence { mac-vlan | ip-subnet-vlan } |
可选 缺省情况下,优先根据单个MAC地址来匹配VLAN |
l 使能MAC VLAN动态触发功能后,报文会上送CPU处理。由于该处理的优先级最高,会导致MAC地址最大学习数和MAC地址禁止学习功能不生效,因此不建议MAC VLAN动态触发功能和上述两个功能同时使用。
l 基于MAC的VLAN动态触发功能不和802.1X和MAC认证功能同时使用。
l 基于MAC的VLAN动态触发功能要求源MAC所匹配的VLAN必须是静态VLAN才能完成触发功能。
l 配置MSTP多实例情况下,如果要端口加入的VLAN的MSTP实例状态为BLOCK,会丢弃报文,造成MAC地址不能上送,不能完成动态触发功能。基于MAC的动态VLAN的使用场景为接入侧,不建议和多实例MSTP同时使用。
l 当MAC地址老化后,端口将自动离开动态触发VLAN。有关MAC地址老化相关介绍和配置内容,请参见“系统分册”中的“MAC地址表配置”。
表1-9 动态触发端口加入静态MAC VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
配置MAC地址与VLAN的关联 |
mac-vlan mac-address mac-address vlan vlan-id [ priority priority ] |
必选 |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
使能基于MAC地址划分VLAN的功能 |
mac-vlan enable |
必选 缺省情况下,未使能端口的MAC VLAN功能 |
|
配置VLAN匹配优先级 |
vlan precedence { mac-vlan | ip-subnet-vlan } |
可选 缺省情况下,优先根据单个MAC地址来匹配VLAN |
|
使能MAC VLAN动态触发功能 |
mac-vlan trigger enable |
可选 缺省情况下,未使能MAC VLAN的动态触发功能 |
|
配置PVID禁止功能 |
port pvid disable |
可选 缺省情况下,对于没有匹配到MAC VLAN表项的未知源MAC会在PVID内进行转发通过 |
用户在交换机上配置MAC VLAN功能以后,还需要配置认证的相关属性及在接入认证服务器上配置相关认证。关于接入认证相关配置请参见“安全分册”的“802.1x配置”。
表1-10 动态MAC VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入以太网端口视图或端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
二者必选其一 进入以太网端口视图后,下面进行的配置只在当前端口下生效;进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 |
进入端口组视图 |
port-group manual port-group-name |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
使能基于MAC地址划分VLAN的功能 |
mac-vlan enable |
必选 缺省情况下,未使能端口的MAC VLAN功能 |
基于协议的VLAN只对Hybrid端口配置才有效。
基于协议的VLAN是根据端口接收到的报文所属的协议(族)类型以及封装格式来给报文分配不同的VLAN ID。可用来划分VLAN的协议有IP、IPX、AppleTalk(AT),封装格式有Ethernet II、802.3 raw、802.2 LLC、802.2 SNAP等。
“协议类型 + 封装格式”又称为协议模板,一个协议VLAN下可以绑定多个协议模板,不同的协议模板再用协议索引(protocol-index)来区分。因此,一个协议模板可以用“协议vlan-id + protocol-index”来唯一标识。然后通过命令行将“协议vlan-id + protocol-index”和端口绑定。这样,对于从端口接收到untagged报文(没有携带VLAN标记的报文)会做如下处理:
l 如果携带的协议类型和封装格式与“协议vlan-id + protocol-index”标识的匹配协议模板匹配,则给报文打上协议vlan-id;
l 如果报文携带的协议类型和封装格式与“协议vlan-id + protocol-index”标识的协议模板不匹配,则给报文打上端口的缺省VLAN ID。
对于端口接收到的tagged报文(携带VLAN标记的报文),处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。
此特性主要应用于将网络中提供的服务类型与VLAN相绑定,方便管理和维护。
表1-11 配置基于协议的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VLAN视图 |
vlan vlan-id |
必选 如果指定的VLAN不存在,则该命令先完成VLAN的创建,然后再进入该VLAN的视图 |
|
配置基于协议的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视图 |
quit |
必选 |
|
进入端口视图/端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
三者必选其一 l 进入以太网端口视图后,下面进行的配置只在当前端口下生效 l 进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 l 在二层聚合端口视图下执行该命令,则该配置将对二层聚合端口以及相应的所有成员端口生效。在配置过程中,如果某个成员端口配置失败,系统会自动跳过该成员端口继续配置其它成员端口;如果二层聚合端口配置失败,则不会再配置成员端口 |
进入端口组视图 |
port-group manual port-group-name |
||
进入二层聚合端口视图 |
interface bridge-aggregation interface-number |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于协议的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 缺省情况下,所有Hybrid端口只允许VLAN 1通过 |
|
配置Hybrid端口与基于协议的VLAN关联 |
port hybrid protocol-vlan vlan vlan-id { protocol-index [ to protocol-end ] | all } |
必选 |
l protocol-vlan命令中的dsap-id和ssap-id不能同时设置成0xe0,0xe0对应的是ipx llc协议模板;dsap-id和ssap-id也不能同时设成0xff,0xff对应的是ipx raw协议模板。
l 在使用mode参数配置协议VLAN时,如果将ethernetii型报文的etype参数值配置为0x0800、0x8137、0x809b、0x86dd,则分别与ipv4、ipx、appletalk和ipv6协议模板相同,因此不允许配置ethernetii报文的etype参数为这四个数值。
基于IP子网的VLAN是根据报文源IP地址及子网掩码来进行划分的。设备从端口接收到untagged报文后,会根据报文的源地址来确定报文所属的VLAN,然后将报文自动划分到指定VLAN中传输。
此特性主要用于将指定网段或IP地址发出的报文在指定的VLAN中传送。
基于IP子网的VLAN只对Hybrid端口配置有效。
表1-12 配置基于IP子网的VLAN
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
进入VLAN视图 |
vlan vlan-id |
- |
|
配置IP子网与当前VLAN关联 |
ip-subnet-vlan [ ip-subnet-index ] ip ip-address [ mask ] |
必选 配置的IP网段或IP地址不能是组播网段或组播地址 |
|
退回系统视图 |
quit |
- |
|
进入端口视图/端口组视图 |
进入以太网端口视图 |
interface interface-type interface-number |
三者必选其一 l 进入以太网端口视图后,下面进行的配置只在当前端口下生效 l 进入端口组视图后,下面进行的配置将在端口组中的所有端口下生效 l 在二层聚合端口视图下执行该命令,则该配置将对二层聚合端口以及相应的所有成员端口生效。在配置过程中,如果某个成员端口配置失败,系统会自动跳过该成员端口继续配置其它成员端口;如果二层聚合端口配置失败,则不会再配置成员端口 |
进入端口组视图 |
port-group manual port-group-name |
||
进入二层聚合端口视图 |
interface bridge-aggregation interface-number |
||
配置端口的链路类型为Hybrid类型 |
port link-type hybrid |
必选 |
|
允许基于IP子网的VLAN通过当前Hybrid端口 |
port hybrid vlan vlan-id-list { tagged | untagged } |
必选 |
|
配置Hybrid端口与基于IP子网的VLAN关联 |
port hybrid ip-subnet-vlan vlan vlan-id |
必选 |
在完成上述配置后,在任意视图下执行display命令可以显示配置后VLAN的运行情况,通过查看显示信息验证配置的效果。
在用户视图下执行reset命令可以清除端口统计信息。
表1-13 VLAN显示和维护
操作 |
命令 |
显示VLAN相关信息 |
display vlan [ vlan-id1 [ to vlan-id2 ] | all | dynamic | reserved | static ] [ | { begin | exclude | include } regular-expression ] |
显示VLAN端口相关信息 |
display interface vlan-interface [ vlan-interface-id ] [ | { begin | exclude | include } regular-expression ] |
显示设备上当前存在的Hybrid或Trunk端口 |
display port { hybrid | trunk } [ | { begin | exclude | include } regular-expression ] |
显示MAC-VLAN表项 |
display mac-vlan { all | dynamic | mac-address mac-address [ mask mac-mask ] | static | vlan vlan-id } [ | { begin | exclude | include } regular-expression ] |
显示所有使能了MAC VLAN功能的端口 |
display mac-vlan interface [ | { begin | exclude | include } regular-expression ] |
显示指定VLAN上配置的协议信息及协议的索引 |
display protocol-vlan vlan { vlan-id [ to vlan-id ] | all } [ | { begin | exclude | include } regular-expression ] |
显示指定端口上已配置的协议VLAN的相关信息 |
display protocol-vlan interface { interface-type interface-number [ to interface-type interface-number ] | all } [ | { begin | exclude | include } regular-expression ] |
显示指定VLAN上配置的IP子网VLAN信息及IP子网的索引 |
display ip-subnet-vlan vlan { vlan-id [ to vlan-id ] | all } [ | { begin | exclude | include } regular-expression ] |
显示指定端口上配置的IP子网VLAN信息及IP子网的索引 |
display ip-subnet-vlan interface { interface-list | all } [ | { begin | exclude | include } regular-expression ] |
清除接口的统计信息 |
reset counters interface vlan-interface [ vlan-interface-id ] [ | { begin | exclude | include } regular-expression ] |
Isolate-user-vlan采用二层VLAN结构,它在同一台设备上设置Isolate-user-vlan和Secondary VLAN两类VLAN。
l Isolate-user-vlan用于上行,不同的Secondary VLAN关联到同一个Isolate-user-vlan。上行连接的设备只知道Isolate-user-vlan,而不必关心Secondary VLAN,简化了网络配置,节省了VLAN资源。
l Secondary VLAN用于连接用户,Secondary VLAN之间二层报文互相隔离。如果希望实现同一Isolate-user-vlan下Secondary VLAN用户之间报文的互通,可以通过配置上行设备的本地ARP代理功能来实现三层报文的互通。
l 一个Isolate-user-vlan可以和多个Secondary VLAN相对应。Isolate-user-vlan下面的Secondary VLAN对上行设备不可见。
如下图所示,设备Switch B上启动了Isolate-user-vlan功能。其中VLAN10是Isolate-user-vlan;VLAN2、VLAN5、VLAN8是Secondary VLAN;VLAN2、VLAN5、VLAN8都映射到VLAN10;VLAN2、VLAN5、VLAN8对Switch A不可见。
图2-1 Isolate-user-vlan示意图
Isolate-user-vlan配置主要包括五个步骤:
(1) 配置Isolate-user-vlan。
(2) 配置Secondary VLAN。
(3) 向Isolate-user-vlan中添加端口(该端口不能为Trunk类型端口),并确保至少有一个端口的缺省VLAN就是该Isolate-user-vlan。
(4) 向Secondary VLAN中添加端口(该端口不能为Trunk类型端口),并确保至少有一个端口的缺省VLAN就是该Secondary VLAN。
(5) 配置Isolate-user-vlan和Secondary VLAN间的映射关系。
表2-1 配置Isolate-user-vlan
操作 |
命令 |
说明 |
|
进入系统视图 |
system-view |
- |
|
创建Isolate-user-vlan,并进入VLAN视图 |
vlan vlan-id |
- |
|
设置VLAN类型为Isolate-user-vlan |
isolate-user-vlan enable |
必选 |
|
退回系统视图 |
quit |
- |
|
为Isolate-user-vlan添加端口,并确保至少有一个端口的缺省VLAN为Isolate-user-vlan |
Access端口 |
请参见“1.4.2 配置基于Access端口的VLAN” |
二者必选其一 |
Hybrid端口 |
请参见“1.4.4 配置基于Hybrid端口的VLAN” |
||
退回系统视图 |
quit |
- |
|
创建Secondary VLAN |
vlan { vlan-id1 [ to vlan-id2 ] | all } |
必选 |
|
设置同一Secondary VLAN内各端口二层隔离 |
isolated-vlan enable |
可选 缺省情况下,同一Secondary VLAN内的端口能够二层互通 Isolate-user-vlan和Secondary VLAN建立映射关系后该配置才生效 |
|
退回系统视图 |
quit |
- |
|
为Secondary VLAN添加端口,并确保至少有一个端口的缺省VLAN为Secondary VLAN |
Access端口 |
请参见“1.4.2 配置基于Access端口的VLAN” |
者必选其一 |
Hybrid端口 |
请参见“1.4.4 配置基于Hybrid端口的VLAN” |
||
退回系统视图 |
quit |
- |
|
配置Isolate-user-vlan和Secondary VLAN间的映射关系 |
isolate-user-vlan isolate-user-vlan-id secondary secondary-vlan-id [ to secondary-vlan-id ] |
必选 |
建立映射关系后,系统将禁止向Isolate-user-vlan和Secondary VLAN中添加/删除access类型的端口以及删除VLAN的操作,只有在解除了映射关系后才可以执行以上操作。
在完成上述配置后,在任意视图下执行display命令可以显示配置后Isolate-user-vlan的运行情况,通过查看显示信息验证配置的效果。
表2-2 Isolate-user-vlan显示和维护
操作 |
命令 |
显示Isolate-user-vlan和Secondary VLAN的映射关系 |
display isolate-user-vlan [ isolate-user-vlan-id ] [ | { begin | exclude | include } regular-expression ] |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!