网络设备组网应用2-VLAN和VTP配置

VLAN(Virtual Local Area Network)虚拟局域网,是逻辑上的一组设备和用户,VLAN 的划分可基于交换机的端口或设备的 MAC 地址等信息。一组设备和用户之间的通信就像是在一个网段一样。VLAN工作在OSI参考模型的2,3层。

接下来的操作是基于端口的VLAN设计与配置实现,基于端口的VLAN配置实现分为两个步骤:

  1. 创建VLAN
  2. 设置各个端口的模式,并将其指派到对应的VLAN中

1. 创建VLAN

创建VLAN的方法有两种:

  • 在每台交换机上手动设置每个VLAN

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 手动配置VLAN的命令
    # 全局配置模式下创建一个VLAN
    vlan 9
    # 全局配置模式下删除一个VLAN
    no vlan 9
    # VLAN配置模式下设置VLAN名
    name vlan-name
    # 特权模式下显示VLAN的信息
    show vlan [brief]
  • 使用VLAN中继协议(VLAN Trunk Protocol, VTP)设置和管理整个域中的VLAN

    VTP是一个2层协议,基本思想是:在VTP管理域内使用第二层的加标帧,自动发布VLAN配置信息,从而实现VLAN的添加,修改和删除,保证所有交换机配置一致。

    使用VTP配置VLAN的过程:首先在VTP域内的一台交换机上手动设置VLAN信息,然后这台交换机将携带这些VLAN信息的VTP帧通过 中继链路 上的 本征VLAN 传递给VTP域内的其他交换机,其他交换机从接收到的VTP消息中自动学习配置 已经创建的VLAN。

    关于VTP的几个概念

    • VTP管理域:

      携带 VLAN 配置信息的 VTP 消息的发布范围是由 VTP 管理域控制的,一个 VTP 域内的 VTP 消息只能在该域内传播。

      一台交换机只能属于一个 VTP 域。一个 VTP 域内所有参与 VTP 的交换机必须具 有一个相同的 VTP 域名。如果一台交换机不是某个 VTP 域的成员,它将不能收到发 往该域的 VTP 消息。

      在一个 VTP 域内必须使用相同版本的 VTP 协议。思科交换机缺省运行版本 2 的 VTP 协议。

    • VTP模式:

      分别是服务器模式server,客户端模式client,透明模式transparent

    • VTP剪枝:

      根据交换机拥有的VLAN,丢弃不需要的广播流量,增强带宽的利用率,该功能默认关闭

    • VTP的配置指令

      开启/关闭VTP协议,配置VTP域名,配置交换机模式,配置VTP口令,配置VTP剪枝。

      1
      2
      3
      4
      5
      6
      7
      8
      # 全局配置模式下设置交换机VTP模式
      vtp mode {server|client|transparent}
      # 全局配置模式下设置VTP域名
      vtp domain domain-name
      # 全局配置模式下配置VTP域口令
      vtp password {your_password}
      # 特权模式下显示VTP的设置信息
      show vtp status

    使用第2个方法创建VLAN时,注意

    • 交换机需要开启VLAN特性
    • VLAN1 和 VLAN 1002-1005 时保留的VLAN,不可创建或者删除。VLAN1是所有端口的缺省VLAN也是默认的管理VLAN
    • 思科交换机VLAN配置文件保存在Flash中 vlan.dat 文件,配置前检查并删除该文件,输入reload 命令重启交换机

2. 设置端口模式并指派VLAN

交换机的端口有中继(trunk)和接入(access)两种工作模式,分别对应中继链路(trunk link)和接入链路(access link)

VLAN中继段口

交换机的 VLAN 中继端口用来互连 VLAN 知晓交换机。一个中继端口可加入到多个已创建的 VLAN 中,提供跨交换机的多 VLAN 中继功能。

  • VLAN中继协议

    要实现跨交换机的多 VLAN 中继功能,在中继链路上传送的数据帧中必须携带 VLAN 标识(VLAN ID),以便交换机能识别出该数据帧来自哪个 VLAN,从而实施正确的转发策略。这些携带有 VLAN ID信息的数据帧通常被称为“VLAN 加标帧” 或“VLAN 标记帧”。

    VLAN 中继协议标准为 IEEE 802.1Q。该协议在标准 MAC 帧的头部增加一个 VLAN 标记字段(4 个字节),其中包含 VLAN ID。所有厂商的 VLAN 知晓交换机和 路由器产品都支持 802.1Q 协议。

  • VLAN 中继端口的转发操作

    VLAN 中继端口能收发 VLAN 标记帧和无 VLAN 标记帧。VLAN 中继端口会将无标记帧发送到本征 VLAN。默认的本征 VLAN 是 VLAN 1。

  • VLAN 中继端口的配置指令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 将端口设置为中继模式
    switchport mode trunk
    # 将中继端口加入到所有 VLAN 中
    switchport trunk allowed vlan all
    # 设置中继端口的本征VLAN
    switchport trunk native vlan9
    # 查看交换机端口的模式及 VLAN 信息
    show interfaces interface-id switchport
    # 查看交换机的中继端口
    show interfaces trunk

VLAN接入端口

交换机的接入端口只能连接 VLAN 非知晓设备(如普通的 PC 机)。一个接入端口只能加入到一个已创建的 VLAN 中,并且只能收发无 VLAN 标记帧。

接入端口的配置指令

1
2
3
4
# 接口配置模式下将该端口设置成接入端口
switchport mode access
# 接口配置模式下将该端口加入到指定VLAN,本例为vlan9
switchport access vlan vlan9

配置VTP示例

拓扑图

2-拓扑图

  1. 为每台交换机配置VTP模式

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # S1设置为服务器,S2,S3设置为客户端
    S1(config)#vtp mode server
    S2(config)#vtp mode client
    S3(config)#vtp mode client

    # 三台交换机配置VTP域名:L2
    S1(config)#vtp domain L2
    S2(config)#vtp domain L2
    S3(config)#vtp domain L2
  2. 配置VLAN

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    # 在S1上创建所有VLAN
    S1(config)#vlan 10
    S1(config-vlan)#name Staff
    S1(config-vlan)#exit
    S1(config)#int vlan10
    S1(config-if)#
    %LINK-5-CHANGED: Interface Vlan10, changed state to up
    S1(config-if)#exit

    S1(config)#vlan 20
    S1(config-vlan)#name Student
    S1(config-vlan)#exit
    S1(config)#int vlan20
    S1(config-if)#
    %LINK-5-CHANGED: Interface Vlan20, changed state to up
    S1(config-if)#exit

    S1(config)#vlan 30
    S1(config-vlan)#name Guest
    S1(config-vlan)#exit
    S1(config)#int vlan30
    S1(config-if)#
    %LINK-5-CHANGED: Interface Vlan30, changed state to up
    S1(config-if)#exit

注意此时还没有配置VLAN中继所以,S1的 VLAN的信息不能被其他交换机接收

  1. 配置VLAN中继

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    # 根据拓扑图,将S1 Fa0/1 和 Fa0/3 设置为中继段口
    S1(config)#int fa0/1
    S1(config-if)#switchport mode trunk
    S1(config-if)#
    %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
    %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up

    S1(config)#int fa0/3
    S1(config-if)#switchport mode trunk
    S1(config-if)#
    %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to down
    %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/1, changed state to up
  2. 在其他交换机上检查是否有S1配置的VLAN信息

    1
    2
    3
    4
    S2#show vtp status
    S2#show vlan

    #理论上到这里就有了S1的VLAN
  3. 为每个VLAN分配端口

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 按照拓扑图将VLAN分配给S2 S3上的接入端口
    S2(config)#int fa0/11
    S2(config-if)#switchport mode access
    S2(config-if)#switchport access vlan 10

    S3(config)#int fa0/11
    S3(config-if)#switchport mode access
    S3(config-if)#switchport access vlan 10

    #在PC1 和 PC4的命令行中互ping,此时可以Ping通,而不同VLAN中的PC不能Ping通