6.3. VLAN配置

6.3.1. 简介

6.3.1.1. VLAN概述

VLAN(Virtual Local Area Network)虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。VLAN内的主机间可以直接通信,而VLAN间不能直接互通,从而将广播报文限制在一个VLAN内。

VLAN有如下优势:

  • 限制广播域:广播域被限制在一个VLAN内,节省了带宽,提高了网络处理能力。
  • 增强局域网的安全性:不同VLAN内的报文在传输时是相互隔离的。
  • 提高了网络的健壮性:故障被限制在一个VLAN内,本VLAN内的故障不会影响其他VLAN的正常工作。
  • 灵活构建虚拟工作组:用VLAN可以划分不同的用户到不同的工作组,同一工作组的用户也不必局限于某一固定的物理范围,网络构建和维护更方便灵活。

6.3.1.2. 常见概念

6.3.1.2.1. VLAN的帧格式

IEEE 802.1Q是虚拟桥接局域网的正式标准,对Ethernet帧格式进行了修改,在源MAC地址字段和协议类型字段之间加入4字节的802.1Q Tag。每台支持802.1Q协议的交换机发送的数据包都会包含VLAN ID,以指明交换机属于哪一个VLAN。

在一个VLAN交换网络中,以太网帧有以下两种形式:

  • 有标记帧(tagged frame):加入了4字节802.1Q Tag的帧
  • 无标记帧(untagged frame):原始的、未加入4字节802.1Q Tag的帧

6.3.1.2.2. 链路类型

VLAN中有以下两种链路类型:

  • 接入链路(Access Link):用于连接用户主机和交换机的链路。通常情况下,主机并不需要知道自己属于哪个VLAN,主机硬件通常也不能识别带有VLAN标记的帧。因此,主机发送和接收的帧都是untagged帧。
  • 干道链路(Trunk Link):用于交换机间的互连或交换机与路由器之间的连接。干道链路可以承载多个不同VLAN数据,数据帧在干道链路传输时,干道链路的两端设备需要能够识别数据帧属于哪个VLAN,所以在干道链路上传输的帧都是Tagged帧。

6.3.1.2.3. 接口类型

ConnetOS支持两种类型的接口:

  • Access接口:交换机上用来连接用户主机的接口,它只能连接接入链路。仅仅允许唯一的VLAN ID通过本接口,这个VLAN ID与接口的缺省VLAN ID相同,Access接口发往对端设备的以太网帧永远是不带标签的帧。
  • Trunk接口:是交换机上用来和其他交换机连接的接口,它只能连接干道链路,允许多个VLAN的帧(带Tag标记)通过。

6.3.1.2.4. VLAN接口

不同VLAN间的主机不能直接通信,通过在设备上配置VLAN接口,可以实现 VLAN 间的三层互通。 VLANIF 接口是一种三层逻辑接口,每个VLAN 对应一个 VLANIF。在为VLANIF接口配置了 IP 地址后,该IP 地址即可作为本 VLAN 内网络设备的网关地址,对需要跨网段的报文进行基于IP地址的三层转发。

6.3.1.2.5. 缺省VLAN

ConnetOS除了可以设置接口允许通过的VLAN,还可以设置接口的缺省VLAN,即 PVID(Port VLAN ID,native-vlan-id)。

在缺省情况下,所有端口的缺省VLAN均为1。用户可以根据需要进行配置。

  • Access类型接口的缺省VLAN就是它所在的VLAN。
  • Trunk类型接口可以允许多个 VLAN 通过,能够配置缺省 VLAN。

6.3.2. 配置VLAN的基本功能

  1. 进入配置模式。

    ConnetOS> configure

  2. 创建VLAN。

    ConnetOS# set vlans vlan-id vlan-id

  3. (可选)配置VLAN的名称。

    ConnetOS# set vlans vlan-id vlan-id vlan-name vlan-name

  4. (可选)为指定VLAN配置描述信息

    ConnetOS# set vlans vlan-id vlan-id description description

  5. 提交配置。

    ConnetOS# commit

6.3.3. 配置基于接口的VLAN接口

  1. 进入配置模式。

    ConnetOS> configure

  2. 配置接口类型。

    ConnetOS# set interface gigabit-ethernet interface-name family ethernet-switching port-mode { access | trunk }

    Access模式下,一个接口只能属于一个VLAN,即Native VLAN。

    trunk模式下,可以设置一个接口属于多个VLAN。多个VLAN包括缺省VLAN和其他VLAN。

  3. 配置接口的缺省VLAN 。

    ConnetOS# set interface gigabit-ethernet interface-name family ethernet-switching native-vlan-id vlan-id

    缺省情况下,所有接口的native-vlan-id都为1。

  4. 将接口加入VLAN ID。

    ConnetOS# set interface gigabit-ethernet interface-name family ethernet-switching vlan members vlan-member&<1-n>

  5. 提交配置。

    ConnetOS# commit

6.3.4. 查看VLAN

在配置模式下,执行 show vlans 命令,查看VLAN的配置信息:

ConnetOS # show vlans
Waiting for building configuration.
    vlan-id 1 {
        description: ""
        vlan-name: "default"
        l3-interface: ""
    }
    vlan-id 10 {
        description: ""
        vlan-name: "default"
        l3-interface: "vlan10"
    }

在运维模式下,执行 show vlans 命令,查看VLAN信息:

ConnetOS > show vlans
Vlan ID   Tag        Interfaces
-------   --------   ------------------------------------------------------
1         tagged
          untagged   te-1/1/1,  te-1/1/2,  te-1/1/3,  te-1/1/4,  te-1/1/5,
                     te-1/1/6,  te-1/1/7,  te-1/1/8,  te-1/1/9,  te-1/1/10,
                     te-1/1/11, te-1/1/12, te-1/1/13, te-1/1/14, te-1/1/16,
                     te-1/1/17, te-1/1/18, te-1/1/19, te-1/1/20, te-1/1/21,
                     te-1/1/22, te-1/1/23, te-1/1/24, te-1/1/25, te-1/1/26,
                     te-1/1/27, te-1/1/28, te-1/1/29, te-1/1/30, te-1/1/31,
                     te-1/1/32, te-1/1/33, te-1/1/34, te-1/1/35, te-1/1/36,
                     te-1/1/37, te-1/1/38, te-1/1/39, te-1/1/40, te-1/1/41,
                     te-1/1/42, te-1/1/43, te-1/1/44, te-1/1/45, te-1/1/46,
                     te-1/1/47, te-1/1/48, qe-1/1/49, qe-1/1/50, qe-1/1/51,
                     qe-1/1/52, qe-1/1/53, qe-1/1/54, te-2/1/1,  te-2/1/2,
                     te-2/1/3,  te-2/1/4,  te-2/1/5,  te-2/1/6,  te-2/1/7,
                     te-2/1/8,  te-2/1/9,  te-2/1/10, te-2/1/11, te-2/1/12,
                     te-2/1/13, te-2/1/14, te-2/1/15, te-2/1/16, te-2/1/17,
                     te-2/1/18, te-2/1/19, te-2/1/20, te-2/1/21, te-2/1/22,
                     te-2/1/23, te-2/1/24, te-2/1/25, te-2/1/26, te-2/1/27,
                     te-2/1/28, te-2/1/29, te-2/1/30, te-2/1/32, te-2/1/33,
                     te-2/1/34, te-2/1/35, te-2/1/36, te-2/1/37, te-2/1/38,
                     te-2/1/39, te-2/1/40, te-2/1/41, te-2/1/42, te-2/1/43,
                     te-2/1/44, te-2/1/45, te-2/1/46, te-2/1/47, te-2/1/48,
                     qe-2/1/49, qe-2/1/50, qe-2/1/51, qe-2/1/52, qe-2/1/53,
                     qe-2/1/54,
10        tagged
          untagged   ae1,