目录

H3C交换机MAC-VLAN原理及配置示例

H3C交换机MAC VLAN原理及配置示例

对于不是很常用的MAC VLAN,许多读者都感到很陌生,读者QQ群中也经常见到有读者提到这方面的问题,希望我给予解答。现从笔者编著,目前在全国热销的 (与之配套的姊妹篇为 )一书中摘选一部分H3C交换机MAC VLAN内容,希望对这些读者有所帮助。如要全面了解Cisco和H3C交换机的MAC VLAN相关知识和配置方法,请参见Cisco/H3C交换机配置与管理完全手册》(第二版)。

19.6  H3C交换机基于MAC地址VLAN配置

与Cisco IOS中的基于MAC地址VLAN一样,H3C交换机中的基于MAC地址VLAN也是一种动态VLAN划分方式。它并不会把某个端口静态地划分到一个特定的VLAN,而是要根据所连主机的MAC地址来动态选择加入到对应的VLAN中。

我们在第一篇学习Cisco IOS交换机基于MAC地址划分VLAN时已体会到,总体来说还是比较麻烦的,要配置VMPS服务器,还要配置VPMS客户端,而且VMPS服务器目前来说只能由CatOS系统交换机担当,所以要实现基于MAC地址来划分VLAN网络中必须同时有两种操作系统的Cisco交换机,条件也是比较比较苛刻的。相比之下,本节介绍的H3C交换机基于MAC地址的VLAN划分就简单许多。它是按照报文的源MAC地址来定义VLAN成员,将指定报文加入该VLAN的标记后发送。但在H3C以太网交换机中,支持基于MAC地址的VLAN不多,与前面介绍的基于IP子网VLAN一样,主要有S5500、S5510、S7500E等交换机系列。

与前面介绍的基于协议VLAN和基于IP子网VLAN一样,基于MAC地址的VLAN功能也只能在Hybrid端口配置,而且也主要用于在用户的接入设备的下行端口上进行配置(基于协议VLAN和基于IP子网VLAN也仅在接入设备的下行端口上配置),因此不和聚合功能同时使用。

19.6.1 基于MAC地址VLAN的实现机制

在支持基于MAC地址划分VLAN的H3C交换机中,划分方式又有三种形式:手动配置静态MAC VLAN、动态触发端口加入静态MAC VLAN和动态MAC VLAN。

1.    手动配置静态MAC VLAN

在手动配置静态MAC VLAN方式中,管理员需要手动配置MAC VLAN表项,启动基于MAC划分VLAN的功能,然后手动将对应的端口加入MAC VLAN。这种方式显然工作量比较大,常用于MAC VLAN中用户相对较少的网络环境。在该方式下,MAC VLAN的划分原理如下:

l  当端口收到的报文为不带VLAN标记的报文时,会根据报文的源MAC匹配MAC VLAN表项。首先进行模糊匹配,即查询表中MASK(MAC地址掩码)不是全为F(只比较非F的位)的表项。将源MAC和MASK进行逻辑与运算后再与MAC VLAN表项中的MAC地址匹配,如果完全相同,则匹配成功,给报文添加表项中指定的VLAN ID并转发该报文;如果模糊匹配失败,则进行精确匹配,即查询表中MASK为全F的表项。如果报文中的源MAC与MAC VLAN表项中的MAC地址完全相同,则匹配成功,给报文添加表项中指定的VLAN ID并转发该报文;如果没有找到匹配MAC VLAN表项,则继续按照基于IP子网VLAN、协议VLAN、端口VLAN的先后顺序进行匹配。

l  当端口收到的报文为带有VLAN标记的报文时,如果VLAN ID在端口中允许通过的VLAN ID列表里时,则接收该报文;否则丢弃该报文。

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

在手动配置静态MAC VLAN划分方式中,管理员需要把端口一一加入相应的MAC VLAN,但这里有一个问题,那就是我们有时往往根本不能确定交换机从哪些端口收到属于MAC VLAN的报文,这时我们就不能通过手动方式把相应端口加入到MAC VLAN。此时,就需要借助另一种更加智能的MAC VLAN配置方式,使用动态触发端口加入静态MAC VLAN中。在这种MAC VLAN配置方式中,配置MAC VLAN表项后,管理员只需在端口上启用基于MAC的VLAN划分功能和MAC VLAN动态触发功能,在端口收到与MAC VLAN表项匹配的报文后,可以通过此报文动态触发端口加入MAC VLAN。其划分原理如下:

l  当端口收到的报文为不带VLAN标记的报文时,按图19-11所示流程进行处理。

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

【说明】如果用户在同一端口上同时启用了手动配置静态MAC VLAN和动态触发端口加入静态MAC VLAN,此时端口对收到的非精确匹配的报文将做丢弃处理。

图19-11 在收到不带VLAN标记报文时,动态触发端口加入静态MAC VLAN的处理流程

3. 动态MAC VLAN

动态MAC VLAN需要和接入认证(比如基于MAC地址的802.1x认证)配合使用,以实现终端的安全、灵活接入。用户在交换机上配置动态MAC VLAN功能以后,还需要在接入认证服务器上配置MAC地址和VLAN的关联关系,这种MAC VLAN的配置就比较麻烦了,本书不做介绍。

在动态

MAC VLAN

中,用户访问网络时,接入认证服务器先对用户进行认证,如果认证通过,服务器下发

VLAN

信息。交换机会根据用户报文的源

MAC

地址和下发的

VLAN

信息生成

MAC VLAN

表项,并将

MAC VLAN

添加到端口允许通过的

VLAN

列表中。用户下线后,交换机自动删除

MAC VLAN

表项,并将

MAC VLAN

从端口允许通过的

VLAN

列表中删除。

19.6.2 手动配置静态 MAC VLAN配置 (略)

19.6.3 动态触发端口加入静态MAC VLAN配置 (略)

19.6.4  手动配置静态MAC VLAN配置示例

本示例拓扑结构如图19-11所示。SwitchA和SwitchB的GigabitEthernet1/0/1端口分别连接到两个会议室,Laptop1和Laptop2是会议用笔记本电脑,会在两个会议室间移动使用。Laptop1和Laptop2的MAC地址分别为000d-88f8-4e71、0014-222c-aa69。

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

图19-11  手动配置静态MAC VLAN示例拓扑结构

本示例配置所适用的H3C交换机系列和对应的软/硬件版本如表19-18所示。

表19-18  示例适用的H3C交换机系列及软/硬件版本

H3C交换机系列软件版本硬件版本
S5500-SI系列以太网交换机Release 1207软件版本全系列硬件版本(除S5500-20TP-SI)
Release 1301软件版本S5500-20TP-SI
S5500-EI系列以太网交换机Release 2102软件版本全系列硬件版本
S7500E系列以太网交换机Release 6100,Release 6300软件版本全系列硬件版本

1 . SwitchA的配置。

(1)创建VLAN100和VLAN200,并将GigabitEthernet1/0/2配置为Trunk端口,允许VLAN100和VLAN200的报文通过。

**system-view**

[SwitchA] vlan 100

[SwitchA-vlan100] quit

[SwitchA] vlan 200

[SwitchA-vlan200] quit

[SwitchA] interface GigabitEthernet1/0/2

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

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

[SwitchA-GigabitEthernet1/0/2] quit

(2)将GigabitEthernet1/0/1配置为Hybrid端口,并使其在发送VLAN 100和VLAN 200的报文时去掉VLAN Tag。

[SwitchA] interface GigabitEthernet1/0/1

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

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

[SwitchA-GigabitEthernet1/0/1] quit

(3)创建Laptop1的MAC地址与VLAN 100的关联,创建Laptop2的MAC地址与VLAN 200的关联,开启GigabitEthernet1/0/1端口的MAC-VLAN功能。

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

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

[SwitchA] interface GigabitEthernet 1/0/1

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

SwitchB的配置。

SwitchB的配置与SwitchA完全一致,这里不再赘述。

3 . Core Switch的配置

(1)创建VLAN100和VLAN200,并将GigabitEthernet1/0/13和GigabitVLANEthernet

1/0/14端口分别加入这两个VLAN。

**system-view**

[CoreSwitch] vlan 100

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

[CoreSwitch-vlan100] quit

[CoreSwitch] vlan 200

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

[CoreSwitch-vlan200] quit

(2)配置GigabitEthernet1/0/3和GigabitEthernet1/0/4端口为Trunk端口,均允许VLAN100和VLAN200的报文通过。从这里也可以看出,同一个VLAN中可以基于多种VLAN划分方式来添加端口,因为在VLAN 100和VLAN 200中,上一步已通过基于端口VLAN划分方式添加了gigabitethernet 1/0/13和gigabitethernet 1/0/14两个Access端口。而此处添加的了Trunk端口(在SwitchA和SwitchB中还通过基于MAC地址划分方式添加了Hybird端口)。

[CoreSwitch] interface GigabitEthernet1/0/3

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

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

[CoreSwitch-GigabitEthernet1/0/3] quit

[CoreSwitch] interface GigabitEthernet1/0/4

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

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

[CoreSwitch-GigabitEthernet1/0/4] quit