VLAN原理和配置

一、VLAN介绍

1.概念

  • 随着网络中计算机的数量越来越多,传统的以太网络开始面临冲突严重、广播泛滥以及安全性无法保障等各种问题。

  • VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的局域网在逻辑上划分成多个广播域的技术。通过在交换机上配置VLAN,可以实现在同一个VLAN内的用户可以进行二层互访,而不同VLAN间的用户被二层隔离。这样既能够隔离广播域,又能够提升网络的安全性。

2.传统以太网与VLAN的对比

  • 传统以太网:随着主机数量的增加,共享网络中的冲突会越来越严重,交换网络中的广播也会越来越多。

  • VLAN技术:VLAN能够隔离广播域。

3.VLAN帧格式

  • 在现有的交换网络环境中,以太网的帧有两种格式:没有加上VLAN标记的标准以太网帧(untagged frame);有VLAN标记的以太网帧(tagged frame)。

  • 通过Tag区分不同VLAN。

  • VLAN标签长4个字节,直接添加在以太网帧头中,IEEE802.1Q文档对VLAN标签作出了说明。

4.链路类型

  • VLAN链路分为两种类型:Access链路和Trunk链路。

  • 接入链路(Access Link):连接用户主机和交换机的链路称为接入链路。如本例所示,图中主机和交换机之间的链路都是接入链路。

  • 干道链路(Trunk Link):连接交换机和交换机的链路称为干道链路。如本例所示,图中交换机之间的链路都是干道链路。干道链路上通过的帧一般为带Tag的VLAN帧。

5.PVID

  • PVID是表示网络通信中基于端口的VLAN ID,一个端口可以属于多个VLAN,但是只能有一个PVID,收到一个不带tag头的数据包时,会打上PVID所表示的VLAN号,视同该VLAN的数据包处理。

  • 一个物理端口只能拥有一个PVID,当一个物理端口拥有了一个PVID的时候,必定会拥有和PVID相等的VID,而且在这个VID上,这个物理端口必定是Untagged Port。

  • PVID的作用只是在交换机从外部接受到可以接受Untagged 数据帧的时候给数据帧添加TAG标记用的,在交换机内部转发数据的时候PVID不起任何作用。

  • PVID表示端口在缺省情况下所属的VLAN。

  • 缺省情况下,常见交换机每个端口的PVID都是1。

6.端口类型

①Access

  • Access端口是交换机上用来连接用户主机的端口,它只能连接接入链路,并且只能允许唯一的VLAN ID通过本端口。

  • Access端口在收到数据后会添加VLAN Tag,VLAN ID和端口的PVID相同。

  • Access端口在转发数据前会移除VLAN Tag。

②Trunk

  • Trunk端口是交换机上用来和其他交换机连接的端口,它只能连接干道链路。Trunk端口允许多个VLAN的帧(带Tag标记)通过。

  • 当Trunk端口收到帧时,如果该帧不包含Tag,将添加上端口的PVID;如果该帧包含Tag,则不改变。

  • 当Trunk端口发送帧时,该帧的VLAN ID在Trunk的允许发送列表中:若与端口的PVID相同时,则剥离Tag发送;若与端口的PVID不同时,则直接发送。

7.VLAN划分方式

  • 基于端口划分:根据交换机的端口编号来划分VLAN。通过为交换机的每个端口配置不同的PVID,来将不同端口划分到VLAN中。初始情况下,X7系列交换机的端口处于VLAN1中。此方法配置简单,但是当主机移动位置时,需要重新配置VLAN。

  • 基于MAC地址划分:根据主机网卡的MAC地址划分VLAN。此划分方法需要网络管理员提前配置网络中的主机MAC地址和VLAN ID的映射关系。如果交换机收到不带标签的数据帧,会查找之前配置的MAC地址和VLAN映射表,根据数据帧中携带的MAC地址来添加相应的VLAN标签。在使用此方法配置VLAN时,即使主机移动位置也不需要重新配置VLAN。

  • 基于IP子网划分:交换机在收到不带标签的数据帧时,根据报文携带的IP地址给数据帧添加VLAN标签。

  • 基于协议划分:根据数据帧的协议类型(或协议族类型)、封装格式来分配VLAN ID。网络管理员需要首先配置协议类型和VLAN ID之间的映射关系。

  • 基于策略划分:使用几个条件的组合来分配VLAN标签。这些条件包括IP子网、端口和IP地址等。只有当所有条件都匹配时,交换机才为数据帧添加VLAN标签。另外,针对每一条策略都是需要手工配置的。

8.VLAN配置及验证

①.配置

  • 在交换机上划分VLAN时,需要首先创建VLAN。在交换机上执行vlan <vlan-id>命令,创建VLAN。如本例所示,执行vlan 10命令后,就创建了VLAN 10,并进入了VLAN 10视图。VLAN ID的取值范围是1到4094。如需创建多个VLAN,可以在交换机上执行vlan batch { vlan-id1 [ to vlan-id2 ] }命令,以创建多个连续的VLAN。也可以执行vlan batch { vlan-id1 vlan-id2 }命令,创建多个不连续的VLAN,VLAN号之间需要有空格。

②验证

  • 创建VLAN后,可以执行display vlan命令验证配置结果。如果不指定任何参数,则该命令将显示所有VLAN的简要信息。

  • 执行display vlan [ vlan-id [ verbose ] ]命令,可以查看指定VLAN的详细信息,包括VLAN ID、类型、描述、VLAN的状态、VLAN中的端口、以及VLAN中端口的模式等。

  • 执行display vlan vlan-id statistics命令,可以查看指定VLAN中的流量统计信息。

  • 执行display vlan summary命令,可以查看系统中所有VLAN的汇总信息。

③配置Access端口

  • 华为X7系列交换机上,默认的端口类型是hybrid。

  • 配置端口类型的命令是port link-type <type>type可以配置为Access,Trunk或Hybrid。需要注意的是,如果查看端口配置时没有发现端口类型信息,说明端口使用了默认的hybrid端口链路类型。当修改端口类型时,必须先恢复端口的默认VLAN配置,使端口属于缺省的VLAN 1。

④添加端口到VLAN

  • 可以使用两种方法把端口加入到VLAN。

  • 1.第一种方法是进入到VLAN视图,执行port <interface>命令,把端口加入VLAN。

  • 2.第二种方法是进入到接口视图,执行port default vlan <vlan-id>命令,把端口加入VLAN。vlan-id是指端口要加入的VLAN。

⑤配置验证

  • 执行display vlan命令,可以确认端口是否已经加入到VLAN中。在本示例中,端口GigabitEthernet0/0/5和GigabitEthernet0/0/7分别加入了VLAN 3和VLAN 2。UT表明该端口发送数据帧时,会剥离VLAN标签,即此端口是一个Access端口或不带标签的Hybrid端口。UD分别表示链路当前是Up状态或Down状态。

⑥配置Trunk端口

  • 配置Trunk时,应先使用port link-type trunk命令修改端口的类型为Trunk,然后再配置Trunk端口允许哪些VLAN的数据帧通过。执行port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }命令,可以配置端口允许的VLAN,all表示允许所有VLAN的数据帧通过。

  • 执行port trunk pvid vlan vlan**-id命令,可以修改Trunk端口的PVID。修改Trunk端口的PVID之后,需要注意:缺省VLAN不一定是端口允许通过的VLAN。只有使用命令port trunk allow-pass vlan { { vlan-id1 [ to vlan-id2 ] } | all }允许缺省VLAN数据通过,才能转发缺省VLAN的数据帧。交换机的所有端口默认允许VLAN1的数据通过。

  • 在本示例中,将SWA的G0/0/1端口配置为Trunk端口,该端口PVID默认为1。配置port trunk allow-pass vlan 2 3命令之后,该Trunk允许VLAN 2和VLAN 3的数据流量通过。

⑦配置验证

  • 执行display vlan命令可以查看修改后的配置。TG表明该端口在转发对应VLAN的数据帧时,不会剥离标签,直接进行转发,该端口可以是Trunk端口或带标签的Hybrid端口。本示例中,GigabitEthernet0/0/1在转发VLAN 2和VLAN3的流量时,不剥离标签,直接转发。

二、Hybrid接口

1.特点

  • 华为交换机接口默认为Hybrid模式

  • 既可以实现Access接口的功能,也可以实现Trunk接口的功能

  • *不借助三层设备即可实现跨VLAN通信和访问控制

  • Hybrid接口相对于Access接口和Trunk接口具有更高的灵活性与可控性

  • Hybrid和Trunk都支持多个VLAN通过并打标签,

  • 此外,Hybrid还允许多个VLAN通过时不打标签

2.作用

  • 流量隔离

  • 流量互通

3.应用场景

  • 需求

    • 要求实现生产部和销售部客户端只能访问服务器1,并且生产部和销售部之间可以相互访问

    • 财务部只能访问服务器2,要与任何部门之间隔离

4.工作原理

  • untag列表

    • 只在接口发送数据帧时生效,如果需要发送的数据的VLAN标签在接口的untag列表中,那么将去除标签转发

  • tag列表

    • 已经被标记VLAN的数据经过tag列表审核后将会转发,tag列表中无此VLAN标记将会直接丢弃

  • PVID

    • 用于在接收未标记数据帧时给数据帧打上当前标记的PVID标识,也就是常说的接口属于某个VLAN

  • 根据PVID封装802.1Q

  • 根据untag列表和tag列表进行收发

    • 只针对Hybrid接口

    • untag列表(默认VLAN1)

    • tag列表(默认为空)

  • Hybrid接口收发数据帧流程

5.注意

  • 为交换机接口指定了非PVID1的编号时,一定要将该编号加入该接口的untag列表或者tag列表中,否则无法正常通信。

VLAN间路由

一、VLAN的局限性

  • VLAN在分割广播域的同时也限制了不同VLAN间的主机进行二层通信的能力。

  • VLAN隔离了二层广播域,也严格地隔离了各个VLAN之间的任何二层流量,属于不同VLAN的用户之间不能进行二层通信。

二、VLAN路由---每个VLAN一个物理连接

  • 在二层交换机上配置VLAN,每一个VLAN使用一条独占的物理链路连接到路由器的一个接口上。

  • 因为不同VLAN之间的主机是无法实现二层通信的,所以必须通过三层路由才能将报文从一个VLAN转发到另外一个VLAN。

  • 解决VLAN间通信问题的第一种方法是:在路由器上为每个VLAN分配一个单独的接口,并使用一条物理链路连接到二层交换机上。当VLAN间的主机需要通信时,数据会经由路由器进行三层路由,并被转发到目的VLAN内的主机,这样就可以实现VLAN之间的相互通信。

  • 然而,随着每个交换机上VLAN数量的增加,这样做必然需要大量的路由器接口,而路由器的接口数量是极其有限的。并且,某些VLAN之间的主机可能不需要频繁进行通信,如果这样配置的话,会导致路由器的接口利用率很低。因此,实际应用中一般不会采用这种方案来解决VLAN间的通信问题。

三、VLAN路由-单臂路由

  • 将交换机和路由器之间的链路配置为Trunk链路,并且在路由器上创建子接口以支持VLAN路由。

  • 解决VLAN间通信问题的第二种方法是:

    • 在交换机和路由器之间仅使用一条物理链路连接。在交换机上,把连接到路由器的端口配置成Trunk类型的端口,并允许相关VLAN的帧通过。在路由器上需要创建子接口,逻辑上把连接路由器的物理链路分成了多条。一个子接口代表了一条归属于某个VLAN的逻辑链路。配置子接口时,需要注意以下几点:

      • 1.必须为每个子接口分配一个IP地址。该IP地址与子接口所属VLAN位于同一网段。

      • 2.需要在子接口上配置802.1Q封装,来剥掉和添加VLAN Tag,从而实现VLAN间互通。

      • 3.在子接口上执行命令arp broadcast enable使能子接口的ARP广播功能。

四、VLAN路由-三层交换

  • 为每个VLAN创建一个VLANIF接口作为网关。

  • 解决VLAN间通信问题的第三种方法是:

    • 在三层交换机上配置VLANIF接口来实现VLAN间路由。如果网络上有多个VLAN,则需要给每个VLAN配置一个VLANIF接口,并给每个VLANIF接口配置一个IP地址。用户设置的缺省网关就是三层交换机中VLANIF接口的IP地址。

五、配置单臂路由

  • 执行port link-type trunk命令,配置SWA的G0/0/1端口为Trunk类型的端口。

  • 执行port trunk allow-pass vlan 2 3命令,配置SWA的G0/0/1端口允许VLAN 2和VLAN 3的数据通过。

  • interface interface-type interface-number.sub-interface number命令用来创建子接口。sub-interface number代表物理接口内的逻辑接口通道。

  • dot1q termination vid命令用来配置子接口dot1q封装的单层VLAN ID。缺省情况,子接口没有配置dot1q封装的单层VLAN ID。本命令执行成功后,终结子接口对报文的处理如下:接收报文时,剥掉报文中携带的Tag后进行三层转发。转发出去的报文是否带Tag由出接口决定。发送报文时,将相应的VLAN信息添加到报文中再发送。

  • arp broadcast enable命令用来使能终结子接口的ARP广播功能。缺省情况下,终结子接口没有使能ARP广播功能。终结子接口不能转发广播报文,在收到广播报文后它们直接把该报文丢弃。为了允许终结子接口能转发广播报文,可以通过在子接口上执行此命令。

六、配置验证

  • 配置完成单臂路由后,可以使用ping命令来验证主机之间的连通性。如上所示,VLAN2中的主机A(IP地址:192.168.2.1)可以Ping通VLAN3中的主机B(IP地址:192.168.3.1)。

七、配置三层交换

1.单臂路由的缺陷:

  • “单臂”为网络骨干链路,容易形成网络瓶颈

  • 子接口依然依托于物理接口,应用不灵活

  • VLAN间转发需要查看路由表,严重浪费设备资源

2.配置

  • 在三层交换机上配置VLAN路由时,首先创建VLAN,并将端口加入到VLAN中。

  • interface vlanif vlan-id命令用来创建VLANIF接口并进入到VLANIF接口视图。vlan-id表示与VLANIF接口相关联的VLAN编号。VLANIF接口的IP地址作为主机的网关IP地址,和主机的IP地址必须位于同一网段。

  • 配置三层交换后,可以用ping命令验证主机之间的连通性。如上所示,VLAN2中的主机A(IP地址:192.168.2.2)可以Ping通VLAN3中的主机B(IP地址:192.168.3.2)。

问题

untag和tag

信安学习-day13相关推荐

  1. 谈谈半年的信安学习和一些学习感悟(附收藏资料分享)

    学习信安也有半年左右的时间了,期间也收集了很多的资源,但是大多都在收藏夹里吃灰了,不过也看了不少的视频,现在的感觉就是感觉啥都会,但是真到比赛的时候,就腌了,知识没有很好的融会贯通,当初只是囫囵吞枣的 ...

  2. 信安学习-day15

    SNMP原理与配置 一.前言 随着网络技术的飞速发展,企业中网络设备的数量成几何级数增长,网络设备的种类也越来越多,这使得企业网络的管理变得十分复杂. 简单网络管理协议SNMP( Simple Net ...

  3. 信安学习-day14

    传输层协议TCP.UDP 一.TCP和UDP协议 TCP/IP协议族的传输层协议主要有两个 TCP(Transmission Control Protocol ) 传输控制协议 UDP(User Da ...

  4. 信安学习-day34

    安装及管理应用程序 一.Linux 应用程序基础 1.Linux命令与应用程序关系 文件位置 系统命令:一般在/bin和/sbin目录中,或为Shell内部指令 应用程序:通常在/usr/bin和/u ...

  5. 【信安学习笔记三】文件上传

    个人学习参考用笔记 目录 前言 一.文件上传 **定义** **危害** **查找及判断** **分类** 二.验证与绕过 前端防护 后端防护 (一)黑名单 (二)白名单 (三)内容及其他 三.漏洞 ...

  6. 信安学习笔记之网络安全:Day-8【ftp和web以及dns服务器的配置、域名访问、交换机技术的综合应用】

    交换机的综合配置: 要求:全网配通 扩展学习: 服务器配置界面: pc机配置界面: DNS服务器的ip配置界面(感觉有DNS就可以先配DNS服务器,方便域名访问): DNS服务器的服务配置界面: ft ...

  7. 信安学习-day16

    VRRP协议原理与配置 一.前言 局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来不可预计的损失,所以可以 ...

  8. 信安学习-day33

    Linux 常用命令 一.Linux命令概述 1.Shell linux系统中运行的一种特殊程序 在用户和内核之间充当"翻译官" 用户登录linux系统时,自动加载一个shell程 ...

  9. 信安学习笔记之网络安全:Day-3【路由器配置、三层交换机与路由器综合】

    1.路由器 路由器的配置3步骤: a.划分网段:路由器的每一个接口都处于不同的网段(路由器是用来隔离网段的) b.配置每个节点IP地址 Router1 Router(config)#interface ...

最新文章

  1. java 应用是单机集群_Java集群优化——使用Dubbo对单一应用服务化改造
  2. LA4234 Binary Clock(进制转换)
  3. 华三防火墙h3cf100配置双宽带_H3C新一代F100系列防火墙评测报告
  4. 服务员就结账了的p8u8
  5. Android Activity概述
  6. siamese改进_[CVPR2019]我对Siamese网络的一点思考(SiamMask)
  7. Windows命令行安装程序管理工具 - Scoop
  8. 在当前图纸中创建一个表格, AcDbTable 类
  9. 大话数据结构 前言
  10. 实验项目一 俄罗斯方块游戏
  11. 基本输入输出系统BIOS
  12. free源码分析---2
  13. PMP考试必备-常见翻译问题(三)
  14. 联想集团:2021/22财年第一季度业绩
  15. C++-容器-string:数字to字符串【std::to_string()】、字符串to数字【std::stoi、stol、stoll、stoul、stoull、stof、stod、stold】
  16. CorelDRAWX4的C++插件开发(四十三)VBA的错误返回机制
  17. 微信公众号教程(18)微信音乐播放器开发 上
  18. Android 跑马灯的方法
  19. js的NaN和isNaN
  20. jquery设置checkbox选中和未选中的方式

热门文章

  1. java中的 输入 方法
  2. 将ESXI上的虚拟机导出为OVF模板
  3. libvirt零知识学习3 —— libvirt源码编译安装(1)
  4. java变短加密解密算法_java----加密/解密常用算法
  5. 分析Perm()函数功能、代码、时间复杂度
  6. weinre远程调试mobile页面
  7. 灰色预测模型及其代码
  8. 大学计算机基础知识电子版,大学计算机基础考试知识点(完整版).pdf
  9. 网络学习 2g 3g 4g 技术对比 带宽理解 三大运营商手机网络模式 (制式)
  10. 用批处理文件检测u盘并进行复制