进阶-中小型网络构建-二层VLAN技术详解配实验步骤
为什么讲 VLAN ?
在传统的交换网络中,为了隔离冲突域,我们引入了交换机。
交换机的每一个端口都是一个不同的隔离域。
但是交换机无法隔离广播域,
所以,如果网络中有一个恶意的主机发送广播的恶意流量,
那么处于同一个交换网路中的所有设备都会受到影响。
此时,如果我们想进行故障主机的定位或者控制恶意广播流量的
影响范围,是非常困难的。
为了解决这个问题,我们的方案是:隔离广播域。
即将一个大的广播域,通过“技术”分割成很多不同的小广播域。
那么恶意的广播流量,仅仅会被控制在一个有限的范围内,
如此一来,对于故障主机的定位以及恶意流量的影响都可以实现
很好的控制。
这种技术,我们称之为 -- vlan ,virtual lan 虚拟局域网。
VLAN的定义:
VLAN指的是具有同样功能的一些设备所处于一个的广播域/网段;
但是位于同一个 VLAN 中的设备与物理位置没有关系。
即属于同一个 VLAN 的成员主机,可以位于同一个物理位置,
也可以位于不同的物理位置。
所谓的“虚”,指的就是“物理位置的”的“虚拟”。
是相对于“传统的LAN”而言的,在传统的 LAN 中,只有属于同一个物理
范围内的设备,才是属于同一个 LAN 的。
而 VLAN 就是打破了这种物理位置的限制。
在交换机上通过 VLAN 技术,实现广播域的隔离。属于 OSI 2层的技术。
VLAN的作用:
在交换机上划分不同的广播域,
每一个 VLAN 都是属于一个不同的广播域;
【不同的 VLAN 就是属于不同的网段;】
VLAN的表示:
# 通过 ID 来表示,比如 vlan 1 , vlan 2 .....
ID取值范围: 0 - 4095
Access 与 Trunk 链路的区别:
#连接的设备不同;
access ,一般连接的是终端设备;
trunk , 一般连接的是交换机设备;
#支持的VLAN不同;
access, 永远只能属于一个 VLAN ;
trunk , 可以同时支持多个VLAN ;
#对数据的操作不同
access :
对于出向数据而言,是不打标签的;
对于入向数据而言,是不打标签的;
trunk :
对于出向数据而言,肯定是需要打标签的;
对于入向数据而言,
#如果接收到的数据是携带标签的,
&如果该接收端口是允许该vlan的,则直接接收;
&如果该接收端口不允许该vlan的,则直接丢弃;
#如果接受到的数据是不携带标签的,
就会使用该 trunk 端口上的 PVID 表示的
vlan 号,为数据打一个标签;
注意:
trunk 链路上的默认的 PVID 是 1 ;
--------------------------------------------------------------------
通过以上的 access 与 trunk 链路对 tag 标签的操作的理解,
以后我们在排查交换网络中的故障的时候,
应该在“数据转发的路径上的每个交换机上,依次使用下列命令进行排查”:
1.当交换机收到一个数据帧的时候,我们使用下面的命令查看:
display port vlan ---> 为的是确定该数据帧的入端口的 PVID ;
2.查看交换机上的入端口的 PVID 表示的 VLAN 的 MAC-address 表;
display mac-address vlan {pvid}
#在该 vlan 的 mac-address 表的显示中,存在对应的 mac-address
条目,则将数据帧从对应的端口中发送出去;
#在该 vlan 的 mac-address 表的显示中,不存在对应的 mac-address
条目,则进行“第3步”
3.通过以下命令进一步确定“数据帧的出端口”:
display vlan [pvid] --> 首先查看与该 vlan 对应的 “出端口”。
同时,确定数据在该端口上出去的时候,
对标签的处理动作:
UT - 不打标签;
TG - 打标签;
其实打的标签的值
是PVID;
下面就以一组实验来验证
实验名称:同一个VLAN内的主机互通
实验需求:
PC-1/PC-2/PC-5 属于 VLAN 10 ,IP地址:192.168.10.X/24,X是PC号;
PC-3/PC-4属于 VLAN 30 ,IP地址:192.168.30.X/24,X 是 PC 号;
同一个 VLAN 内部的主机之间互相 ping 通;
实验步骤:
1.配置终端主机;
PC-1 : 192.168.10.1/24
PC-2 :192.168.10.2/24
PC-5 :192.168.30.5/24
PC-3 : 192.168.30.3/24
PC-4 :192.168.30.4/24
2.配置网络设备
# 创建 VLAN ,并验证 VLAN 信息;
SW1:
[SW1]vlan 10 -->创建 VLAN 10 ;
[SW1-vlan 10] quit
[SW1]vlan 30 -->创建 VLAN 30
[SW1-vlan 30] quit
[SW1] display vlan --> 查看交换机上创建好的 vlan 10 和 30
SW2:
[SW1]vlan 10
[SW1-vlan 10] quit
[SW1]vlan 30
[SW1-vlan 30] quit
[SW1] display vlan --> 查看交换机上创建好的 vlan 10 和 30
# 将连接 PC 的端口配置为 Acess ,并放入特定的 VLAN ;
SW1;
interface gi0/0/1 -->该端口连接的是 PC-1
port link-type access --> 设置端口模式为 access ;
port default vlan 10 --> 设备端口属于 vlan 10 ;
interface gi0/0/2 -->该端口连接的是 PC-2
port link-type access --> 设置端口模式为 access ;
port default vlan 10 --> 设备端口属于 vlan 10 ;
interface gi0/0/3 -->该端口连接的是 PC-3
port link-type access --> 设置端口模式为 access ;
port default vlan 30 --> 设备端口属于 vlan 30 ;
SW2;
interface gi0/0/4 -->该端口连接的是 PC-4
port link-type access --> 设置端口模式为 access ;
port default vlan 30 --> 设备端口属于 vlan 30 ;
interface gi0/0/5 -->该端口连接的是 PC-5
port link-type access --> 设置端口模式为 access ;
port default vlan 10 --> 设备端口属于 vlan 10 ;
验证 VLAN 与 端口的从属关系:
[SW1]display vlan -->查看对应的 VLAN 后面有关联的端口;
[SW2]display vlan -->查看对应的 VLAN 后面有关联的端口;
# 配置交换机之间的互联链路为 Trunk,并允许所有的 VLAN 通过;
SW1:
interface gi0/0/24 --> 连接 SW2 ;
port link-type trunk -->将端口设置为 trunk 模式;
port trunk allow-pass vlan all -->配置端口允许所有的VLAN
SW2:
interface gi0/0/24 --> 连接 SW1 ;
port link-type trunk -->将端口设置为 trunk 模式;
port trunk allow-pass vlan all -->配置端口允许所有的VLAN
验证链路的 Trunk 模式以及 Trunk 端口允许的 VLAN :
[SW1] display port vlan --> 查看端口模式以及允许的 VLAN ;
[SW2] display port vlan --> 查看端口模式以及允许的 VLAN ;
Trunk:干道
为了节省交换机设备之间的互联链路,
我们开发了 Trunk 技术,如此一来,就可以大大的节省设备之间的
连接端口。为啥?因为:
可以同时传输多个 VLAN 的数据的链路/端口;
一般应用于交换机与交换机之间的互联链路;
配置命令:
interface gi0/0/24
port link-type trunk -->将端口配置为 Trunk 模式;
port trunk allow-pass vlan all -> 在该端口上允许所有的VLAN
通过;
默认情况下,仅允许VLAN 1;
如果出现配错命令也可以进行删除
删除 VLAN :
[SW1] undo vlan 10 -->删除 VLAN 10 以后,曾经属于 vlan 10
的端口自动的回归到 vlan 1 ;
将端口从 access 配置为 hybrid :
1.首先删除该端口上的“配置 vlan ”的命令;
2.其次直接修改该端口的 link-type ;
将端口从 trunk 配置为 access :
1.首先删除该 trunk 端口上的:port trunk allow-pass vlan all
2.其次配置该端口仅仅允许 VLAN 1 通过:
port trunk allow-pass vlan 1
3.其次直接修改该端口的 link-type ;
注意:
在同一个 trunk 链路上前后使用的“ port trunk allow-pass vlan x "
命令是相互叠加的,不是相互覆盖的;
为了安全着想,在企业中,我们建议,仅仅在交换机之间的 Trunk 链路
上允许”企业中存在的那些 VLAN “。
最后对GVRP做以讲解
GVRP : generic vlan register protocol , 通用 vlan 注册 协议;
该协议的作用,就是在不同的交换机之间,自动的同步 VLAN 信息的;
注意:
为了保证整个交换网络的互通,我们必须确保在网络中的所有交换机
拥有”完全相同的 VLAN 数据库“。
并且, GVRP 在华为设备上,默认是关闭的。该协议是”公有标准协议“。
【在思科上实现同样的功能的协议,叫做 VTP,这是思科私有的】
配置:
display gvrp status --> 查看当前交换机上的 GVRP 的运行状态;
1.在系统模式下开启 GVRP 功能:
[SW1] gvrp --->为整个设备开启 GVRP 功能;
2.在交换机之间的互联链路上开启 GVRP ,即在 Trunk 上开启;
[SW1]interface gi0/0/24
[SW1-gi0/0/24] gvrp ---> 在端口上开启 GVRP 功能,
从而该端口就可以正常的发送和接收
GVRP的报文;
注意:
GVRP 命令,必须在 Trunk 链路配置。如果是其他类型的链路,该命令
无法输入;
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。