首先在了解划分mac-vlan前你应该要知道mac-vlan和端口vlan的区别。
回想一下交换机的数据帧发送和接受过程。首先交换机是从PC上接到一个以太网帧,该帧是不带vlan-tag的~所以此时候就由端口决定如何为该帧添加vlan-tag,然后在将帧转发出去。那么在添加vlan-tag的时候端口是以何种规则的呢?
这里的规则就是要看端口实行的哪种vlan的加入方式了。常用基于端口vlan,那么该端口就是将此端口的默认vld做为tag加上去,如果该端口是以mac-vlan方式的呢?那么端口则要先查找mac地址对应的vlan-id 然后在打上tag转发。所以在设置基于端口和基于mac地址的vlan的时候本质区别来讲就是端口在打tag 的一个选择过程。
换句话说:基于端口的vlan划分,需要把端口设为access类型,且设置PVID。一旦端口被设置为access类型,那么该端口就已经属于一个vlan了。即使再开设mac-vlan 也没用!基于端口的vlan优先级大于其他类型的vlan。所以要设置mac-vlan或者是ip子网协议vlan需要把端口类型设为hybrid,trunk类型肯定不能用。
华为的相关资料上有说:vlan划分方式的优先级,基于端口的是最低的,但是在真实的使用过程中却不是。我也不知道为什么。。
进入主题,划分mac-vlan:
配置思路
采用如下的思路配置基于MAC地址的VLAN划分:
1. 创建VLAN,确定员工所属的VLAN。
2. 配置各以太网接口以正确的方式加入VLAN,实现接口允许VLAN报文通过。
3. 配置PC1、PC2、PC3的MAC地址与VLAN关联,实现根据报文中的源MAC地址确定VLAN。
操作步骤
1. 配置Switch
# 创建VLAN
<HUAWEI> system-view
[HUAWEI] sysname Switch
[Switch] vlan batch 10
# 配置接口加入VLAN。GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/1
[Switch-GigabitEthernet0/0/1] port hybrid tagged vlan 10
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] port hybrid untagged vlan 10
[Switch-GigabitEthernet0/0/2] quit
# PC的MAC地址与VLAN10关联
[Switch] vlan 10
[Switch-vlan10] mac-vlan mac-address 22-22-22
[Switch-vlan10] mac-vlan mac-address 33-33-33
[Switch-vlan10] mac-vlan mac-address 44-44-44
[Switch-vlan10] quit
# 使能接口的基于MAC地址划分VLAN功能,GE0/0/3、GE0/0/4的配置与GE0/0/2类似,不再赘述。
[Switch] interface gigabitethernet 0/0/2
[Switch-GigabitEthernet0/0/2] mac-vlan enable
[Switch-GigabitEthernet0/0/2] quit
2. 检查配置结果
PC1、PC2、PC3可以访问公司网络,如换成其他外来人员的PC则不能访问。