HCIE课程笔记17-VLAN配置
1 基于端口划分VLAN
命令含义
port link-type命令用来配置接口的链路类型。
port trunk allow-pass vlan命令用来配置Trunk类型接口加入的VLAN。
port hybrid untagged vlan命令用来配置Hybrid类型接口加入的VLAN,这些VLAN的帧以Untagged方式通过接口。
具体用法
接口视图
参数意义
port link-type { access | dot1q-tunnel | hybrid | trunk }
access:配置接口的链路类型为Access。
dot1q-tunnel:配置接口的链路类型为QinQ。
hybrid:配置接口的链路类型为Hybrid。
trunk:配置接口的链路类型为Trunk。

如上图所示,基于端口划分VLAN,且S1的E0/0/1端口必须为Hybrid端口;仅允许相关VLAN通过trunk链路:
S1:
int e0/0/1
port hybrid pvid vlan 2
port hybrid untagged vlan 2
int e0/0/2
port link-type access
port default vlan 3
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
undo port trunk allow-pass vlan 1
S2:
int e0/0/1
port link-type access
port default vlan 2
int e0/0/2
port link-type access
port default vlan 4
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
undo port trunk allow-pass vlan 1
2 基于MAC地址划分VLAN
命令含义
mac-vlan mac-address命令用来配置MAC地址与VLAN关联。
mac-vlan enable命令用来使能接口的MAC VLAN功能。
注意事项
一个MAC地址关联了MAC VLAN后,则不可以再用于配置其它MAC VLAN。
当接口收到Untagged报文时,接口会以报文的源MAC地址去匹配MAC-VLAN表项。如果匹配成功,则按照匹配到的VLANID进行转发;如果匹配失败,则按照优先级选择其他匹配原则继续进行匹配。当收到Tagged报文时,按照基于端口划分VLAN进行转发。
二层端口类型必须为hybrid。

S1:
vlan 2
mac-vlan mac-address 0000-0011-1111
vlan 3
mac-vlan mac-address 0000-0022-2222
int e0/0/1
port hybrid untagged vlan 2 3
mac-vlan enable
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
undo port trunk allow-pass vlan 1
S2:
vlan 2
mac-vlan mac-address 0000-0011-1111
vlan 3
mac-vlan mac-address 0000-0022-2222
int e0/0/1
port hybrid untagged vlan 2 3
mac-vlan enable
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
undo port trunk allow-pass vlan 1
display mac-vlan mac-address all
3 基于子网划分VLAN
命令含义
ip-subnet-vlan命令用来基于IP子网划分VLAN。
ip-subnet-vlan enable命令用来使能接口基于IP子网划分VLAN的功能。
注意事项
ip-subnet-vlan命令中的IP网段或IP地址参数不能配置为组播网段或组播地址。
基于IP子网的VLAN划分必须在Hybrid类型接口上配置。

S1:
vlan 2
ip-subnet-vlan 1 ip 1.1.1.0 255.255.255.0
vlan 3
ip-subnet-vlan 1 ip 1.1.2.0 255.255.255.0
int e0/0/1
port hybrid untagged vlan 2 3
ip-subnet-vlan enable
4 基于协议划分VLAN
命令含义
protocol-vlan命令用来配置基于协议划分VLAN,并指定关联的协议。
protocol-vlan vlan命令用来配置接口关联协议VLAN。
注意事项
基于协议的VLAN划分必须在Hybrid类型接口上配置。
如果接口采用基于协议划分VLAN的机制,当接口收到报文时,交换机需要解析报文的协议类型并进行相应转换。
vlan 2
protocol-vlan 0 ipv6
vlan 3
protocol-vlan 0 ipv4
int e0/0/1
port hybrid untagged vlan 2 3
protocol-vlan vlan 2 0 priority 0
protocol-vlan vlan 3 0 priority 0
5 配置VLAN Aggregation
VLAN Aggregation(VLAN聚合,也称Super VLAN)技术就是在一个物理网络内,用多个VLAN隔离广播域,使不同的VLAN 属于同一个子网。
Super-VLAN:和通常意义上的VLAN不同,它只建立三层接口,与该子网对应,而且不包含物理端口。可以把它看作一个逻辑的三层概念——若干Sub-VLAN的集合。
Sub-VLAN:只包含物理端口,用于隔离广播域的VLAN,不能建立三层VLAN接口。它与外部的三层交换是靠Super-VLAN的三层接口来实现的。
一个Super-VLAN可以包含一个或多个保持着不同广播域的Sub-VLAN。Sub-VLAN不再占用一个独立的子网网段。在同一个Super-VLAN中,无论主机属于哪一个Sub-VLAN,它的IP地址都在Super-VLAN对应的子网网段内。

Sub-VLAN间的三层通信通过使能Sub-VLAN间的ARP Proxy功能,实现Sub-VLAN间互通。
Sub-VLAN与外部网络的二层通信:基于端口的VLAN二层通信中,无论是数据帧进入接口还是从接口发出都不会针对Super-VlAN的报文,即Super-VLAN中是不存在物理端口的,这种限制是强制的。
实例分析:

命令含义:
aggregate-vlan命令用来将当前VLAN配置为Super-VLAN。
access-vlan命令用来将一个或一组Sub-VLAN加入Super-VLAN中。
注意事项
VLAN1不能配置为Super-VLAN。
Super-VLAN与Sub-VLAN必须为不同的VLAN。
一个VLAN不能同时加入多个不同的Super-VLAN中。
LSW1:
vlan batch 2 to 4
vlan 4
aggregate-vlan
access-vlan 2 to 3
int vlanif4
ip add 192.168.1.254 255.255.255.0
quit
int e0/0/1
port link-type access
port default vlan 2
int e0/0/2
port link-type access
port default vlan 3
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
LSW2:
vlan batch 2 3
int e0/0/1
port link-type access
port default vlan 2
int e0/0/2
port link-type access
port default vlan 3
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 3
此时4台PC都能ping通192.168.1.254,PC1和PC3正常互通,PC2和PC4正常互通, VLAN 2和VLAN 3之间二层隔离不能互通,通过使能VLAN间的ARP代理实现VLAN间互通:
LSW1:
int vlanif4
arp-proxy inter-sub-vlan-proxy enable
quit
ARP代理配置完成后,所有PC可有正常互通,抓包可以发现,VLAN间的通信是通过ARP代理完成的,如下图所示,PC3在PING PC4的过程中,对LSW2的E0/0/10口进行抓包,可以观察到,ICMP每次都要经过192.168.1.254的转发:
6 配置MUX VLAN
MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。通MUX VLAN提供的二层流量隔离的机制可以实现企业内部员工之间互相通信,而企业外来访客之间的互访是隔离的。
MUX VLAN的划分:
主VLAN(Principal VLAN):可以与MUX VLAN内的所有VLAN进行通信。
隔离型从VLAN(Separate VLAN):只能和Principal VLAN进行通信,和其他类型的VLAN完全隔离,Separate VLAN内部也完全隔离。
互通型从VLAN(Group VLAN):可以和Principal VLAN进行通信,在同一Group VLAN内的用户也可互相通信,但不能和其他Group VLAN或Separate VLAN内的用户通信。

配置要求如下:
VLAN2和VLAN3内的主机能够访问VLAN4内的主机;
VLAN2和VLAN3内的主机不能互相访问;
VLAN2内的主机不能相互访问;
命令含义:
mux-vlan命令用来将当前VLAN配置为MUX VLAN中的主VLAN。
subordinate group命令用来配置主VLAN下的互通型从VLAN。
subordinate separate命令用来配置主VLAN下的隔离型从VLAN。
LSW1:
vlan batch 2 3
vlan 4
mux-vlan
subordinate separate 2
subordinate group 3
int e0/0/1
port link-type access
port default vlan 2
port mux-vlan enable
int e0/0/2
port link-type access
port default vlan 3
port mux-vlan enable
int e0/0/3
port link-type access
port default vlan 2
port mux-vlan enable
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 to 4
LSW2:
vlan batch 2 to 4
vlan 4
mux-vlan
subordinate separate 2
subordinate group 3
int e0/0/1
port link-type access
port default vlan 2
port mux-vlan enable
int e0/0/2
port link-type access
port default vlan 4
port mux-vlan enable
int e0/0/10
port link-type trunk
port trunk allow-pass vlan 2 to 4
做完上述配置后,PC1与PC6无法互通,但PC3却依然可以正常ping通PC1和PC2。
