进阶-中小型网络构建-二层VLAN技术详解配实验步骤数据库
为何讲 VLAN ?安全
在传统的交换网络中,为了隔离冲突域,咱们引入了交换机。网络
交换机的每个端口都是一个不一样的隔离域。ide
可是交换机没法隔离广播域,ui
因此,若是网络中有一个恶意的主机发送广播的恶意流量,spa
那么处于同一个交换网路中的全部设备都会受到影响。blog
此时,若是咱们想进行故障主机的定位或者控制恶意广播流量的开发
影响范围,是很是困难的。同步
为了解决这个问题,咱们的方案是:隔离广播域。it
即将一个大的广播域,经过“技术”分割成不少不一样的小广播域。
那么恶意的广播流量,仅仅会被控制在一个有限的范围内,
如此一来,对于故障主机的定位以及恶意流量的影响均可以实现
很好的控制。
这种技术,咱们称之为 -- 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 链路配置。若是是其余类型的链路,该命令
没法输入;