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

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

目录

09-VLAN配置

本章节下载 09-VLAN配置  (523.33 KB)

docurl=/cn/Service/Document_Software/Document_Center/Switches/Catalog/S5800/S5830/Configure/Operation_Manual/H3C_S5830_CG-Release_(R1115[R1118])-6W102/03/201501/853447_30005_0.htm

09-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可以将不同的主机划分到不同的工作组,同一工作组的主机可以位于不同的物理位置,网络构建和维护更方便灵活。

1.1.2  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表示上层协议的类型。

图1-2 传统以太网报文封装格式

 

IEEE 802.1Q协议规定,在以太网报文的目的MAC地址和源MAC地址之后、协议类型字段之前加入4个字节的VLAN Tag,用以标识VLAN的相关信息,如图1-3所示。

图1-3 VLAN Tag的组成字段

 

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

·     TPID用来表示报文是否带有VLAN Tag,长度为16比特,缺省情况下,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表示以非标准格式封装,缺省取值为0。

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

网络设备根据报文是否携带VLAN Tag以及携带的VLAN Tag信息,来对报文进行处理,利用VLAN ID来识别报文所属的VLAN。详细的处理方式请参见“1.4.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划分

VLAN根据划分方式不同可以分为不同类型,下面列出了几种最常见的VLAN类型:

·     基于端口的VLAN

·     基于MAC地址的VLAN

·     基于协议的VLAN

·     基于IP子网的VLAN

·     基于策略的VLAN

·     其它VLAN

本章将分别介绍基于端口的VLAN、基于MAC地址的VLAN、基于协议的VLAN和基于IP子网的VLAN。如果某个接口下同时使能以上四种VLAN,则缺省情况下VLAN的匹配将按照MAC VLAN、IP子网VLAN、协议VLAN、端口VLAN的先后顺序进行。

1.1.4  协议规范

与VLAN相关的协议规范有:

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

1.2  配置VLAN基本属性

表1-1 配置VLAN基本属性

配置

命令

说明

进入系统视图

system-view

-

创建一个VLAN并进入VLAN视图,或批量创建VLAN

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

可选

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

进入VLAN视图

vlan vlan-id

必选

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

指定当前VLAN的名称

name text

可选

缺省情况下,VLAN的名称为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的名称为“VLAN 0100”

配置当前VLAN的描述信息

description text

可选

缺省情况下,VLAN的描述信息为“VLAN vlan-id”,其中vlan-id为该VLAN的编号。例如,VLAN 100的描述信息为“VLAN 0100”

 

说明

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

·     保留VLAN是系统为实现特定功能预留的VLAN,用户也不能手工创建和删除。

·     协议保留的VLAN、管理VLAN、动态学习到的VLAN、配置有QoS策略的VLAN、Smart Link的控制VLAN、RRPP的控制VLAN、远程镜像VLAN等,都不能使用undo vlan命令直接删除。只有将相关配置删除之后,才能删除相应的VLAN。

 

1.3  配置VLAN接口基本属性

1.3.1  VLAN接口简介

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

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

1.3.2  配置VLAN接口基本属性

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

配置

命令

说明

进入系统视图

system-view

-

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

interface vlan-interface vlan-interface-id

必选

·     空配置启动时,使用软件功能缺省值,设备上没有任何VLAN接口

·     缺省配置启动时,使用软件功能出厂值,设备上已创建VLAN1接口

关于空配置启动和缺省配置启动,请参见“基础配置指导”中的“配置文件管理”

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

说明

Release 1115版本无出厂缺省配置文件,采用空配置启动

配置VLAN接口的IP地址

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

可选

·     空配置启动时,使用软件功能缺省值,没有配置VLAN接口的IP地址

·     缺省配置启动时,使用软件功能出厂值,VLAN1接口使用DHCP方式自动获取IP地址

配置当前VLAN接口的描述信息

description text

可选

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

配置VLAN接口的MTU值

mtu size

可选

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

恢复VLAN接口的缺省配置

default

可选

取消手工关闭VLAN接口

undo shutdown

可选

缺省情况下,未手工关闭VLAN接口。此时VLAN接口状态受VLAN中端口状态的影响,即:当VLAN中所有以太网端口状态均为down时,VLAN接口为down状态,即关闭状态;当VLAN中有一个或一个以上的以太网端口处于up状态时,则VLAN接口处于up状态

 

说明

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

 

1.3.3  VLAN接口配置举例

1. 组网需求

图1-4所示,PC A、PC B与Switch A组网。其中PC A、PC B分别属于VLAN 5、VLAN 10,且处于不同网段,不能直接通信。通过在Switch A上创建并配置VLAN接口,实现不同网段的PC A与PC B跨VLAN三层互通。

2. 组网图

图1-4 通过VLAN接口实现VLAN间互通

 

3. 配置步骤

(1)     配置Switch A

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

<SwitchA> system-view

[SwitchA] vlan 5

[SwitchA-vlan5] port GigabitEthernet 1/0/1

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

[SwitchA-vlan5] vlan 10

[SwitchA-vlan10] port GigabitEthernet 1/0/2

[SwitchA-vlan10] quit

# 创建Vlan-interface5,并配置其IP地址为192.168.0.10/24。

[SwitchA] interface vlan-interface 5

[SwitchA-Vlan-interface5] ip address 192.168.0.10 24

[SwitchA-Vlan-interface5] quit

# 创建Vlan-interface10,并配置其IP地址为192.168.1.20/24。

[SwitchA] interface vlan-interface 10

[SwitchA-Vlan-interface10] ip address 192.168.1.20 24

[SwitchA-Vlan-interface10] return

(2)     配置PC A

# 将其默认网关配为192.168.0.10。

(3)     配置PC B

# 将其默认网关配为192.168.1.20。

4. 显示与验证

(1)     PC A与PC B可以相互ping通。

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

# 查看Switch A上三层接口的IP基本配置信息,验证以上配置是否生效。

<SwitchA> display ip interface brief

*down: administratively down

(s): spoofing

Interface                     Physical Protocol IP Address      Description

Vlan-interface5               up       up       192.168.0.10    Vlan-inte...

Vlan-interface10              up       up       192.168.1.20    Vlan-inte...

1.4  配置基于端口的VLAN

1.4.1  基于端口的VLAN简介

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

1. 端口的链路类型

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

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

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

·     Hybrid连接:端口发出去的报文可根据需要配置某些VLAN内的报文带Tag,某些VLAN内的报文不带Tag。Hybrid类型端口既可以用于网络传输设备之间的互连,又可以直接连接终端设备。

2. 端口缺省VLAN

除了可以设置端口允许通过的VLAN外,还可以设置端口的缺省VLAN,即PVID(Port VLAN ID,端口VLAN ID)。在缺省情况下,所有端口的缺省VLAN均为VLAN 1,但用户可以根据需要进行配置。

·     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-3

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

端口类型

对接收报文的处理

对发送报文的处理

当接收到的报文不带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(包括缺省VLAN)的报文时是否携带Tag

 

1.4.2  配置基于Access端口的VLAN

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

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

配置

命令

说明

进入系统视图

system-view

-

进入VLAN视图

vlan vlan-id

-

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

port interface-list

必选

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

 

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

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网端口视图

interface interface-type interface-number

四者必选其一

·     二层以太网端口视图下的配置只对当前端口生效

·     二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入二层聚合接口视图

interface bridge-aggregation interface-number

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

port link-type access

可选

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

将当前Access端口加入到指定VLAN

port access vlan vlan-id

可选

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

 

说明

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

·     在VLAN视图下向VLAN中添加端口时,只能添加二层以太网端口。

 

1.4.3  配置基于Trunk端口的VLAN

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

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

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网端口视图

interface interface-type interface-number

四者必选其一

·     二层以太网端口视图下的配置只对当前端口生效

·     二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入二层聚合接口视图

interface bridge-aggregation interface-number

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

port link-type trunk

必选

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

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

port trunk permit vlan { vlan-list | all }

必选

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

设置Trunk端口的缺省VLAN

port trunk pvid vlan vlan-id

可选

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

 

说明

·     Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。

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

 

1.4.4  配置基于Hybrid端口的VLAN

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

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

操作

命令

说明

进入系统视图

system-view

-

进入相应视图

进入二层以太网端口视图

interface interface-type interface-number

四者必选其一

·     二层以太网端口视图下的配置只对当前端口生效

·     二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入二层聚合接口视图

interface bridge-aggregation interface-number

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

port link-type hybrid

必选

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

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

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,Hybrid端口只允许VLAN 1的报文以Untagged方式通过(即VLAN 1的报文从该端口发送出去后不携带VLAN Tag)

设置Hybrid端口的缺省VLAN

port hybrid pvid vlan vlan-id

可选

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

 

说明

·     Trunk端口和Hybrid端口之间不能直接切换,只能先设为Access端口,再设置为其它类型端口。

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

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

 

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

1. 组网需求

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

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

·     现要求不管是否使用相同的设备接入公司网络,同一VLAN内的主机能够互通。即Host A和Host C能够互通,Host B和Host D能够互通。

2. 组网图

图1-5 基于端口的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 AVLAN 100VLAN 200的报文能发送给Device B,将GigabitEthernet1/0/3的链路类型配置为Trunk,并允许VLAN 100VLAN 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

Please wait... Done.

(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 B和Host D能够互相ping通,但是均不能ping通Host A。

(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.5  配置基于MAC的VLAN

1.5.1  基于MAC的VLAN简介

基于MAC划分VLAN是VLAN的另一种划分方法。它按照报文的源MAC地址来定义VLAN成员,将指定报文加入该VLAN的Tag后发送。该功能通常会和安全(比如802.1X)技术联合使用,以实现终端的安全、灵活接入。

1. 手动配置静态MAC VLAN

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

·     当端口收到的报文为Untagged报文时,根据报文的源MAC匹配MAC VLAN表项。首先进行模糊匹配,即查询表中MASK不是全F的表项,将源MAC和MASK相与后与MAC VLAN表项中的MAC地址匹配,如果完全相同,则模糊匹配成功,给报文添加表项中指定的VLAN ID并转发该报文;如果模糊匹配失败,则进行精确匹配,即查询表中MASK为全F的表项,如果报文中的源MAC与MAC VLAN表项中的MAC地址完全相同,则精确匹配成功,给报文添加表项中指定的VLAN ID并转发该报文;如果没有找到匹配MAC VLAN表项,则继续按照其它原则(如IP子网、协议等)进行匹配,如果匹配成功,则转发报文,如果匹配均失败,则给报文添加端口的缺省VLAN ID并转发该报文。

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

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

手动配置静态MAC VLAN时,用户需要把端口分别加入相应的MAC VLAN,当用户不能确定从哪些端口收到指定VLAN的报文时,就不能把相应端口加入到MAC VLAN,在这种情况下,手动配置静态MAC VLAN无法满足用户的需求。此时可以动态触发端口加入静态MAC VLAN。在该方式下,用户在配置MAC VLAN表项后,需要在端口上使能基于MAC的VLAN功能和MAC VLAN动态触发功能。其原理为:

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

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

·     如果报文源MAC地址与MAC VLAN表项的MAC地址不精确匹配,当报文VLAN ID为端口PVID,判断端口是否允许报文在PVID内转发,若允许,则在PVID中转发该报文,否则丢弃该报文。当报文VLAN ID不为端口PVID,报文继续按照其它原则(如IP子网、协议等)进行匹配,若匹配成功,则转发该报文;若匹配均失败,则丢弃该报文。处理流程如图1-6所示:

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

 

说明

·     在端口加入MAC VLAN表项中相应的VLAN时,若端口未配置允许该VLAN通过,则端口自动以Untagged方式加入该VLAN。

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

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

 

3. 动态MAC VLAN

动态MAC VLAN需要和接入认证(比如基于MAC地址的802.1X认证)配合使用,以实现终端的安全、灵活接入。用户在设备上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置用户名和VLAN的绑定关系。

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

说明

接入认证的相关内容请参见“安全配置指导”中的“802.1X”和“MAC地址认证”。

 

1.5.2  配置基于MAC的VLAN

说明

·     基于MAC的VLAN功能只能在Hybrid端口配置。

·     基于MAC的VLAN动态触发使能后,报文会上送CPU处理。由于该处理的优先级最高,会导致MAC地址最大学习数和MAC地址禁止学习功能不生效,因此不建议MAC VLAN动态触发功能和上述两个功能同时使用。

·     基于MAC的VLAN动态触发功能不和802.1X和MAC认证功能同时使用。

·     基于MAC的VLAN动态触发功能要求源MAC所匹配的VLAN必须是静态VLAN才能完成触发功能。

·     基于MAC的VLAN功能主要用于在用户的接入设备的下行端口上进行配置,因此不和聚合功能同时使用。

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

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

 

表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

-

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

port link-type hybrid

必选

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

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

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,所有Hybrid端口只允许VLAN 1通过

使能基于MAC地址划分VLAN的功能

mac-vlan enable

必选

缺省情况下,未使能基于MAC地址划分VLAN的功能

配置VLAN匹配优先级

vlan precedence { mac-vlan | ip-subnet-vlan }

可选

缺省情况下,优先根据单个MAC地址来匹配VLAN

 

表1-9 动态触发端口加入静态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

配置MAC地址与VLAN关联

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

必选

使能MAC VLAN的动态触发功能后,只有端口接收的报文的源MAC地址匹配了Mask为全F的MAC VLAN表项,才会动态触发该端口加入相应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的动态触发功能。

配置VLAN匹配优先级

vlan precedence mac-vlan

可选

缺省情况下,优先根据单个MAC地址来匹配VLAN

配置PVID禁止功能

port pvid disable

可选

缺省情况下,对于没有匹配到MAC VLAN表项的未知源MAC会在PVID内进行转发通过

 

说明

·     当使用mac-vlan trigger enable命令使能MAC VLAN的动态触发功能后,建议用户在配置VLAN匹配优先级时,使用vlan precedence mac-vlan命令,使报文优先根据单个MAC地址来匹配VLAN;建议不要使用vlan precedence ip-subnet-vlan命令,使报文优先根据IP子网来匹配VLAN,该配置不能生效。

·     端口使能MAC VLAN的动态触发功能后,如果收到的Untagged报文与MAC-VLAN表项精确匹配(即源MAC地址和系统中配置的Mask为全F的MAC VLAN表项匹配),则将该MAC地址添加到MAC地址表中并动态触发端口加入该VLAN,如果没有找到匹配表项或者与MAC-VLAN表项模糊匹配(即只匹配了Mask不是全F的MAC VLAN表项),则不会动态触发端口加入该VLAN

 

表1-10 配置动态MAC VLAN

操作

命令

说明

进入系统视图

system-view

-

进入二层以太网端口视图

interface interface-type interface-number

-

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

port link-type hybrid

必选

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

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

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,所有Hybrid端口只允许VLAN 1通过

使能基于MAC地址划分VLAN的功能

mac-vlan enable

必选

缺省情况下,未使能基于MAC地址划分VLAN的功能

配置认证功能

配置802.1X

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

二者至少选其一

配置MAC地址认证

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

 

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

1. 组网需求

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

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

·     Laptop1和Laptop2的MAC地址分别为000d-88F8-4E71和0014-222C-AA69。

2. 组网图

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

 

3. 配置思路

·     创建VLAN 100、VLAN 200。

·     配置Device A和Device C的上行端口为Trunk端口,并允许VLAN 100和VLAN 200的报文通过。

·     配置 Device B 的下行端口为Trunk端口,并允许VLAN 100和VLAN 200的报文通过;上行端口分别加入VLAN 100、VLAN 200。

·     Laptop1和Laptop2的MAC地址分别与VLAN 100、VLAN 200关联。

4. 配置步骤

(1)     Device A的配置

# 创建VLAN 100和VLAN 200。

<DeviceA> system-view

[DeviceA] vlan 100

[DeviceA-vlan100] quit

[DeviceA] vlan 200

[DeviceA-vlan200] quit

# Laptop1MAC地址与VLAN 100关联,Laptop2MAC地址与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

 Please wait... Done.

[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/13加入VLAN 100,GigabitEthernet1/0/14加入VLAN 200。

<DeviceB> system-view

[DeviceB] vlan 100

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

[DeviceB-vlan100] quit

[DeviceB] vlan 200

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

[DeviceB-vlan200] quit

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

[DeviceB] interface gigabitethernet 1/0/3

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

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

[DeviceB-GigabitEthernet1/0/3] quit

[DeviceB] interface gigabitethernet 1/0/4

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

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

[DeviceB-GigabitEthernet1/0/4] quit

(3)     Device C的配置

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

5. 显示与验证

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

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

[DeviceA] display mac-vlan all

  The following MAC VLAN addresses exist:

  S:Static  D:Dynamic

  MAC ADDR         MASK             VLAN ID   PRIO   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

6. 配置注意事项

·     基于MAC的VLAN只能在Hybrid端口上配置。

·     基于MAC的VLAN的配置主要用于在用户的接入设备的下行端口上进行配置,因此不能与聚合功能同时使用。

1.6  配置基于协议的VLAN

1.6.1  基于协议的VLAN简介

说明

基于协议的VLAN只对Hybrid端口配置才有效。

 

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

“协议类型 + 封装格式”又称为协议模板,一个协议VLAN下可以绑定多个协议模板,不同的协议模板再用协议索引(protocol-index)来区分。因此,一个协议模板可以用“协议vlan-id + protocol-index”来唯一标识。然后通过命令行将“协议vlan-id + protocol-index”和端口绑定。

对于从端口接收到Untagged报文会做如下处理:

·     如果该报文携带的协议类型和封装格式与“协议vlan-id + protocol-index”标识的协议模板相匹配,则为其打上协议vlan-id的Tag。

·     如果该报文携带的协议类型和封装格式与“协议vlan-id + protocol-index”标识的协议模板不匹配,则给报文添加PVID的Tag。

对于端口接收到的Tagged报文(携带VLAN标记的报文),处理方式和基于端口的VLAN一样:如果端口允许携带该VLAN标记的报文通过,则正常转发;如果不允许,则丢弃该报文。

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

1.6.2  配置基于协议的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

四者必选其一

·     二层以太网端口视图下的配置只对当前端口生效

·     二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入二层聚合接口视图

interface bridge-aggregation interface-number

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

port link-type hybrid

必选

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

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

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,所有Hybrid端口只允许VLAN 1通过

配置Hybrid端口与基于协议的VLAN关联

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

必选

 

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

1. 组网需求

实验室网络中大部分主机运行IPv4网络协议,另外为了教学需要还布置了IPv6实验局,因此,同时有些主机运行着IPv6网络协议。为了避免互相干扰,现要求基于网络协议将IPv4流量和IPv6流量二层互相隔离。

2. 组网图

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

 

3. 配置思路

创建VLAN 100及VLAN 200。让VLAN 100与IPv4协议绑定,VLAN 200与IPv6协议绑定,通过协议VLAN来实现IPv4流量和IPv6流量二层互相隔离。

4. 配置步骤

(1)     配置Device

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

<Device> system-view

[Device] vlan 100

[Device-vlan100] description protocol VLAN for IPv4

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

[Device-vlan100] quit

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

[Device] vlan 200

[Device-vlan200] description protocol VLAN for IPv6

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

# VLAN 200VLAN 100视图下,分别为IPv4IPv6协议创建协议模板。

[Device-vlan200] protocol-vlan 1 ipv6

[Device-vlan200] quit

[Device] vlan 100

[Device-vlan100] protocol-vlan 1 ipv4

[Device-vlan100] quit

# 配置端口GigabitEthernet1/0/1Hybrid端口,并在转发VLAN 100VLAN 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

 Please wait... Done.

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

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

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

[Device-GigabitEthernet1/0/1] quit

# 配置端口GigabitEthernet1/0/2Hybrid端口,在转发VLAN 100VLAN 200的报文时去掉VLAN Tag,与VLAN 100的协议模板1(即IPv4协议模板)、VLAN 200的协议模板1(即IPv6协议模板)进行绑定。

[Device] interface gigabitethernet 1/0/2

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

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

 Please wait... Done.

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

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

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

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

5. 显示与验证

(1)     VLAN 100内的主机和服务器能够互相ping通;VLAN 200内的主机和服务器能够互相ping通。但VLAN 100内的主机/服务器和VLAN 200内的主机/服务器会ping失败。

(2)     通过查看Device上的显示信息,验证配置是否生效。

# 查看Device上协议VLAN的配置。

[Device-GigabitEthernet1/0/2] display protocol-vlan vlan all

 VLAN ID:100

    Protocol Index      Protocol Type

 ======================================================

          1              ipv4

 VLAN ID:200

    Protocol Index      Protocol Type

 ======================================================

          1              ipv6

# 查看Device端口上已配置的协议VLAN的相关信息。

[Device-GigabitEthernet1/0/2] display protocol-vlan interface all

 Interface: GigabitEthernet 1/0/1

   VLAN ID   Protocol Index      Protocol Type

 ======================================================

     100          1               ipv4

     200          1               ipv6

 Interface: GigabitEthernet 1/0/2

   VLAN ID   Protocol Index      Protocol Type

 ======================================================

     100          1               ipv4

     200          1               ipv6

6. 配置注意事项

基于协议的VLAN只对Hybrid端口配置才有效。

1.7  配置基于IP子网的VLAN

1.7.1  基于IP子网的VLAN简介

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

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

1.7.2  配置基于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

四者必选其一

·     二层以太网端口视图下的配置只对当前端口生效

·     二层聚合接口视图下的配置对当前二层聚合接口及其所有成员端口都生效,若配置二层聚合接口时失败,则不再配置其成员端口,若配置某成员端口时失败,系统会自动跳过该成员端口继续配置其它成员端口

进入二层聚合接口视图

interface bridge-aggregation interface-number

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

port link-type hybrid

必选

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

允许基于IP子网的VLAN通过当前Hybrid端口

port hybrid vlan vlan-list { tagged | untagged }

必选

缺省情况下,Hybrid端口只允许VLAN 1的报文以Untagged方式通过,即VLAN 1的报文从该端口发送出去后不携带VLAN Tag

配置Hybrid端口和基于IP子网的VLAN关联

port hybrid ip-subnet-vlan vlan vlan-id

必选

缺省情况下,Hybird端口和基于IP子网的VLAN没有任何关联关系

 

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

1. 组网需求

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

2. 组网图

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

 

3. 配置思路

创建VLAN100、VLAN200,配置子网与VLAN的关联关系,并配置端口与VLAN的关联关系。

4. 配置步骤

<DeviceC> system-view

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

[DeviceC] vlan 100

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

[DeviceC-vlan100] quit

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

[DeviceC] vlan 200

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

[DeviceC-vlan200] quit

# 配置端口GigabitEthernet 1/0/11,使其允许通过VLAN 100的报文。

[DeviceC] interface gigabitethernet 1/0/11

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

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

 Please wait... Done.

[DeviceC-GigabitEthernet1/0/11] quit

# 配置端口GigabitEthernet 1/0/12,使其允许通过VLAN 200的报文。

[DeviceC] interface gigabitethernet 1/0/12

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

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

 Please wait... Done.

[DeviceC-GigabitEthernet1/0/12] quit

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

[DeviceC] interface gigabitethernet 1/0/1

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

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

 Please wait... Done.

[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] return

5. 显示与验证

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

<Device C> 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

# 查看端口GigabitEthernet 1/0/1上所配置的IP子网VLAN信息。

<DeviceC> display ip-subnet-vlan interface gigabitethernet 1/0/1

Interface: GigabitEthernet1/0/1

  VLAN ID   Subnet-Index    IP ADDRESS        NET MASK

  =======================================================

   100           0         192.168.5.0    255.255.255.0

   200           0        192.168.50.0    255.255.255.0

6. 配置注意事项

基于IP子网的VLAN只对Hybrid端口配置才有效。

1.8  VLAN显示和维护

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

表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 ] [ brief [ down ] ] [ | { begin | exclude | include } regular-expression ]

display interface vlan-interface vlan-interface-id [ brief ] [ | { 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-id1 [ to vlan-id2 ] | all } [ | { begin | exclude | include } regular-expression ]

显示指定端口上配置的IP子网VLAN信息及IP子网的索引

display ip-subnet-vlan interface { interface-type interface-number1 [ to interface-type interface-number2 ] | all } [ | { begin | exclude | include } regular-expression ]

 


2 Isolate-user-VLAN

2.1  Isolate-user-VLAN简介

Isolate-user-VLAN采用两层VLAN结构,它在同一台设备上设置Isolate-user-VLAN和Secondary VLAN两类VLAN。

·     Isolate-user-VLAN用于上行,不同的Secondary VLAN关联到同一个Isolate-user-VLAN。上行连接的设备只知道Isolate-user-VLAN,而不必关心Secondary VLAN,简化了网络配置,节省了VLAN资源。

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

·     一个Isolate-user-VLAN可以和多个Secondary VLAN相对应。Isolate-user-VLAN下面的Secondary VLAN对上行设备不可见。

如下图所示,设备Device B上启动了Isolate-user-VLAN功能。其中VLAN 10是Isolate-user-VLAN;VLAN 2、VLAN 5、VLAN 8是Secondary VLAN;VLAN 2、VLAN 5、VLAN 8都映射到VLAN 10;VLAN 2、VLAN 5、VLAN 8对Device A不可见。

图2-1 Isolate-user-VLAN示意图

 

2.2  配置Isolate-user-VLAN

Isolate-user-VLAN配置主要包括下面几个步骤:

(1)     配置Isolate-user-VLAN。

(2)     配置Secondary VLAN。

(3)     配置Isolate-user-VLAN和Secondary VLAN间的映射关系。

(4)     配置上行/下行端口:配置上行端口(如图2-1中Device B上与Device A相连的端口)工作在promiscuous模式,可以实现上行端口加入指定Isolate-user-VLAN及同步加入对应的Secondary VLAN的功能;配置下行端口(如图2-1中Device B上与用户相连的端口)工作在host模式,可以实现下行端口同步加入Secondary VLAN对应的Isolate-user-VLAN的功能。有关promiscuous/host模式的详细介绍,请参见“二层技术-以太网交换命令参考”中的“VLAN”的相关命令。

表2-1 配置Isolate-user-VLAN

操作

命令

说明

进入系统视图

system-view

-

创建Isolate-user-VLAN,并进入VLAN视图

vlan vlan-id

-

设置VLAN类型为Isolate-user-VLAN

isolate-user-vlan enable

必选

缺省情况下,用户创建的VLAN不是Isolate-user-VLAN类型的VLAN

退回系统视图

quit

-

创建Secondary VLAN

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

必选

设置同一Secondary VLAN内各端口二层隔离

isolated-vlan enable

可选

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

当同一Secondary VLAN内各端口的工作模式均为host模式,且Isolate-user-VLAN与Secondary 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没有任何映射关系

配置Isolate-user-VLAN上行端口

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

Interface interface-type interface-number

必选

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

port isolate-user-vlan vlan-id promiscuous

 

必选

缺省情况下,端口既不工作在promiscuous模式也不工作在host模式

退回系统视图

quit

-

配置Isolate-user-VLAN下行端口

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

Interface interface-type interface-number

必选

配置端口的链路类型

port link-type { access | hybrid }

可选

将当前端口加入指定Secondary VLAN

Access端口:

port access vlan vlan-id

Hybrid端口:

port hybrid vlan vlan-list { tagged | untagged }

根据端口类型选其一

配置下行端口的工作模式为host模式

port isolate-user-vlan host

必选

缺省情况下,端口既不工作在promiscuous模式也不工作在host模式

 

说明

·     在完成上述配置后,建议用户确保上行端口的缺省VLAN为Isolate-user-VLAN,下行端口的缺省VLANSecondary VLAN;并将原有的端口以Tagged方式加入Isolate-user-VLANSecondary VLAN的配置手动更改为以Untagged方式加入这些VLAN

·     在配置上行/下行端口时,除配置端口的promiscuous/host模式外,用户还可以采用下述方式来完成配置:向Isolate-user-VLAN/Secondary VLAN中添加端口,并确保至少有一个端口的缺省VLAN就是该Isolate-user-VLAN/Secondary VLAN。也就是说,配置上行端口的类型为Hybrid,允许来自Isolate-user-VLAN和所有Secondary VLAN的报文以Untagged方式通过,其缺省VLANIsolate-user-VLAN;配置下行端口的类型为Hybrid,允许来自Isolate-user-VLAN和本端口所在Secondary VLAN的报文以Untagged方式通过,其缺省VLANSecondary VLAN。相关配置请参见“1.4.4  配置基于Hybrid端口的VLAN”。通过此方式完成的配置不能实现同一Secondary VLAN内各端口的二层隔离。

·     建议用户采用配置端口的promiscuous/host模式的方式来完成Isolate-user-VLAN的配置,以减少配置工作量,获取更好的灵活性、易用性。

·     配置Isolate-user-VLAN后,Secondary VLAN内的流量源MAC学习到Isolate-user-VLAN内,Secondary VLAN的流量在Isolate-user-VLAN内转发。

·     业务环回组成员端口不能配置为Isolate-user-VLAN上行端口(promiscuous端口)或下行端口(host端口),有关业务环回组的详细介绍请参见“二层技术-以太网交换配置指导”中的“业务环回组配置”。

 

2.3  Isolate-user-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 ]

 

2.4  Isolate-user-VLAN典型配置举例(方式一)

1. 组网需求

·     Device A下接Device BDevice C

·     Device B上的VLAN 5Isolate-user-VLAN,包含上行端口GigabitEthernet1/0/5和两个Secondary VLANVLAN 2VLAN 3),VLAN 2包含端口GigabitEthernet1/0/2VLAN 3包含端口GigabitEthernet1/0/1

·     Device C上的VLAN 6Isolate-user-VLAN,包含上行端口GigabitEthernet1/0/5和两个Secondary VLANVLAN 3VLAN 4),VLAN 3包含端口GigabitEthernet1/0/3VLAN 4包含端口GigabitEthernet1/0/4

·     从Device A看,下接的Device B只有一个VLANVLAN 5),下接的设备C只有一个VLANVLAN 6)。

2. 组网图

图2-2 配置Isolate-user-VLAN组网图

 

3. 配置步骤

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

(1)     配置Device B

# 配置VLAN 5为Isolate-user-VLAN。

<DeviceB> system-view

[DeviceB] vlan 5

[DeviceB-vlan5] isolate-user-vlan enable

[DeviceB-vlan5] quit

# 创建Secondary VLAN。

[DeviceB] vlan 2 to 3

# 配置Isolate-user-VLANSecondary VLAN间的映射关系。

[DeviceB] isolate-user-vlan 5 secondary 2 to 3

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

[DeviceB] interface gigabitethernet 1/0/5

[DeviceB-GigabitEthernet1/0/5] port isolate-user-vlan 5 promiscuous

[DeviceB-GigabitEthernet1/0/5] quit

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

[DeviceB] interface gigabitethernet 1/0/1

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

[DeviceB-GigabitEthernet1/0/1] port isolate-user-vlan host

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

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

[DeviceB-GigabitEthernet1/0/2] port isolate-user-vlan host

[DeviceB-GigabitEthernet1/0/2] quit

(2)     配置Device C

# 配置VLAN 6为Isolate-user-VLAN。

<DeviceC> system-view

[DeviceC] vlan 6

[DeviceC–vlan6] isolate-user-vlan enable

[DeviceC–vlan6] quit

# 创建Secondary VLAN

[DeviceC] vlan 3 to 4

# 配置Isolate-user-VLANSecondary VLAN间的映射关系。

[DeviceC] isolate-user-vlan 6 secondary 3 to 4

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

[DeviceC] interface gigabitethernet 1/0/5

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

[DeviceC-GigabitEthernet1/0/5] quit

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

[DeviceC] interface gigabitethernet 1/0/3

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

[DeviceC-GigabitEthernet1/0/3] port isolate-user-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 isolate-user-vlan host

[DeviceC-GigabitEthernet1/0/4] quit

4. 显示与验证

# 显示Device B上的Isolate-user-VLAN配置情况。

[DeviceB] display isolate-user-vlan

 Isolate-user-VLAN VLAN ID : 5

 Secondary VLAN ID : 2-3

 

 VLAN ID: 5

 VLAN Type: static

 Isolate-user-VLAN type : isolate-user-VLAN

 Route Interface: not configured

 Description: VLAN 0005

 Name:VLAN 0005

 Tagged   Ports: none

 Untagged Ports:

    GigabitEthernet1/0/1            GigabitEthernet1/0/2            GigabitEthernet1/0/5

 

 VLAN ID: 2

 VLAN Type: static

 Isolate-user-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

 Isolate-user-VLAN type : secondary

 Route Interface: not configured

 Description: VLAN 0003

 Name:VLAN 0003

 Tagged   Ports: none

 Untagged Ports:

    GigabitEthernet1/0/1            GigabitEthernet1/0/5

2.5  Isolate-user-VLAN典型配置举例(方式二)

1. 组网需求

·     Device A下接Device BDevice C

·     Device B上的VLAN 5Isolate-user-VLAN,包含上行端口GigabitEthernet1/0/5和两个Secondary VLANVLAN 2VLAN 3),VLAN 2包含端口GigabitEthernet1/0/2VLAN 3包含端口GigabitEthernet1/0/1

·     Device C上的VLAN 6Isolate-user-VLAN,包含上行端口GigabitEthernet1/0/5和两个Secondary VLANVLAN 3VLAN 4),VLAN 3包含端口GigabitEthernet1/0/3VLAN 4包含端口GigabitEthernet1/0/4

·     从Device A看,下接的Device B只有一个VLANVLAN 5),下接的设备C只有一个VLANVLAN 6)。

2. 组网图

图2-3 配置Isolate-user-VLAN组网图

 

3. 配置步骤

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

(1)     配置Device B

# 将VLAN 5配置为Isolate-user-VLAN。

<DeviceB> system-view

[DeviceB] vlan 5

[DeviceB-vlan5] isolate-user-vlan enable

[DeviceB-vlan5] quit

# 创建Secondary VLAN

[DeviceB] vlan 2 to 3

# 配置Isolate-user-VLAN和Secondary VLAN间的映射关系。

[DeviceB] isolate-user-vlan 5 secondary 2 to 3

# 配置上行端口GigabitEthernet 1/0/5。

[DeviceB] interface gigabitethernet 1/0/5

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

[DeviceB-GigabitEthernet1/0/5] port hybrid vlan 2 3 5 untagged

[DeviceB-GigabitEthernet1/0/5] port hybrid pvid vlan 5

[DeviceB-GigabitEthernet1/0/5] quit

# 配置下行端口GigabitEthernet 1/0/1、GigabitEthernet 1/0/2。

[DeviceB] interface gigabitethernet 1/0/1

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

[DeviceB-GigabitEthernet1/0/1] port hybrid vlan 3 5 untagged

[DeviceB-GigabitEthernet1/0/1] port hybrid pvid vlan 3

[DeviceB-GigabitEthernet1/0/1] quit

[DeviceB] interface gigabitethernet 1/0/2

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

[DeviceB-GigabitEthernet1/0/2] port hybrid vlan 2 5 untagged

[DeviceB-GigabitEthernet1/0/2] port hybrid pvid vlan 2

[DeviceB-GigabitEthernet1/0/2] quit

(2)     配置Device C

# 将VLAN 6配置为Isolate-user-VLAN。

<DeviceC> system-view

[DeviceC] vlan 6

[DeviceC-vlan6] isolate-user-vlan enable

[DeviceC-vlan6] quit

# 创建Secondary VLAN

[DeviceC] vlan 3 to 4

# 配置Isolate-user-VLANSecondary VLAN间的映射关系。

[DeviceC] isolate-user-vlan 6 secondary 3 to 4

# 配置上行端口GigabitEthernet 1/0/5

[DeviceC] interface gigabitethernet 1/0/5

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

[DeviceC-GigabitEthernet1/0/5] port hybrid vlan 3 4 6 untagged

[DeviceC-GigabitEthernet1/0/5] port hybrid pvid vlan 6

[DeviceC-GigabitEthernet1/0/5] quit

# 配置下行端口GigabitEthernet 1/0/3GigabitEthernet 1/0/4

[DeviceC] interface gigabitethernet 1/0/3

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

[DeviceC-GigabitEthernet1/0/3] port hybrid vlan 3 6 untagged

[DeviceC-GigabitEthernet1/0/3] port hybrid pvid vlan 3

[DeviceC-GigabitEthernet1/0/3] quit

[DeviceC] interface gigabitethernet 1/0/4

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

[DeviceC-GigabitEthernet1/0/4] port hybrid vlan 4 6 untagged

[DeviceC-GigabitEthernet1/0/4] port hybrid pvid vlan 4

[DeviceC-GigabitEthernet1/0/4] quit

4. 显示与验证

# 显示Device B上的Isolate-user-VLAN配置情况。

[DeviceB] display isolate-user-vlan

 Isolate-user-VLAN VLAN ID : 5

 Secondary VLAN ID : 2-3

 

 VLAN ID: 5

 VLAN Type: static

 Isolate-user-VLAN type : isolate-user-VLAN

 Route Interface: not configured

 Description: VLAN 0005

 Name:VLAN 0005

 Tagged   Ports: none

 Untagged Ports:

    GigabitEthernet1/0/1            GigabitEthernet1/0/2            GigabitEthernet1/0/5

 

 VLAN ID: 2

 VLAN Type: static

 Isolate-user-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

 Isolate-user-VLAN type : secondary

 Route Interface: not configured

 Description: VLAN 0003

 Name:VLAN 0003

 Tagged   Ports: none

 Untagged Ports:

    GigabitEthernet1/0/1            GigabitEthernet1/0/5

 

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

新华三官网
联系我们