一、接口类型配置

        常规情况下,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。只展示发包过程,回包过程与发包过程相同。

  1. PC-1经过IP地址比对,发现自身与目的IP不在同一子网,需要先将报文转发至网关。初始情况下PC-1以二层广播形式发送ARP Request报文,目的IP为VLANIF 10的IP,目的MAC为全F。
  2. 网关VLANIF 10收到ARP Request报文后以单播形式回复ARP Reply报文,将自身MAC回应给PC-1;
  3. PC-1发送ICMP报文,目的MAC为VLANIF 10的MAC地址,目的IP为192.168.2.1;
  4. VLANIF 10收到ICMP报文后根据目的IP地址查询自身路由表,得知下一跳为VLANIF 20,遂将报文转发至VLANIF-20进行处理;
  5. VLANIF 20收到报文后,经判断得知目的IP地址为直连网段,由于是初始状态,以广播形式发送ARP Request报文用以获取PC-2的MAC地址;
  6. PC-2收到ARP Request报文后回复ARP Reply报文,将自身MAC地址回应给VLANIF 20;
  7. VLANIF-20将ICMP报文转发至PC-2。

VLAN聚合,未开启ARP代理时:

  1. 以场景一为例,PC-1在比对IP地址时,发现目的IP地址与自身处于同一子网,所以决定不通过网关直接进行二层通信。
  2. PC-1广播一条ARP报文,目的IP为192.168.1.2,目的MAC为全F;
  3. 由于不同Sub-VLAN间二层隔离,所以PC-2无法收到ARP信息,导致PC-1无法获得PC-2的MAC地址;
  4. 由于网关未开启ARP代理,Super-VLAN的VLANIF接口(网关)在收到针对同网段其他主机的ARP Request报文时,不会进行代理回应。所以VLANIF 100收到目的IP不是自己的ARP Request报文时不会进行回应,导致PC-1无法获得网关的MAC地址。最终导致通信失败。

VLAN聚合,开启ARP代理时:

前三步与未开启时一致。

  1. 开启ARP代理后,Super-VLAN的VLANIF接口(网关)在收到针对同网段其他主机的ARP Request报文后会检查请求的目的IP地址是否属于关联的任一Sub-VLAN,若属于便进行代理回应,将自己的MAC地址封装在ARP Reply报文中以单播形式转发至PC-1。
  2. PC-1收到ARP Reply报文后,会将报文中的MAC地址(即VLANIF 100的MAC地址)与目的IP绑定,封装成数据帧。
  3. 网关在收到ICMP报文后,经过查询Super-VLAN与Sub-VLAN的映射关系得知目的网段属于Sub-VLAN 20,于是通过Sub-VLAN 20的广播域发送ARP Request报文请求PC-2的MAC地址。
  4. PC-2收到ARP Request报文后将自身MAC地址封装进ARP Reply报文以单播形式进行回应。
  5. 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。

※通信需求:

  1. PC-1、PC-2需要与PC-3分别通信;
  2. PC-1、PC-2之间进行二层隔离;
  3. 交换机之间通过三层通信。

※思路:

        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通信为例,可以大致分为三部分:

  1. PC-1至VLANIF-100:通过配置VLAN聚合完成,此阶段为二层通信;
  2. SW-1至SW-2:通过配置连接用VLANIF接口完成,此阶段为三层通信;
  3. 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均连接在同一台交换机中,且属于同一子网。
※通信需求:

  1. 4台PC均可访问服务器Server;
  2. PC-1与PC-2需要互相访问;
  3. PC-1、PC-2与PC-3、PC-4隔离;
  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网段模拟外网环境。
※通信需求:

  1. 4台PC均可访问10.0.12.0/24网段;
  2. PC-1与PC-2需要互相访问;
  3. PC-1、PC-2与PC-3、PC-4隔离;
  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接口访问外网。

※通信需求:

  1. 4台PC均可访问网关(SW-2的VLANIF 200);
  2. PC-1与PC-2需要互相访问;
  3. PC-1、PC-2与PC-3、PC-4隔离;
  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访问网关:
  1. PC-1发送数据帧至SW-1,SW-1的GE-1接口为其打上VLAN 10标签;
  2. SW-1 GE-5接口为Trunk接口,无法生效Mux VLAN。GE-5允许VLAN 10通过,通过普通VLAN的方式将数据帧以Tagged形式发送至SW-2;
  3. SW-2 GE-1接口为Trunk接口,允许VLAN 10通过,SW-2接收携带VLAN 10标签的数据帧;
  4. SW-2中VLAN 10为VLAN 100的Sub-VLAN,所以数据帧会交给Super-VLAN对应的VLANIF接口,即VLANIF 100进行处理。
  5. VLANIF 100接口进行后续三层转发。
  • 各PC间通信:
  1. PC-1与PC-2属于Group-VLAN 10,可以通信;
  2. PC-3与PC-4属于Separate-VLAN 20,不能通信;
  3. PC-1与PC-3属于不同VLAN,不能通信(PC-2与PC-4同理);
  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进行通信。

※通信需求:

  1. 企业-A内部可以通信;
  2. 企业-B内部可以通信;
  3. 企业-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后的标签。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐