任务二 
虚拟局域网 VLAN 配置与管理
 
教学视频
任务 虚拟局域网VLAN配置与管理项目资讯

一、项目背景 VLAN技术原理和分类

传统的以太网是广播型网络,网络中的所有主机通过HUB或交换机相连,处在同一个广播域中。HUB和交换机作为网络连接的基本设备,在转发功能方面有一定的局限性:网络中可能存在着大量广播和未知单播报文,浪费网络资源。网络中的主机收到大量并非以自身为目的地的报文,造成了严重的安全隐患。

解决以上网络问题的根本方法就是隔离广播域。传统的方法是使用路由器,但使用路由器隔离广播域有很大的局限性,因此采用VLAN技术来实现广播域的隔离。

(一)VLAN概述

1.VLAN的概念

VLAN又称虚拟局域网,是指在交换局域网的基础上,采用网络管理软件构建的可跨越不同网段、不同网络的端到端的逻辑网络。一个VLAN组成一个逻辑子网,即一个逻辑广播域,它可以覆盖多个网络设备,允许处于不同地理位置的网络用户加入一个逻辑子网中。

2.VLAN的特征

同一个VLAN中的所有成员共同拥有一个VLAN ID,组成一个虚拟局域网络;同一个VLAN中的成员均能收到同一个VLAN中的其他成员发来的广播包,但收不到其他VLAN中成员发来的广播包;不同VLAN成员之间不可直接通信,需要通过路由支持才能通信,而同一VLAN中的成员通过VLAN交换机可以直接通信,不需路由支持。

3.VLAN的用途

VLAN的特性是控制通信活动,隔离广播数据顺化网络管理,便于工作组优化组合,VLAN中的成员只要拥有一个VLAN ID就可以不受物理位置的限制,随意移动工作站的位置;增加网络的安全性,VLAN交换机就是一道道屏风,只有具备VLAN成员资格的分组数据才能通过,这比用计算机服务器做防火墙要安全得多;网络带宽得到充分利用,网络性能大大提高。

VLAN接口是一种三层模式下的虚拟接口,主要用于实现VLAN间的三层互通,它不作为物理实体存在于交换机上。每个VLAN对应一个VLAN接口,该接口可以为本VLAN内端口收到的报文根据其目的IP地址在网络层进行转发。通常情况下,由于VLAN能够隔离广播域,因此每个VLAN也对应一个IP网段,VLAN接口将作为该网段的网关对需要跨网段转发的报文进行基于IP地址的三层转发。

4.VLAN的类型

按照定义VLAN成员关系的不同,虚拟局域网有以下几种:

基于端口的VLAN。

基于协议的VLAN。

基于MAC地址的VLAN。

基于IP子网的VLAN。

基于IP组播的VLAN。

基于策略的VLAN。

其中,只有按端口号划分的属于静态方式,其余的都属于动态方式。

在引入VLAN后,二层交换机的端口按用途分为访问连接端口(Access Link)和汇聚连接(Trunk Link)端口两种。

基于端口的VLAN分为两类:Port-VLAN和Tag-VLAN。

访问连接端口通常用于连接客户的PC机,以提供网络接入服务。该端口只属于某一个VLAN,并且仅向该VLAN发送或接收数据帧。端口所属的VLAN通常也称作Port-VLAN。

Port-VLAN有以下特点

(1)VLAN是划分出来的逻辑网络,是第二层网络。

(2)VLAN端口不受物理位置的限制。

(3)VLAN隔离广播域。

Port-VLAN的工作机制是: 通过查找MAC地址表,交换机只对同一VLAN中的数据进行转发,对发往不同VLAN的数据不转发。

汇聚连接端口属所有VLAN共有,承载所有VLAN在交换机间的通信流量。此端口所属的VLAN通常也称作Tag-VLAN。

Tag-VLAN有以下特点

(1)传输多个VLAN的信息。

(2)实现同一VLAN跨越不同的交换机。

(3)要求Trunk至少要100M。

汇聚链路承载了所有VLAN的通信流量,为了标识各数据帧属于哪一个VLAN,需要对流经汇聚链路的数据帧进行打标(tag)封装,以附加上VLAN信息,使交换机通过VLAN标识,将数据帧转发到对应的VLAN中。

目前交换机支持的打标封装协议有IEEE802.1Q和ISL。其中IEEE802.1Q是经过IEEE认证的对数据帧附加VLAN识别信息的协议,属于国际标准协议,适用于各个厂商生产的交换机,该协议简称为dot1q。而ISL协议仅适用于Cisco。

(二)配置VLAN

在交换机上可以添加、删除、修改VLAN。缺省情况下交换机有VLAN 1,这个VLAN是系统自动创建,不可以删除。

1.VLAN的基本配置

(1)创建或者修改VLAN。

在全局配置模式下,可以创建或者修改一个VLAN。实现方法是输入一个VLAN ID。如果输入的是一个新的VLAN ID,则设备会创建一个VLAN,如果输入的是已经存在的VLAN ID,则修改相应的VLAN。

Switch (config)#vlan vlan-id

为VLAN取一个名字。如果没有进行这一步,设备会自动为它起一个名字 VLAN xxxx,其中xxxx是以0开头的四位VLAN ID号。比如,VLAN 0004就是VLAN 4的缺省名字

Switch (config-vlan)#name vlan-name

如果想把VLAN的名字改回缺省名字,只需输入no name命令即可。

下面是一个创建VLAN并将它命名为Test的例子:

Switch#configure terminal

Switch(config)#vlan 10

Switch(config-vlan)#name test

Switch(config-vlan)#end

(2)删除一个VLAN。

缺省VLAN 1不允许删除。可以通过no命令后输入一个VLAN ID删除它。

Switch(config)#no vlan vlan-id

(3)向VLAN分配Access。

如果把一个接口分配给一个不存在的VLAN,那么这个VLAN将自动被创建。在接口配置模式下,将一个端口分配给一个VLAN。

Switch(config-if)#switchport mode access            !定义该接口的VLAN成员类型为access。

Switch(config-if)#switchport access vlan vlan-id   !将这个口分配给一个VLAN。

下面这个例子把FastEthernet 1/10作为Access口加入了VLAN20:

Switch#configure terminal

Switch(config)#interface fastethernet 1/10

Switch(config-if)#switchport mode access

Switch(config-if)#switchport access vlan 20

Switch(config-if)#end

下面这个例子显示了如何检查配置是否正确:

Switch#show interface fastethernet0/1 switchport

Interface     Switchport    Mode   Access Native   Protected  VLAN lists

----------    ----------  --------- ------         ---------  ----------

fastethernet 0/1   enabled   ACCESS   1    1    Disabled  ALL

2.配置VLAN Trunks

一个Trunk是将一个或多个以太网交换接口和其他的网络设备(如路由器或交换机)进行连接的点对点链路,一条Trunk链路可以传输属于多个VLAN的流量。锐捷设备的Trunk采用802.1Q标准封装。

如果要把一个接口在ACCESS模式和TRUNK模式之间切换,用 switchport mode命令。必须为Trunk口指定一个Native VLAN。所谓Native VLAN,就是指在这个接口上收发的UNTAG报文,都被认为是属于这个VLAN的。显然,这个接口的缺省VLAN ID就是Native VLAN的VLAN ID。同时,在Trunk上发送属于Native VLAN的帧,则必然采用UNTAG的方式。每个Trunk口的缺省Native VLAN是VLAN 1。在配置Trunk链路时,请确认连接链路两端的Trunk口使用相同的Native VLAN。

Switch(config-if)#switchport mode access

Switch(config-if)#switchport mode trunk

(1)配置一个Trunk口。

A.Trunk口基本配置。

在接口配置模式下,可以将一个接口配置成一个Trunk口。

Switch(config-if)#switchport mode trunk       ! 定义该接口的类型为二层Trunk口

Switch(config-if)#switchport trunk native vlan vlan-id    ! 为这个口指定一个Native VLAN

B.定义Trunk口的许可VLAN列表。

一个Trunk口缺省可以传输本设备支持的所有VLAN(1-4094)的流量。但是,也可以通过设置Trunk口的许可VLAN列表来限制某些VLAN的流量不能通过这个Trunk口。

在接口配置模式下,可以修改一个Trunk口的许可VLAN列表。

Switch(config-if)#switchport trunk allowed vlan {all | [add | remove | except] } vlan-list

配置这个Trunk口的许可VLAN列表。参数vlan-list可以是一个VLAN,也可以是一系列VLAN,以小的VLAN ID开头,以大的VLAN ID结尾,中间用-号连接。如:10–20。

all的含义是许可VLAN列表包含所有支持的VLAN。

add表示将指定VLAN列表加入许可VLAN列表。

remove表示将指定VLAN列表从许可VLAN列表中删除。

except表示将除列出的VLAN列表外的所有VLAN加入许可VLAN列表。

如果想把Trunk的许可VLAN列表改为缺省的许可所有VLAN的状态,请使用no switchport trunk allowed vlan接口配置命令。

下面是一个把VLAN 2从端口FastEthernet 1/15的许可列表中移出的例子:

Switch(config)#interface fastethernet 1/15

Switch(config-if)#switchport trunk allowed vlan remove 2

Switch(config-if)#end

Switch#show interfaces fastethernet 1/15 switchport 

Interface Switchport Mode  Access Native Protected VLAN lists

--------- ---------- ----  ------ ------ -------- ----------

Fa1/15     enabled    TRUNK  1      1     Disabled   1,3-4094

(2)配置Native VLAN。

一个Trunk口能够收发TAG或者UNTAG的802.1Q帧。其中,UNTAG帧用来传输Native VLAN的流量。缺省的Native VLAN是VLAN 1。

在接口配置模式下,可以为一个Trunk口配置Native VLAN。

Switch(config-if)#switchport trunk native vlan vlan-id

如果想把Trunk的Native VLAN列表改回缺省的VLAN 1,请使用no switchport trunk native vlan接口配置命令。

如果一个帧带有Native VLAN的VLAN ID,在通过这个Trunk口转发时,会自动被剥去TAG。

把一个接口的Native VLAN设置为一个不存在的VLAN时,设备不会自动创建此VLAN。此外,一个接口的Native VLAN可以不在接口的许可VLAN列表中。此时,Native VLAN的流量不能通过该接口。

(3)显示VLAN。

在特权模式下,才可以查看VLAN的信息。显示的信息包括VLAN VID、VLAN状态、VLAN成员端口以及VLAN配置信息。以下是显示命令:

show vlan [id vlan-id]

二、任务实施 虚拟局域网VLAN配置与管理

模块一
配置虚拟局域网VLAN
 
教学视频
任务 交换机配置与管理
任务目的

理解port vlan的配置,具备实现Port Vlan的能力。

背景描述

假设此交换机是宽带小区城域网中的1台楼道交换机,住户PC1连接在交换机的0/5口,住户PC2连接在交换机的0/15口。现要实现各家各户的端口隔离。

技术原理

VLAN(Virtual Local Area Network,虚拟局域网)是指在一个物理网段内进行逻辑的划分,划分成若干个虚拟局域网。VLAN最大的特性是不受物理位置的限制,可以进行灵活的划分。VLAN具备了一个物理网段所具备的特性。相同VLAN内的主机可以相互直接访问,不同VLAN间的主机间相互访问必须经路由设备进行转发。广播数据包只可以在本VLAN内进行广播,不能传输到其他VLAN中。

Port VLAN是实现VLAN的方式之一,Port VLAN是利用交换机的端口进行VLAN的划分,一个端口只能属于一个VLAN。

实现功能

通过划分Port VLAN实现本交换端口隔离。

任务设备

二层交换机1台、PC机两台、直连线两条。

任务拓扑
图2-14 任务拓扑图
任务步骤

1在未划VLAN前,两台PC互相ping可以通过。下面创建VLAN。

Switch#configure terminal         

Switch(config)#vlan 10              !创建vlan 10。

Switch(config-vlan)#name test10    !命名vlan 10为test10。

Switch(config-vlan)#exit   

Switch(config)#vlan 20              !创建vlan 20。

Switch(config-vlan)#name test20     !命名vlan 10为test20。

验证测试:

Switch#show vlan                 !查看已配置的vlan信息。

2将接口分配到VLAN。

Switch#configure terminal          !将f0/5端口加入vlan10中。

Switch(config)#interface f0/5

Switch(config-if)#switchport access vlan 10

Switch(config-if)#exit

Switch(config)#interface f0/15       !将f0/15端口加入vlan20中。

Switch(config-if)#switchport access vlan 20

Switch(config-if)#exit

验证测试:

Switch#show vlan

3验证测试,两台PC互相ping不通。

注意事项

(1)交换机所有的端口在默认情况下属于access端口,可直接将端口加入某一VLAN,利用switchport mode access/trunk命令可以更改端口的VLAN模式。

(2)VLAN 1属于系统的默认VLAN,不可以被删除。

(3)删除某个VLAN,使用no命令,例如:switch(config)#no vlan 10。

(4)删除某个VLAN时,应先将属于该VLAN的端口加入别的VLAN,再删除之。

模块二
跨交换机实现VLAN
任务目的

具备实现跨交换机之间VLAN的能力。

背景描述

假设某企业有两个主要部门:销售部和技术部,其中销售部门的个人计算机系统分散连接,他们之间需要相互进行通信,但为了数据安全起见,销售部和技术部需要进行相互隔离,现要在交换机上作适当的配置来实现这一目标。

实现功能

使在同一VALN里的计算机系统能跨交换机进行相互通信,而在不同VLAN里的计算机系统不能进行相互通信。

Tag VLAN是基于交换机端口的另一种类型,主要用于实现跨交换机的相同VLAN内主机可以直接访问,同时,对于不同VLAN主机进行隔离。Tag VLAN遵循了IEEE802.1Q协议的标准。在利用配置了Tag VLAN的接口进行数据传输时,需要在数据帧内添加4个字节的802.1Q标签信息,用于标识该数据帧属于哪个VLAN,以便于对端交换机接收到数据帧后进行准确的过滤。

任务设备

S2126G(2台)、主机(3台)、直连线(4条)。

任务拓扑
图2-15 任务拓扑图

IP分配如下:

PC1:192.168.10.10/24

PC2:192.168.10.20/24

PC3:192.168.10.30/24
任务步骤

1在交换机SwitchA上创建VLAN10,并将0/5端口划分到VLAN10。

SwitchA#configure terminal

switchA(config)#vlan 10

switchA(config-vlan)#name sales

switchA(config-vlan)#exit

switchA(config)#interface f0/5

switchA(config-if)#switchport access vlan 10

验证测试:验证已创建了VLAN 10,并将0/5端口划分到VLAN 10中。

switchA#show vlan id 10

2在交换机SwitchA上创建VLAN20,并将0/15端口划分到VLAN 20中。

switchA(config)#vlan 20

switchA(config-vlan)#name technical

switchA(config-vlan)#exit

switchA(config)#interfce f0/15

switchA(config-if)#switchport access vlan 20

验证测试:验证已创建了VLAN 20,并将0/15端口已划分到VLAN 20中。

SwitchA#show vlan id 20

3把交换机SwitchA与交换机SwitchB相连的端口定义为Tag VLAN模式。

switchA(config)#interface f0/24

switchA(config-if)#switchport mode trunk

验证测试:验证fastethernet 0/24端口已被设置为Tag VLAN模式。

4在交换机SwitchB上创建VLAN 10,并将0/5端口划分到VLAN 10中。

switchB#configure terminal

switchB(config)#vlan 10

switchB(config-vlan)#name sales

switchB(config-vlan)#exit

switchB(config)#interface f0/5

switchB(config-if)#switchport access vlan 10

验证测试:验证已在SwitchB上创建VLAN10,并将0/5端口已划分到VLAN 10中。

switchB#show vlan id 10

5把交换机SwitchB与交换机SwitchA相连的端口定义为Tag VLAN模式。

switchB(config)#interface f0/24

switchB(config-if)#switchport mode trunk

6验证PC1与PC3能互相通信,但PC2与PC3不能互通。

注意事项

(1)两台交换机之间相连的端口应该设置为Tag VLAN模式。

(2)Trunk接口在默认情况下支持所有VLAN的传输。