VLAN知识点归纳与总结(实战篇)
本文详细介绍了VLAN技术的配置与应用,主要包括三种接口类型(Access、Trunk、Hybrid)的配置方法,以及基于接口、MAC地址、子网和协议的VLAN划分方式。同时阐述了VLAN的三层通信实现(VLANIF接口和单臂路由)、VLAN聚合原理及MUX VLAN的应用场景。此外,还介绍了QinQ技术和VLAN Mapping技术的基本原理及配置方法。通过多个实际场景的配置示例和抓包分析,展示
一、接口类型配置
常规情况下,VLAN划分会搭配着子网划分同时进行。本节为突出展示VLAN的隔离特性,将所有PC划分在同一子网中。
1、Access接口
※场景:
各PC连接在同一交换机上,并通过VLAN进行隔离。

※思路:
通过配置Access接口的方式将各个接口规划至不同VLAN以实现场景需求。
※配置:
[SW1]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
int g 0/0/3
port link-type access
port default vlan 10
int g 0/0/4
port link-type access
port default vlan 20
※检验:
PC-1 ping PC-2:

PC-1 ping PC-3:

※分析:
交换机接口GE-1、GE-3规划为VLAN 10,GE-2、GE-4规划为VLAN 20,同时四个接口均为Access类型接口。
PC-1发送Untagged报文至交换机,交换机GE-1收到报文会打上PVID标签即VLAN 10同时在VLAN 10中泛洪。GE-2与GE-4接口属于VLAN 20,会丢弃携带VLAN 10标签的报文,故PC-1无法ping通PC-2。GE-1与GE-3同属VLAN 10,报文会从GE-3接口以Untagged方式发送至PC-3。
2、Trunk接口
※场景:
各PC跨交换机通信,并通过VLAN进行隔离。

※思路:
连接PC的接口配置成Access接口,交换机之间连接的接口配置为Trunk接口。
※配置:
以SW1为例,SW2与SW1相同。
[SW1]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
int g 0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
※检验:
PC-1 ping PC-3:

PC-1 ping PC-4:

※分析:
PC-1与PC-3、PC-4进行跨交换机通信,交换机之间级联接口为Trunk接口,允许携带VLAN 10和VLAN 20标签的报文通过。
PC-1发送Untagged报文至交换机SW-1,SW-1为其打上VLAN 10的标签进行泛洪。交换机级联接口均允许带有VLAN 10标签的报文通过,故SW-2收到报文。SW-2 GE-2接口属于VLAN 20,会丢弃携带VLAN 10标签的报文,故PC-1无法ping通PC-2;SW-2 GE-1接口属于VLAN 10,会接收携带VLAN 10标签的报文通过,故PC-1可以ping通PC-2。
3、Hybrid接口
※场景:
各PC跨交换机通信,并通过VLAN进行隔离。以Hybrid接口完成。

※思路:
连接终端设备的接口以Untagged方式发送报文,交换机间级联接口以Tagged方式发送报文。以SW-1为例,接口GE-1的类型为Hybrid,PVID为10,发送方式为Untagged;接口GE-2的类型为Hybrid,PVID为20,发送方式为Untagged;接口GE-3的类型为Hybrid,PVID保持默认值(通常为VLAN 1),并以Tagged发送。
※配置:
以SW-1为例,SW-2配置与SW-1相同。
[SW1]:vlan batch 10 20
int g 0/0/1
port link-type hybrid
port hybrid untagged vlan 10
port hybrid pvid vlan 10
int g 0/0/2
port link-type hybrid
port hybrid untagged vlan 20
port hybrid pvid vlan 20
int g 0/0/3
port link-type hybrid
port hybrid tagged vlan 10 20
※检验:
PC-1 ping PC-3:

PC-1 ping PC-4:

※分析:
SW-1的接口GE-1与GE-2连接PC,应为无标签发送,所以发送方式均为Untagged。根据场景需求,GE-1属于VLAN 10,所以将PVID设置为10,同时只允许VLAN ID为10的报文剥离标签(Untagged)发送;GE-2属于VLAN 20,所以将PVID设置为20,同时只允许VLAN 20 的报文剥离标签(Untagged)发送;GE-3为交换机级联接口,PVID为默认值,允许VLAN ID为10和20的报文保留标签(Tagged)发送。
二、划分方式
1、基于接口划分
基于接口划分的配置就是上文中提到的三种接口类型的配置。以下仅做简单展示。
※配置:
[SW-1]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type hybrid
port hybrid untagged vlan 20
port hybrid pvid vlan 20
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
2、基于MAC地址划分
※场景:
通过MAC地址划分的方式将PC-1、2、3规划至同一VLAN进行通信。

※思路:
在MAC地址与VLAN ID之间建立映射关系,使得PC-1、2、3的MAC均属于VLAN 10。优先使用hybrid接口。
※配置:
以GE-1接口配置为准,GE-2、GE-3接口配置相同。
[SW-1]:vlan 10
mac-vlan mac-address 1010-1010-1010
mac-vlan mac-address 2020-2020-2020
mac-vlan mac-address 3030-3030-3030
int g 0/0/1
port link-type hybrid
port hybrid untagged vlan 10
mac-vlan enable
※检验:
PC-1 ping PC-2:

PC-1 ping PC-2(更改MAC地址):

※分析:
首先建立VLAN,通过VLAN视图建立MAC地址与VLAN ID之间的映射关系。当PC-2的MAC地址符合映射关系时,PC-1可ping通PC-2,当更改PC-2的MAC地址使其不符合映射关系时,PC-1无法ping通PC-2。
3、基于子网(IP地址)划分
※场景:
PC-1使用IP地址192.168.1.1/24时仅可访问VLAN-10的PC-2,使用IP地址192.168.2.1/24时仅可访问VLAN-20的PC-3。

※配置:
[SW-1]:vlan 10
ip-subnet-vlan 1 ip 192.168.1.0 24
vlan 20
ip-subnet-vlan 1 ip 192.168.2.0 24
int g 0/0/1
port link-type hybrid
port hybrid untagged vlan 10 20
ip-subnet-vlan enable
int g 0/0/2
port link-type hybrid
port hybrid untagged vlan 10
ip-subnet-vlan enable
int g 0/0/3
port link-type hybrid
port hybrid untagged vlan 20
ip-subnet-vlan enable
VLAN列表:

关闭ip-subnet-vlan时:
PC-1使用192.168.1.1/24访问PC-2:

PC-1切换至192.168.2.1/24访问PC-3:

开启ip-subnet-vlan时:
PC-1使用192.168.1.1/24访问PC-2:

PC-1切换至192.168.2.1/24访问PC-3:

从上述结果可以看出,关闭ip-subnet-vlan功能时,PC-1无法通过更改IP地址的方式对不同VLAN域内的设备进行访问,开启该功能后方可访问。
4、基于协议划分
※场景:
各PC通过交换机SW-1交互,IPv4与IPv6地址如图所示。将IPv4划分至VLAN-10,IPv6划分至VLAN-20。PC-1与PC-3之间只能通过IPv4进行通信,PC-2与PC-4之间只能通过IPv6进行通信。

※配置:
[SW1]:vlan 10
protocol-vlan vlan 1 ipv4
vlan 20
protocol-vlan vlan 1 ipv6
int g 0/0/1
port link-type hybrid
port hybrid pvid 10
port hybrid untagged 10
protocol-vlan vlan 10 1
protocol-vlan vlan 20 1
int g 0/0/2
port link-type hybrid
port hybrid pvid 20
port hybrid untagged 20
protocol-vlan vlan 10 1
protocol-vlan vlan 20 1
※检验:
GE-3接口配置与GE-1相同,GE-4接口配置与GE-2相同。
PC-1访问PC-3:


PC-2访问PC-4:


※分析:
PC-1与PC-3之间只能通过IPv4访问,PC-2与PC-4之间只能通过IPv6访问。
三、三层通信
1、VLANIF接口
※场景:
PC-1与PC-2属于不同VLAN,两者需要进行跨交换机的三层通信。

※分析:
分别配置VLAN 10和VLAN 20对应的VLANIF接口,可以配置在同一交换机中,也可配置在各自交换机中。在各自交换机配置VLANIF接口时,需要再配置一个连接用VLAN和VLANIF接口,并通过路由协议进行路由学习,否则无法通信。
※配置:
- VLANIF配置在同一交换机:

[SW1]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
int vlanif 10
ip address 192.168.1.254 24
int vlanif 20
ip address 192.168.2.254 24
[SW2]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 20
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
※检验:
SW-1路由表:

连通性测试:

链路路径:

- VLANIF配置在不同交换机:

[SW1]:vlan batch 10 100
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 100
int vlanif 10
ip address 192.168.1.254 24
int vlanif 100
ip address 10.0.12.1 24
ip route-static 0.0.0.0 0 10.0.12.2
[SW2]:vlan batch 20 100
int g 0/0/1
port link-type access
port default vlan 20
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 100
int vlanif 20
ip address 192.168.2.254 24
int vlanif 100
ip address 10.0.12.2 24
ip route-static 0.0.0.0 0 10.0.12.1
※检验:
SW-1路由表:

SW-2路由表:

连通性测试:

链路路径:

※分析:
同一交换机配置VLANIF接口时,从SW-1路由表可以看出跨网段通信是通过本机直连路由完成的。两台交换机的级联接口为GE-24,需要允许各自VLAN ID通过才可以进行通信。
不同交换机配置VLANIF接口时,除了配置各自VLAN所对应的VLANIF接口外,还需额外配置一个连接用VLAN和VLANIF接口。由路径追踪可以看出,数据包的转发路径为:本端VLAN对应的VLANIF接口→本端连接用VLAN的VLANIF接口→对端连接用VLAN的VLANIF接口→对端VLAN对应的VLANIF接口→目的地。去往对端业务网段的路由需要通过路由协议(或静态路由)进行学习。
2、单臂路由
※场景:
不同业务类型的PC连接至同一交换机中并通过VLAN进行隔离,同时这些PC都需要通过路由器R1的GE-1接口访问外部网络。交换机与路由器之间只有一条级联线。

※分析:
交换机侧配置相应的VLAN并将各接口规划到相应VLAN中。路由器侧在GE-1接口配置子接口,VLAN 10对应GE-1.10、VLAN 20对应GE-1.20,并配置IP地址。物理接口无需配置IP地址,子接口需要开启ARP广播功能,否则无法通信。
※配置:
[SW1]:vlan batch 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
int g 0/0/24
port link-type trunk
port trunk allow-pass vlan 10 20
[R1]:int g 0/0/1.10
dot1q termination vid 10
ip address 192.168.1.254 24
arp broadcast enable
int g 0/0/1.20
dot1q termination vid 20
ip address 192.168.2.254 24
arp broadcast enable
※检验:
PC-1 ping PC-2:

※分析:
PC-1发送数据包至交换机,交换机为其打上VLAN 10的标签并通过GE-24接口转发至路由器的GE-1接口。路由器收到数据包后直接将该数据包交由子接口GE-1.10进行处理,子接口GE-1.10作为VLAN 10的网关,执行后续的三层通信。
子接口若不开启ARP广播功能,PC-1将无法ping通PC-2。初始情况下,PC-1内没有任何MAC地址信息,需要通过ARP来获取。PC-1以广播形式发送ARP报文后,由于子接口未开启ARP广播功能,子接口会直接丢弃ARP广播报文,导致PC-1无法获取网关的MAC地址,从而PC-1无法ping通PC-2。
四、VLAN聚合
场景一:Sub-VLAN间的通信
网络连接如图所示,PC-1属于Sub-VLAN 10,PC-2属于Sub-VLAN 20,二者同属于Super-VLAN 100。PC-1需要访问PC-2。

※思路:
GE-1接口配置为Access接口,属于Sub-VLAN 10;GE-2接口配置为Access接口,属于Sub-VLAN 20;Sub-VLAN 10和Sub-VLAN 20同属于Super-VLAN 100,VLANIF 100为Super-VLAN的网关。VLANIF 100接口需要配置ARP-Proxy两个不同Sub-VLAN才可通信。
※配置:
[SW1]:vlan batch 10 20 100
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
vlan 100
aggregate-vlan
access-vlan 10 20
int vlanif 100
ip address 192.168.1.254 24
arp-proxy inter-sub-vlan-proxy enable
※检验:
开启代理前:

开启代理后:

※分析:
不同Sub-VLAN间需要经过网关进行三层通信,初始情况下,PC-1需要广播一条ARP Request报文进行PC-2的MAC地址获取。
非VLAN聚合时,流程如下:
假设PC-1的IP地址为192.168.1.1/24,网关为VLANIF 10;PC-2的IP地址为192.168.2.1/24,网关为VLANIF 20。只展示发包过程,回包过程与发包过程相同。
- PC-1经过IP地址比对,发现自身与目的IP不在同一子网,需要先将报文转发至网关。初始情况下PC-1以二层广播形式发送ARP Request报文,目的IP为VLANIF 10的IP,目的MAC为全F。
- 网关VLANIF 10收到ARP Request报文后以单播形式回复ARP Reply报文,将自身MAC回应给PC-1;
- PC-1发送ICMP报文,目的MAC为VLANIF 10的MAC地址,目的IP为192.168.2.1;
- VLANIF 10收到ICMP报文后根据目的IP地址查询自身路由表,得知下一跳为VLANIF 20,遂将报文转发至VLANIF-20进行处理;
- VLANIF 20收到报文后,经判断得知目的IP地址为直连网段,由于是初始状态,以广播形式发送ARP Request报文用以获取PC-2的MAC地址;
- PC-2收到ARP Request报文后回复ARP Reply报文,将自身MAC地址回应给VLANIF 20;
- VLANIF-20将ICMP报文转发至PC-2。
VLAN聚合,未开启ARP代理时:
- 以场景一为例,PC-1在比对IP地址时,发现目的IP地址与自身处于同一子网,所以决定不通过网关直接进行二层通信。
- PC-1广播一条ARP报文,目的IP为192.168.1.2,目的MAC为全F;
- 由于不同Sub-VLAN间二层隔离,所以PC-2无法收到ARP信息,导致PC-1无法获得PC-2的MAC地址;
- 由于网关未开启ARP代理,Super-VLAN的VLANIF接口(网关)在收到针对同网段其他主机的ARP Request报文时,不会进行代理回应。所以VLANIF 100收到目的IP不是自己的ARP Request报文时不会进行回应,导致PC-1无法获得网关的MAC地址。最终导致通信失败。
VLAN聚合,开启ARP代理时:
前三步与未开启时一致。
- 开启ARP代理后,Super-VLAN的VLANIF接口(网关)在收到针对同网段其他主机的ARP Request报文后会检查请求的目的IP地址是否属于关联的任一Sub-VLAN,若属于便进行代理回应,将自己的MAC地址封装在ARP Reply报文中以单播形式转发至PC-1。
- PC-1收到ARP Reply报文后,会将报文中的MAC地址(即VLANIF 100的MAC地址)与目的IP绑定,封装成数据帧。
- 网关在收到ICMP报文后,经过查询Super-VLAN与Sub-VLAN的映射关系得知目的网段属于Sub-VLAN 20,于是通过Sub-VLAN 20的广播域发送ARP Request报文请求PC-2的MAC地址。
- PC-2收到ARP Request报文后将自身MAC地址封装进ARP Reply报文以单播形式进行回应。
- PC-2回应后,网关(VLANIF 100)将ICMP报文转发至PC-2。
总结:
VLAN聚合在二层隔离与三层同网段之间制造了矛盾,导致了ARP报文无法通过二层泛洪至目的地。ARP代理作为调解者,使得不同Sub-VLAN同网段的主机通过Super-VLAN的VLANIF接口作为中间跳强行进行三层转发,解决了二层通信的问题。
场景二:Sub-VLAN与其他设备的三层通信。
※组网需求:
PC-1属于Sub-VLAN 10、PC-2属于Sub-VLAN 20,同属Super-VLAN 100,PC-3属于VLAN 30。
※通信需求:
- PC-1、PC-2需要与PC-3分别通信;
- PC-1、PC-2之间进行二层隔离;
- 交换机之间通过三层通信。

※思路:
SW-1 GE-1接口配置为Access接口,属于Sub-VLAN 10;SW-1 GE-2接口配置为Access接口,属于Sub-VLAN 20;SW-1 GE-3接口配置为Trunk接口,允许VLAN 200通过;VLAN 100为Super-VLAN,分别与Sub-VLAN 10和Sub-VLAN 20建立对应关系,VLANIF 100为网关;VLAN 200为连接用VLAN,配置VLANIF 200接口与SW-2进行三层通信。
SW-2 GE-1接口配置为Access接口,属于Sub-VLAN 30,VLANIF 30为VLAN 30的网关;SW-2 GE-2接口配置为Trunk接口,允许VLAN 200通过;VLAN 200为连接用VLAN,配置VLANIF接口与SW-1进行三层通信。
以PC-1与PC-3通信为例,可以大致分为三部分:
- PC-1至VLANIF-100:通过配置VLAN聚合完成,此阶段为二层通信;
- SW-1至SW-2:通过配置连接用VLANIF接口完成,此阶段为三层通信;
- VLANIF30至PC-3:通过配置VLAN完成,此阶段为二层通信。
※配置:
[SW-1]:vlan batch 10 20 100 200
vlan 100
aggregate-vlan
access-vlan 10 20
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
int g 0/0/3
port link-type trunk
port trunk allow-pass vlan 200
int vlanif 100
ip address 192.168.1.254 24
int vlanif 200
ip address 10.0.12.1 24
ip route-static 0.0.0.0 0 10.0.12.2
[SW-2]:vlan batch 30 200
int g 0/0/1
port link-type access
port default vlan 30
int g 0/0/2
port link-type trunk
port trunk allow-pass 200
int vlanif 30
ip address 172.16.1.254 24
int vlanif 200
ip address 10.0.12.2 24
ip route-static 0.0.0.0 0 10.0.12.1
※检验:
PC-1访问PC-3路径:

※分析:
PC-1访问PC-3的路径为PC-1→VLANIF 100(SW-1)→VLANIF 200(SW-1)→VLANIF 200(SW-2)→VLANIF-30(SW-2)→PC-3。
SW-1的VLANIF 100接口作为网关收到PC-1的报文后通过路由表查询得知下一跳为VLANIF 200。SW-1的VLANIF 200接口收到报文后通过Trunk接口转发至SW-2,此时该报文已被打上VLAN 200的标签。SW-2接收到带有VLAN 200标签的报文后,将该报文交给VLANIF 200接口进行处理。经路由表查询得知下一跳为VLANIF 30,最终将报文转发至PC-3。
场景三:Sub-VLAN与其他设备的二层通信
Sub-VLAN与其他设备的二层通信与Super-VLAN无关,数据帧是否允许通过以Sub-VLAN中VLAN ID为准。

场景中PC-1、PC-2与PC-3通信时,只需要保证SW-1的GE-3与SW-2的GE-2接口允许VLAN 10和VLAN 20通过即可,不需要允许VLAN 100通过。
五、MUX VLAN
1、基础配置
※组网需求:
PC-1、2、3、4与服务器Server均连接在同一台交换机中,且属于同一子网。
※通信需求:
- 4台PC均可访问服务器Server;
- PC-1与PC-2需要互相访问;
- PC-1、PC-2与PC-3、PC-4隔离;
- PC-3与PC-4之间需要隔离。

※思路:
建立Principal-VLAN与Subordinate-VLAN的对应关系,再将Subordinate-VLAN划分为Group-VLAN和Separate-VLAN。将服务器配置在Principal-VLAN中,PC-1、PC-2配置在Group-VLAN中,PC-3、PC-4配置在Separate-VLAN中。
※配置:
[SW1]:vlan batch 10 20 100
vlan 100
mux-vlan
subordinate group 10
subordinate separate 20
int g 0/0/1
port link-type access
port default vlan 10
port mux-vlan enable
int g 0/0/2
port link-type access
port default vlan 10
port mux-vlan enable
int g 0/0/3
port link-type access
port default vlan 20
port mux-vlan enable
int g 0/0/4
port link-type access
port default vlan 20
port mux-vlan enable
int g 0/0/5
port link-type access
port default vlan 100
port mux-vlan enable
PC-1访问PC-2:

PC-1访问PC-3:

PC-1访问服务器Server:

PC-3访问PC-4:

PC-3访问服务器Server:

※分析:
Principal-VLAN可以与所有Subordinate-VLAN进行通信,将服务器规划至Principal-VLAN满足需求①的要求;Group-VLAN内部可以进行二层通信,将PC-1与PC-2规划至Group-VLAN 10满足需求②的要求;不同Subordinate-VLAN之间进行二层隔离,将PC-1、PC-2和PC-3、PC-4规划至两个不同Subordinate-VLAN满足需求③的要求;Separate-VLAN内部所有设备间进行二层隔离,将PC-3与PC-4规划至Separate-VLAN 20满足需求④的要求。
普通的VLAN执行的是严格的二层隔离,被划分到不同VLAN中的设备只能进行三层通信。Mux VLAN相较于普通VLAN来说更加的灵活,Mux VLAN保留了不同VLAN间二层通信的可能性,同时又增加了相同VLAN中相互隔离的功能。使得Mux VLAN可以适配普通VLAN无法适配的场景。
2、网关设置
场景一:与路由器结合
公司内部各终端PC属于同一子网,且均需要访问外网,各设备通过接入交换机SW-1汇聚至路由器R1。R1作为内部网络的网关进行外网访问。
※组网需求:
PC-1、2、3、4通过SW-1与R1连接,R1作为4台PC的网关用于访问外网。10.0.12.0/24网段模拟外网环境。
※通信需求:
- 4台PC均可访问10.0.12.0/24网段;
- PC-1与PC-2需要互相访问;
- PC-1、PC-2与PC-3、PC-4隔离;
- PC-3与PC-4之间需要隔离。

※思路:
与基础配置相同,建立Principal-VLAN与Subordinate-VLAN的对应关系,并指定VLAN 10为Group-VLAN、VLAN 20为Separate-VLAN。SW-1的GE-1、2、3、4接口配置为Access接口并分别规划至Group-VLAN和Separate-VLAN,GE-5接口配置为Access接口并规划至Principal-VLAN。
※配置:
Mux VLAN配置与上一场景完全相同,为保证顺利回包,路由器R2需要进行路由配置,最简单的方式为配置下一跳为10.0.12.1的静态默认路由。
PC-1访问10.0.12.0/24:

PC-2访问10.0.12.0/24:

PC-3访问10.0.12.0/24:

PC-4访问10.0.12.0/24:

场景二:与VLAN聚合结合
※组网需求:
公司内部各终端PC属于同一子网,且均需要访问外网,各设备通过接入交换机SW-1汇聚至交换机SW-2。SW-2为三层交换机,但物理接口无法进行三层通信,只能通过VLANIF接口访问外网。
※通信需求:
- 4台PC均可访问网关(SW-2的VLANIF 200);
- PC-1与PC-2需要互相访问;
- PC-1、PC-2与PC-3、PC-4隔离;
- PC-3与PC-4之间需要隔离。

※思路:
Mux VLAN在SW-1配置,VLAN 100为Principal-VLAN、VLAN 10为Group-VLAN、VLAN 20为Separate-VLAN。SW-1 GE-1、2、3、4接口配置与“基础配置”一节相同,GE-5接口需配置为Trunk接口并允许VLAN 10和VLAN 20通过。
VLAN聚合在SW-2配置,VLAN 100为Super-VLAN,VLAN 10、VLAN 20为Sub-VLAN。SW-2 GE-1接口需配置为Trunk接口并允许VLAN 10和VLAN 20通过;VLANIF 100接口为网关,需配置网关IP地址。
※配置:
SW-1只展示GE-1、3、5的配置,GE-2、4与GE-1、3配置相同。
[SW1]:vlan batch 10 20 100
vlan 100
mux-vlan
subordinate group 10
subordinate separate 20
int g 0/0/1
port link-type access
port default vlan 10
port mux-vlan enable
int g 0/0/3
port link-type access
port default vlan 20
port mux-vlan enable
int g 0/0/5
port link-type trunk
port trunk allow-pass vlan 10 20
[SW2]:vlan batch 10 20 100
vlan 100
aggregate-vlan
access-vlan 10 20
int vlanif 100
ip address 192.168.1.254 24
int g 0/0/1
port link-type trunk
port trunk allow-pass vlan 10 20
PC-1访问VLANIF-100:

PC-3访问VLANIF-100:

※分析:
- PC-1访问网关:
- PC-1发送数据帧至SW-1,SW-1的GE-1接口为其打上VLAN 10标签;
- SW-1 GE-5接口为Trunk接口,无法生效Mux VLAN。GE-5允许VLAN 10通过,通过普通VLAN的方式将数据帧以Tagged形式发送至SW-2;
- SW-2 GE-1接口为Trunk接口,允许VLAN 10通过,SW-2接收携带VLAN 10标签的数据帧;
- SW-2中VLAN 10为VLAN 100的Sub-VLAN,所以数据帧会交给Super-VLAN对应的VLANIF接口,即VLANIF 100进行处理。
- VLANIF 100接口进行后续三层转发。
- 各PC间通信:
- PC-1与PC-2属于Group-VLAN 10,可以通信;
- PC-3与PC-4属于Separate-VLAN 20,不能通信;
- PC-1与PC-3属于不同VLAN,不能通信(PC-2与PC-4同理);
- 在SW-2 VLANIF 100接口开启ARP代理功能可使各Subordinate-VLAN之间通信,但是有悖于Mux VLAN部署的初衷,所以不建议开启。
Mux VLAN只生效于Access接口或以Untagged形式发送数据帧的Hybrid接口,无法生效于Trunk或以Tagged形式发送数据帧的Hybrid接口上。在本例中,与外网的通信是通过VLAN聚合实现的,Mux VLAN只限制了各PC是否可以与Principal-VLAN通信。交换机间的级联接口为普通VLAN的Trunk接口,将携带VLAN 10和VLAN 20标签的数据帧以Tagged形式进行转发。简而言之,本例中内网通信靠Mux VLAN,外网通信靠Super-VLAN。
六、QinQ
1、基本QinQ
※组网需求:
企业-A和企业-B为分布式网络,需要通过运营商将两地的内网连接起来。企业-A内网有两个VLAN分别是VLAN-10和VLAN-50,企业-B内网有两个VLAN分别是VLAN-20和VLAN-60。运营商通过QinQ技术连接两地内网,企业-A的外层标签为100,企业B的外层标签为200。同时由于运营商设备原因,TPID并非默认值,需要通过0x9100进行通信。
※通信需求:
- 企业-A内部可以通信;
- 企业-B内部可以通信;
- 企业-A与企业-B之间进行隔离。

※思路:
SW-1和SW-2建立VLAN 100和VLAN 200,同时将下游接口配置为QinQ接口,上游接口配置为Trunk接口并允许VLAN100和200通过。为适配运营商交换机,SW-1和SW-2将TPID修改为0x9100。
企业内网交换机下游接口配置为Access接口,上游接口配置为Trunk接口并允许内网所有VLAN通过。
※配置:
以SW-1为例,SW-2与SW-1配置逻辑相同。
[SW1]:vlan batch 100 200
int g 0/0/1
port link-type dot1q-tunnel
port default vlan 100
int g 0/0/2
port link-type dot1q-tunnel
port default vlan 200
int g 0/0/3
port link-type trunk
port trunk allow-pass vlan 100 200
qinq protocol 9100
※检验:
企业-A连通性测试:

SW-1 GE-3接口抓包:

通过抓包可以看出,报文内层标签为10,外层标签为100,TPID为0x9100。SW-1收到带有内层标签的报文时为其添加上外层标签并修改了TPID。由于上游接口允许VLAN 100和VLAN 200通过,所以报文可以从上游接口转发出去。在运营商网络中,所有交换机只按照外层标签进行转发,不关心内层标签内容。
报文到达SW-2后由于SW-2上游接口允许VLAN 100和VLAN 200通过,SW-2会接收该报文。随后SW-2会剥离外层标签,按照内层标签内容在内网中进行转发。
2、灵活QinQ
※组网需求:
业务-A属于VLAN 10,业务-B属于VLAN 20。通过灵活QinQ将VLAN 10封装进VLAN 100、VLAN 20封装进VLAN 200,运营商网络通过VLAN 100和VLAN 200通信。相同业务之间通信,不同业务之间隔离。

※配置:
以业务-A为例,业务-B配置与业务-A相同。
[SW3]:vlan batch 10 20
int g 0/0/1
port link-type trunk
port trunk allow-pass vlan 10
int g 0/0/2
port link-type trunk
port trunk allow-pass vlan 20
int g 0/0/3
port link-type trunk
port trunk allow-pass vlan 10 20
[SW1]:vlan batch 100 200
int g 0/0/1
port link-type hybrid
port hybrid untagged vlan 100 200
qinq vlan-translate enable
port vlan-stacking vlan 100 stack-vlan 10
port vlan-stacking vlan 200 stack-vlan 20
int g 0/0/2
port link-type trunk
port trunk allow-pass vlan 100 200
※检验:
连通性测试:

SW-1 GE-2接口抓包:

配置灵活QinQ时,需要手动将内层标签与外层标签进行绑定。以 port vlan-stacking vlan 100 stack-vlan 10为例,vlan-stacking vlan为需要被打上的外层标签,stack-vlan为内层标签。
通过抓包可以发现,报文在经过SW-1后,被打上外层标签,并转发至运营商。
七、VLAN Mapping
1、基于VLAN的1:1模式
公司内部分为区域-A和区域-B两个内网,分布在两地。区域A与区域B属于同一子网,由于VLAN规划的问题导致两区域属于不同VLAN。现需要使两区域进行二层通信。

※思路:
在SW-1和SW-2上的下游接口做VLAN Mapping,分别将VLAN 10和VLAN 20替换成VLAN 100。
※配置:
以SW-1和SW-3为例,SW-2和SW-4配置逻辑相同。
[SW3]:vlan 10
int g 0/0/1
port link-type trunk
port trunk allow-pass vlan 10
int g 0/0/2
port link-type access
port default vlan 10
[SW1]:vlan 100
int g 0/0/1
port link-type trunk
port trunk allow-pass vlan 100
qinq vlan-translate enable
port vlan-mapping vlan 10 map-vlan 100
int g 0/0/2
port link-type trunk
port trunk allow-pass vlan 100
※检验:
连通性测试:

SW-1 GE-1接口抓包:

SW-1 GE-2接口抓包:

从抓包来看,SW-1下游接口收到的报文中VLAN ID为10,上游发出的报文中VLAN ID替换为100。
2、基于VLAN的N:1模式
用户-A、用户-B、用户-C分别属于VLAN 10、20、30,三个用户都需要通过VLAN 100访问运营商网络。

※思路:
交换机SW-2下游接口均配置为Access接口,上游接口配置为Trunk接口;交换机SW-1下游接口配置为Trunk接口同时配置VLAN-Mapping功能,上游接口配置为Trunk接口连接运营商网络。
※配置:
[SW1]:vlan 100
int g 0/0/1
port link-type trunk
port trunk allow-pass vlan 100
qinq vlan-translate enable
port vlan-mapping vlan 10 to 30 map-vlan 100
int g 0/0/2
port link-type trunk
port trunk allow-pass vlan 100
[SW2]:vlan batch 10 20 30
int g 0/0/1
port link-type access
port default vlan 10
int g 0/0/2
port link-type access
port default vlan 20
int g 0/0/3
port link-type access
port default vlan 30
int g 0/0/4
port link-type trunk
port trunk allow-pass vlan 10 20 30
※检验:
用户1访问网关SW-1 GE-1接口抓包:

用户1访问网关SW-1 GE-2接口抓包:

用户2访问网关SW-1 GE-1接口抓包:

用户2访问网关SW-1 GE-2接口抓包:

用户3访问网关SW-1 GE-1接口抓包:

用户3访问网关SW-1 GE-2接口抓包:

※分析:
N:1模式配置方式与1:1模式类似,都是在汇聚交换机的下游接口进行配置,接口类型只能为Trunk或是Hybrid。通过交换机SW-1抓包可以看出,报文进入交换机前的VLAN标签为内网自身标签,从交换机发送出的报文的VLAN标签变为Mapping后的标签。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐


所有评论(0)