4.4.1 VLAN创建和配置
4.5.1代码
第一步:进入交换机A的特权用户模式
switchA>en
switchA#
switchA#set default
are you sure?[Y/N] Y
switchA#write
switchA#reload //重启交换机
第二步:给交换机A设置IP地址即管理IP
switchA#config
switchA(config)#interface vlan 1
switchA(config-if-vlan1)#ip address 192.168.1.11 255.255.255.0
switchA(config-if-vlan1)#no shutdown
switchA(config-if-vlan1)#exit
switchA(config)#exit
第三步:创建VLAN100和VLAN200
switchA(config)#
switchA(config)#VLAN 100
switchA(config-vlan100)#exit
switchA(config)#VLAN 200
switchA(config-VLAN200)#exit
switchA(config)#
验证配置:
switchA#show vlan
第四步:给VLAN100 和VLAN200添加端口
如图所示,使用下列命令给VLAN100添加端口
switchA(config)#VLAN 100
switchA (config- VLAN100)#switchport interface Ethernet 0/0/1-8
switchA (config-VLAN100)#exit
使用下列命令给VLAN200添加端口
switchA(config)#VLAN 200
switchA (config- VLAN200)#switchport interface Ethernet 0/0/9-16
switchA (config-VLAN220)#exit
验证配置:
第五步:测试并记录结果于表4-1中
表4-1
测试步骤 |
PC1位置 |
PC2位置 |
PC1 PING PC2的结果 |
1 |
1~8端口 |
1~8端口 |
通 |
2 |
9~16端口 |
9~16端口 |
通 |
3 |
1~8端口 |
9~16端口 |
不通 |
第六步:分析测试结果
4.4.2 跨交换台机的VLAN通信
网络拓扑结构如图4-2所示。
图4-2
在交换机A和交换机B上分别划分两个基于端口的VLAN:VLAN100,VLAN200,其端口设置如下:
VLAN |
端口成员 |
100 |
1~8 |
200 |
9~16 |
Trunk口 |
24 |
使得:
(1)交换机之间VLAN100的成员能够互相访问;
(2)交换机之间VLAN200的成员能够互相访问;
(3)VLAN100和VLAN200成员之间不能互相访问。
各设备的网络设置为:
设备 |
IP地址 |
Mask |
交换机A |
192.168.1.11 |
255.255.255.0 |
交换机B |
192.168.1.12 |
255.255.255.0 |
PC1 |
192.168.1.101 |
255.255.255.0 |
PC2 |
192.168.1.102 |
255.255.255.0 |
4.5.2 跨交换机相同VLAN间通信
第一步:按图4-2所示拓扑结构,连接交换机A的24端口和交换机B的24端口;
第二步:按照4.5.1 步骤对交换机B进行配置,包括;
(1)设置交换机B的管理IP;
(2)创建VLAN100和VLAN200;
(3)给VLAN100和VLAN200添加端口;
(4)验证配置。
第三步:设置交换机trunk端口
交换机A:
switchA(config)#interface Ethernet 0/0/24
switchA (config-ethernet0/0/24)#switchport mode trunk
Set the port ethernet0/0/24 mode TRUNK successfully
switchA (config-ethernet0/0/24)#switchport trunk allowed vlan all
set the port ethernet0/0/24 allowed vlan successfully
switchA(config-ethernet0/0/24)#exit
switchA(config)#
验证配置:
switchA#show vlan
交换机B:配置方法同交换机A
第四步:在交换机A 上ping交换机B:
switchA#ping 192.168.1.12
表明交换机之间的trunk链路已经成功建立。(如果不通检查第三步)
第五步:PC1插在交换机A上,PC2插在交换机B上,按表4-2测试并记录结果。
表4-2
测试步骤 |
PC1位置 (交换机A) |
PC2位置(交换机B) |
PC1 PING
|
结果 |
1 |
1~8端口 |
|
交换机B |
|
2 |
9~16端口 |
|
交换机B |
|
3 |
17~23端口 |
|
交换机B |
|
4 |
24端口 |
|
交换机B |
|
5 |
1~8端口 |
1~8端口 |
PC2 |
|
6 |
1~8端口 |
9~16端口 |
PC2 |
|
第六步:分析测试结果
4.5.3通过三层交换机实现不同VLAN间的通信
4.4.3 通过三层交换机实现不同VLAN间的通信
网络拓扑结构同4.4.3中的图4-2,在交换机A和交换机B上分别划分两个基于端口的VLAN:VLAN100,VLAN200。端口设置同4.4.3中。
在交换机B(DCSR-5650)上设置VLAN100和VLAN200的虚拟网关接口如下所示:
VLAN |
IP |
Mask |
100 |
192.168.10.1 |
255.255.255.0 |
200 |
192.168.20.1 |
255.255.255.0 |
使得:
(1)交换机之间VLAN100的成员能够互相访问;
(2)交换机之间VLAN200的成员能够互相访问;
(3)VLAN100和VLAN200成员之间也能够互相访问。
当PC1和PC2接到交换机A或B上的不同端口时,要根据端口所属的VLAN不同,设置其IP地址、子网掩码、默认网关。
网络拓扑结构如图4-1所示,使用1台交换机和3台PC机,将其中的PC3作为控制台终端,登录交换机设备进行配置。
图4-1
在DCS-3950交换机上划分2个VLAN(VLAN 100和VLAN 200),使得:
(1)、VLAN100的成员能够相互通信;
(2)、VLAN200的成员能够相互通信;
(3)、VLAN100和VLAN 200成员之间不能互相访问。
各设备的网络设置为:
设备 |
IP地址 |
Mask |
交换机 |
192.168.1.11 |
255.255.255.0 |
PC1 |
192.168.1.101 |
255.255.255.0 |
PC2 |
192.168.1.102 |
255.255.255.0 |
在4.5.3对交换机A和B配置的基础上,完成下列实验步骤。
第一步:在交换机B上添加VLAN100和VLAN200的虚拟网关接口;
switchB(Config)#interface vlan 100
switchB(Config-If-Vlan100)#ip address 192.168.10.1 255.255.255.0
switchB(Config-If-Vlan100)#no shut
switchB(Config-If-Vlan100)#exit
switchB(Config)#interface vlan 200
switchB(Config-If-Vlan200) #ip address 192.168.20.1 255.255.255.0
switchB(Config-If-Vlan200)#no shutdown
switchB(Config-If-Vlan200)#exit
switchB(Config)#
验证配置:
switchB#show ip route
第二步:配置PC1的IP地址、子网掩码、默认网关,并禁用PC1上另一块网卡
第三步:测试并记录结果于表4-3中
表4-3
测试步骤 |
PC1位置 (交换机A) |
PC2位置(交换机B) |
PC2配置
|
PC1 PING PC2结果 |
1 |
1~8端口 |
1~8端口 |
IP地址:
子网掩码:
默认网关:
|
|
2 |
1~8端口 |
9~16端口 |
IP地址:
子网掩码:
默认网关:
|
|
第四步:分析测试结果。
4.6 扩展实验
按图4-3所示拓扑结构构建局域网,并完成实验内容4.4.3。
图4-3
4.7 思考题
如果要让运行在PC机上的抓包程序能够捕获到802.1Q数据帧,PC机应接到交换机的哪个端口?
4.8 实验报告要求
1. 记录测试结果;
2. 分析测试结果;
3. 回答思考题;
4. 写出自己实验过程中出现的问题、解决方法,及实验的心得体会。
4.8 相关配置命令详解
vlan
命令:vlan <vlan-id>
no vlan <vlan-id>
功能:创建VLAN 并且进入VLAN 配置模式,在VLAN 模式中,用户可以配置VLAN 名称和为该VLAN 分配交换机端口;本命令的no 操作为删除指定的VLAN。
参数:<vlan-id>为要创建/删除的VLAN 的VID,取值范围为1~4094。
命令模式:全局配置模式
缺省情况:交换机缺省只有VLAN1。
使用指南:VLAN1 为交换机的缺省VLAN,用户不能配置和删除VLAN1。允许配置VLAN 的总共数量为4094 个。另需要提醒的是不能使用本命令删除通过GVRP 学习到的动态VLAN。
举例:创建VLAN100,并且进入VLAN100 的配置模式。
DCRS-7604 (Config)#vlan 100
DCRS-7604 (Config-Vlan100)#
name
命令:name <vlan-name>
no name
功能:为VLAN 指定名称,VLAN 的名称是对该VLAN 一个描述性字符串;本命令的no 操作为删除VLAN 的名称。
参数:<vlan-name>为指定的vlan 名称字符串。
命令模式:VLAN 配置模式
缺省情况:VLAN 缺省名称为vlanXXX,其中XXX 为VID。
使用指南:交换机提供为不同的VLAN 指定名称的功能,有助于用户记忆VLAN,方便管理。
举例:为VLAN100 指定名称为TestVlan。
DCRS-7604 (Config-Vlan100)#name TestVlan
switchport access vlan
命令:switchport access vlan <vlan-id>
no switchport access vlan
功能:将当前Access 端口加入到指定VLAN;本命令no 操作为将当前端口从VLAN 里删除。
参数:<vlan-id>为当前端口要加入的vlan VID,取值范围为1~4094。
命令模式:接口配置模式
缺省情况:所有端口默认属于VLAN1。
使用指南:只有属于Access mode 的端口才能加入到指定的VLAN 中,并且Access 端口同时只能加入到一个VLAN 里去。
举例:设置某Access 端口加入VLAN100。
DCRS-7604 (Config)#interface ethernet 1/8
DCRS-7604 (Config-ethernet1/8)#switchport mode access
DCRS-7604 (Config-ethernet1/8)#switchport access vlan 100
DCRS-7604 (Config-ethernet1/8)#exit
switchport interface
命令:switchport interface <interface-list>
no switchport interface <interface-list>
功能:给VLAN 分配以太网端口的命令;本命令的no 操作为删除指定VLAN 内的一个或一组端口。
参数:<interface-list> 要添加或者删除的端口的列表,支持”;” ”-” ,如:ethernet 1/1;2;5 或ethernet 1/1-6;8。
命令模式:VLAN 配置模式
缺省情况:新建立的VLAN 缺省不包含任何端口。
使用指南:Access 端口为普通端口,可以加入VLAN,但同时只允许加入一个VLAN。
举例:为VLAN100 分配百兆以太网端口1,3,4-7,8。
DCRS-7604 (Config-Vlan100)#switchport interface ethernet 1/1;3;4-7;8
switchport mode
命令:switchport mode {trunk|access}
功能:设置交换机的端口为access 模式或者trunk 模式。
参数:trunk 表示端口允许通过多个VLAN 的流量;access 为端口只能属于一个VLAN。
命令模式:接口配置模式
缺省情况:端口缺省为Access 模式。
使用指南:工作在trunk mode 下的端口称为Trunk 端口,Trunk 端口可以通过多个VLAN 的流量,通过Trunk 端口之间的互联,可以实现不同交换机上的相同VLAN 的互通;工作在access mode 下的端口称为Access 端口,Access 端口可以分配给一个VLAN,并且同时只能分配给一个VLAN。
举例:将端口5 设置为trunk 模式,端口8 设置为access 模式。
DCRS-7604 (Config)#interface ethernet 1/5
DCRS-7604 (Config-ethernet1/5)#switchport mode trunk
DCRS-7604 (Config-ethernet1/5)#exit
DCRS-7604 (Config)#interface ethernet 1/8
DCRS-7604 (Config-ethernet1/8)#switchport mode access
DCRS-7604 (Config-ethernet1/8)#exit
switchport trunk allowed vlan
命令:switchport trunk allowed vlan {<vlan-list>|all}
no switchport trunk allowed vlan
功能:设置Trunk 端口允许通过VLAN;本命令的no 操作为恢复缺省情况。
参数:<vlan-list>为允许在该Trunk 端口上通过的VLAN 列表;all 关键字表示允许该Trunk 端口通过所有VLAN 的流量。
命令模式:接口配置模式
缺省情况:Trunk 端口缺省允许通过所有VLAN。
使用指南:用户可以通过本命令设置哪些VLAN 的流量通过Trunk 端口,没有包含的VLAN 流量则被禁止。
举例:设置Trunk 端口允许通过VLAN1,3,5-20 的流量。
DCRS-7604 (Config)#interface ethernet 1/5
DCRS-7604 (Config-ethernet1/5)#switchport mode trunk
DCRS-7604 (Config-ethernet1/5)#switchport trunk allowed vlan 1;3;5-20
DCRS-7604 (Config-ethernet1/5)#exit
switchport trunk native vlan
命令:switchport trunk native vlan <vlan-id>
no switchport trunk native vlan
功能:设置Trunk 端口的PVID;本命令的no 操作为恢复缺省值。
参数:<vlan-id>为Trunk 端口的PVID。
命令模式:接口配置模式
缺省情况:Trunk 端口默认的PVID 为1。
使用指南:在802.1Q 中定义了PVID 这个概念。Trunk 端口的PVID 的作用是当一个untagged 的帧进入Trunk 端口,端口会对这个untagged 帧打上带有本命令设置的native PVID 的tag 标记,用于VLAN 的转发。
举例:设置某Trunk 端口的native vlan 为100。
DCRS-7604 (Config)#interface ethernet 1/5
DCRS-7604 (Config-ethernet1/5)#switchport mode trunk
DCRS-7604 (Config-ethernet1/5)#switchport trunk native vlan 100
DCRS-7604 (Config-ethernet1/5)#exit
vlan ingress disable
命令:vlan ingress disable
no vlan ingress disable
功能:关闭端口的VLAN 入口规则;本命令的no 操作为打开入口准则。
命令模式:接口配置模式
缺省情况:系统缺省打开端口的VLAN 入口准则。
使用指南:当打开端口的VLAN 入口规则,系统在接收数据时会检查源端口是否是该VLAN的成员端口,如果是则接受数据并转发到目的端口,否则丢弃该数据。
举例:关闭端口的VLAN 入口规则。
DCRS-7604 (Config-Ethernet1/1)# vlan ingress disable