进阶-中小型网络构建-二层VLAN技术详解配实验步骤

进阶-中小型网络构建-二层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

下面就以一组实验来验证

image.png


实验名称:同一个VLAN内的主机互通

实验需求:

    PC-1/PC-2/PC-5 属于 VLAN 10 IP地址:192.168.10.X/24XPC号;

         PC-3/PC-4属于 VLAN 30 IP地址:192.168.30.X/24X 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 链路配置。如果是其他类型的链路,该命令

         无法输入;



猜你喜欢

转载自blog.51cto.com/13698450/2114532