前言
MUX VLAN(Multiplex VLAN)提供了一种通过VLAN进行网络资源控制的机制。通过MUX VLAN提供的二层流量隔离的机制可以实现企业内部员工之间互相通信,而企业外来访客之间的互访是隔离的。
为了实现报文之间的二层隔离,用户可以将不同的端口加入不同的VLAN,但这样会浪费有限的VLAN资源。采用端口隔离功能,可以实现同一VLAN内端口之间的隔离。端口隔离功能为用户提供了更安全、更灵活的组网方案。
在安全性要求较高的网络中,交换机可以开启端口安全功能,禁止非法MAC地址设备接入网络;当学习到的MAC地址数量达到上限后不再学习新的MAC地址,只允许学习到MAC地址的设备通信。
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内的用户通信的VLAN。
如图所示,根据MUX VLAN特性,解决方案如下:
企业管理员可以将服务器划分到Principal VLAN。
MUX VLAN技术中只能将一个VLAN设置为Separate VLAN,所以可以将外来访客划分到Separate VLAN。
由于可以将多个VLAN设置为Group VLAN,所以可以将企业员工划分到Group VLAN,企业内部不同部门之间通过划分到不同的VLAN进行隔离。
这样就能够实现:
企业外来访客、企业员工都能够访问企业服务器。
企业员工部门内部可以通信,而企业员工部门之间不能通信。
企业外来访客间不能通信、外来访客和企业员工之间不能互访。
根据上面的方案配置
sysname SWB
#
vlan batch 10 20 30 40
#
vlan 10
description Financial VLAN
vlan 20
description Marketing VLAN
vlan 30
description Client VLAN
vlan 40
description Principal VLAN
mux-vlan //将VLAN 40设置为Principal VLAN
subordinate separate 30 //将VLAN 30设置为Separate VLAN
subordinate group 10 20 //将VLAN 10与VLAN 20设置为Group VLAN
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
#
interface GigabitEthernet0/0/2
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 40
port mux-vlan enable //在接口下开启MUX VLAN功能
sysname SWC
#
vlan batch 10 20 30 40
#
vlan 10
description Financial VLAN
vlan 20
description Marketing VLAN
vlan 30
description Cilent VLAN
vlan 40
description Principal VLAN
mux-vlan
subordinate separate 30
subordinate group 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
port mux-vlan enable
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 10
port mux-vlan enable
#
interface GigabitEthernet0/0/4
port link-type access
port default vlan 20
port mux-vlan enable
#
interface GigabitEthernet0/0/5
port link-type access
port default vlan 20
port mux-vlan enable
sysname SWD
#
vlan batch 10 20 30 40
#
vlan 10
description Financial VLAN
vlan 20
description Marketing
vlan 30
description Client VLAN
vlan 40
description Principal VLAN
mux-vlan
subordinate separate 30
subordinate group 10 20
#
interface GigabitEthernet0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20 30 40
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 30
port mux-vlan enable
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 30
port mux-vlan enable
Super Vlan(Vlan聚合)
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对应的子网网段内。
通信原理(1):
Super-VLAN(VLAN10)包含Sub-VLAN(VLAN2 和VLAN3)
上述拓扑假设S1已经开启了Sub-VLAN间的ARP Proxy功能,通信过程如下:
1)PC1将PC2的IP 地址(1.1.1.20)和自己所在网段1.1.1.0/24 进行比较,发现PC2和自己在同一个子网,但是PC1的ARP表中无PC2的对应表项。
2)PC1发送ARP广播,请求PC2的MAC 地址。
3)PC2并不在VLAN2的广播域内,无法接收到PC1的这个ARP请求。
4)由于网关上使能Sub-VLAN间的ARP Proxy,当网关收到PC1的ARP请求后,开始在路由表中查找,发现ARP请求中的PC2的IP地址(1.1.1.20)为直连接口路由,则网关向所有其他Sub-VLAN接口发送一个ARP广播,请求PC2的MAC地址。
5)PC2收到网关发送的ARP广播后,对此请求进行ARP应答。
6)网关收到PC2的应答后,就把自己的MAC地址当作PC2的MAC地址回应给PC1。
7)网关和PC1的ARP表项中都存在PC2的对应表项。
8)PC1之后要发给B的报文都先发送给网关,由网关做三层转发。
通信原理(2):
从PC1侧Port1进入设备S2的帧会被打上VLAN2的Tag,在设备S1中这个Tag不会因为VLAN2是VLAN10的Sub-VLAN而变为VLAN10的Tag。该数据帧从Trunk类型的接口Port3出去时,依然是携带VLAN2的Tag。设备S1本身不会发出VLAN10的报文。就算其他设备有VLAN10的报文发送到该设备上,这些报文也会因为设备S1上没有VLAN10对应物理端口而被丢弃。
Super-VLAN中是不存在物理端口的,这种限制是强制的,表现在:
如果先配置了Super-VLAN,再配置Trunk接口时,Trunk的VLAN allowed表项里就自动滤除了Super VLAN。
如果先配好了Trunk端口,并允许所有VLAN通过,则在此设备上将无法配置Super-VLAN。本质原因是有物理端口的VLAN都不能被配置为Super VLAN。而允许所有VLAN通过的Trunk端口是所有VLAN的tagged端口,当然任何VLAN 都不能被配置为Super VLAN。
对于设备S1而言,有效的VLAN只有VLAN2和VLAN3,所有的数据帧都在这两个VLAN中转发的。
通信原理3:
S2上配置了Super-VLAN 4,Sub-VLAN 2和Sub-VLAN 3,并配置一个普通的VLAN10;
Switch1上配置两个普通的VLAN 10和VLAN 20。假设Super-VLAN 4中的Sub-VLAN 2下的PC1想访问与S1 相连的主机PC3,假设设S2上已配置了去往1.1.3.0/24网段的路由,Switch1上已配置了去往1.1.1.0/24网段的路由:
PC1将PC3的IP地址(1.1.3.2)和自己所在网段1.1.1.0/24进行比较,发现PC3和自己不在同一个子网。
PC1发送ARP请求给自己的网关,请求网关的MAC地址。
S2收到该ARP请求后,查找Sub-VLAN和Super-VLAN的对应关系,从Sub-VLAN 2发送ARP应答给PC1。ARP应答报文中的源MAC地址为Super-VLAN 4对应的VLANIF4的MAC地址。
PC1学习到网关的MAC地址。
PC1向网关发送目的MAC为Super-VLAN 4对应的VLANIF4的MAC、目的IP为1.1.3.2的报文。
S2收到该报文后进行三层转发,下一跳地址为1.1.2.2,出接口为VLANIF10,把报文发送给S1。
S1收到该报文后进行三层转发,通过直连出接口VLANIF20,把报文发送给PC3。
PC3的回应报文,在Switch2上进行三层转发到达Switch1。
Switch1收到该报文后进行三层转发,通过super-VLAN,把报文发送给PC1。
Super配置
vlan 10 //配置Vlan 10为super vlan,vlan20 21 为子vlan
aggregate-vlan
access-vlan 20 to 21
interface Vlanif 10
IP address 192.168.1.1 24
arp-proxy inter-sub-vlan-proxy enable //网关vlanif10开启vlan代理ARP
端口隔离
如图所示,同一端口隔离组内的用户不能进行二层的通信,但是不同端口隔离组内的用户可以进行正常通行;未划分端口隔离的用户也能与端口隔离组内的用户正常通信。
端口隔离分为二层隔离三层互通和二层三层都隔离两种模式:
如果用户希望隔离同一VLAN内的广播报文,但是不同端口下的用户还可以进行三层通信,则可以将隔离模式设置为二层隔离三层互通。
如果用户希望同一VLAN不同端口下用户彻底无法通信,则可以将隔离模式配置为二层三层均隔离。
配置注意事项:
S系列交换机均支持配置二层隔离三层互通模式。
S系列框式交换机均支持二层三层都隔离模式,S系列盒式交换机仅100R006C05版本仅S2700SI、S2700EI不支持二层三层都隔离模式,V100R002及后续版本S1720、S2720、S2750EI、S5700LI、S5700S-LI不支持二层三层都隔离模式。
如果不是特殊情况要求,建议用户不要将上行口和下行口加入到同一端口隔离组中,否则上行口和下行口之间不能相互通信。
sysname SWC
interface GigabitEthernet0/0/1
port link-type access
port default vlan 10
port-isolate enable group 1 //命令用来使能端口隔离功能,默认将端口划入隔离组group 1
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 10
port-isolate enable group 1
port-isolate mode all //配置隔离模式为二层三层都隔离
display port-isolate group all //查看所有创建的隔离组情况
display port-isolate group 1 //X(组号:1)查看具体的某一个隔离组接口情况
端口安全
端口安全解决方案
在对接入用户的安全性要求较高的网络中,可以配置端口安全功能,将接口学习到的MAC地址转换为安全MAC地址,接口学习的最大MAC数量达到上限后不再学习新的MAC地址,只允许学习到MAC地址的设备通信。这样可以阻止其他非信任用户通过本接口和交换机通信,提高设备与网络的安全性。
如图所示,解决方案如下:
接入层交换机的每个接口都开启端口安全功能,并绑定接入用户的MAC地址与VLAN信息,当有非法用户通过已配置端口安全的接口接入网络时,交换机会查找对应的MAC地址表,发现非法用户的MAC地址与表中的不符,将数据包丢弃。
汇聚层交换机开启端口安全功能,并设置每个接口可学习到的最大MAC地址数,当学习到的MAC地址数达到上限时,其他的MAC地址的数据包将被丢弃。
端口安全类型
类型 | 定义 | 特点 |
安全动态MAC地址 | 使能端口安全而未使能Sticky MAC功能时转换的MAC地址 | 设备重启后表项会丢失,需要重新学习,缺省情况下不会被老化,只有在配置安全MAC的老化时间后才可以被老化 |
安全静态MAC地址 | 使能端口安全时手工配置的静态MAC地址 | 不会被老化,手动保存配置后重启设备不会丢失 |
Sticky MAC地址 | 使能端口安全后又同时使能Sticky MAC功能后转换得到的MAC地址 | 不会被老化,手动保存配置后重启设备不会丢失 |
说明:
接口使能端口安全功能时,接口上之前学习到的动态MAC地址表项将被删除,之后学习到的MAC地址将变为安全动态MAC地址。
接口使能Sticky MAC功能时,接口上的安全动态MAC地址表项将转化为Sticky MAC地址,之后学习到的MAC地址也变为Sticky MAC地址。
接口去使能端口安全功能时,接口上的安全动态MAC地址将被删除,重新学习动态MAC地址。
接口去使能Sticky MAC功能时,接口上的Sticky MAC地址会转换为安全动态MAC地址。
配置
sysname SWC
interface GigabitEthernet0/0/1
port-security enable //使能端口安全功能,缺省情况下,未使能端口安全功能
port-security mac-address sticky //使能接口Sticky MAC功能,缺省情况下,接口未使能Sticky MAC功能
port-security max-mac-num 10 //配置接口Sticky MAC学习限制数量
port-security mac-address sticky 5489-983F-24E5 vlan 10 //手动配置一条sticky-mac表项
port-security protect-action restrict //配置端口安全保护动作,缺省情况下,端口安全保护动作为restrict( { protect | restrict | shutdown })