对于不是很常用的MAC VLAN,许多读者都感到很陌生,读者QQ群中也经常见到有读者提到这方面的问题,希望我给予解答。现从笔者编著,目前在全国热销的《Cisco/H3C交换机配置与管理完全手册》(第二版)(与之配套的姊妹篇为《Cisco/H3C交换机高级配置与管理技术手册》)一书中摘选一部分H3C交换机MAC VLAN内容,希望对这些读者有所帮助。如要全面了解Cisco和H3C交换机的MAC VLAN相关知识和配置方法,请参见Cisco/H3C交换机配置与管理完全手册》(第二版)。
我们在第一篇学习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。
在手动配置静态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列表里时,则接收该报文;否则丢弃该报文。
在手动配置静态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的处理流程
动态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配置(略)
使用时,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的报文通过。
<SwitchA> 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
2. SwitchB的配置。
SwitchB的配置与SwitchA完全一致,这里不再赘述。
3. Core Switch的配置
(1)创建VLAN100和VLAN200,并将GigabitEthernet1/0/13和GigabitVLANEthernet
1/0/14端口分别加入这两个VLAN。
<CoreSwitch> 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
本文出自 “王达博客” 博客,转载请与作者联系!