首页 / 资讯中心 / 文章详情

VLAN划分实战:从广播域隔离到交换机配置与故障排查

VLAN划分实战:从广播域隔离到交换机配置与故障排查 ★ FEATURED ARTICLE
网络卡顿这事儿十有八九不是带宽不够而是网络架构偷懒了。之前我处理过一家做外贸公司的网络问题新办公室搬完两百多台设备全挤在一个二层大广播域里打开抓包软件一看ARP广播每秒好几百条一多半根本没人搭理。老板的第一反应是拉带宽实际问题是整个网络从头到尾没有做过VLAN划分。这篇文章就把VLAN划分这件事从根上捋一遍——它到底解决了什么、底层怎么传输、交换机上怎么配、规划时按什么原则来再加上我这些年踩过的各种和VLAN相关的坑。不管你是刚入行的网管还是准备给公司网络做一次正经改造的IT负责人看这篇都能少走不少弯路。1. 先搞清楚VLAN到底解决了什么问题广播域冲突与安全边界1.1 一个办公室的典型网络困境在没有VLAN的局域网里所有设备天然属于同一个广播域。什么叫广播域就是任何一个数据帧发出来这个范围内所有设备都得停下来听一耳朵判断一下是不是发给自己的。以太网的ARP地址解析、DHCP地址获取、各种设备发现协议全部依赖广播帧。当几百台电脑、打印机、摄像头、无线AP塞进同一个广播域后果就是某台电脑开机全网都得跟着抖一下。我举个生活化的例子公司租了一层大开间办公区所有人没有隔板任何一个人喊一嗓子全楼层都得抬头看。这个人多的房间里你喊谁是张三全楼的人都要停下来看看自己是不是张三。日常交流效率可想而知一旦有人持续大喊大叫整层楼都没法办公。这类问题在现网里的症状很有辨识度高峰时段Ping网关延迟忽高忽低文件服务器访问经常超时某个终端中了招开始大量发ARP包全办公室一起断网。最麻烦的是故障扩散——本来只是一台机器的问题结果整个办公区陪着一起瘫痪。1.2 VLAN是什么物理网络上的逻辑隔间VLAN全称Virtual Local Area Network虚拟局域网。核心思想是在一台物理交换机上用软件把端口划分成多个逻辑上互相独立的二层网络。每个VLAN就是一个独立的广播域VLAN之间默认互不相通。就像那层大开间办公区走廊和大门虽然还在但每个部门都装上了玻璃隔间部门内部的交流不会打扰到其他部门部门之间的走动也要经过门禁。划VLAN带来的直接收益可以总结成一张表收益说明抑制广播广播帧只在所属VLAN内传播其他VLAN完全不受影响安全隔离财务、研发、访客分属不同VLAN二层访问默认被隔离缩小故障半径一个VLAN出问题影响范围被限制在本VLAN内部灵活调整员工工位搬迁无需改物理线缆改一下端口配置就行VLAN的编号范围是1到40940和4095属于保留值。这个数量对绝大多数企业来说绰绰有余普通中小公司规划二三十个VLAN已经非常宽裕。1.3 一个关键认知VLAN是二层概念不是IP概念这是我反复跟团队强调的一点VLAN工作在OSI模型二层数据链路层靠以太网帧里夹带的标签来识别身份而IP子网是三层网络层的划分。日常规划里一个VLAN对应一个IP网段更多是出于管理上的方便并不是协议层面的强制要求。打个比方办公室的玻璃隔间决定了谁和谁在同一间屋子里二层隔离通讯录分组决定了你打电话可以打给谁三层选路。两者经常配套使用但不是一回事。这个认知在排错时非常重要。你把VLAN隔离误当成三层不通去排查方向从一开始就错了后面全是白忙活。2. 抓包看透VLAN的底层语言Access口、Trunk口与802.1Q标签2.1 交换机端口的两副面孔Access与Trunk聊VLAN绕不开端口类型。主流交换机的端口大致分两类Access口和Trunk口有些设备还有Hybrid形态日常场景很少用到这里先不展开。Access口一般用来接终端设备比如电脑、打印机、摄像头。一个Access口只能属于一个VLAN交换机从这个口收到数据帧时会自动给帧打上该VLAN的标签数据从这个口发出去时又会把标签剥掉。终端设备完全感知不到VLAN的存在所以接入侧的配置几乎是零成本。Trunk口则不一样它主要用来连接交换机与交换机、交换机与路由器或防火墙。目的是一条物理链路上同时传输多个VLAN的流量。帧从Trunk口经过时带着802.1Q标签继续走接收端交换机根据标签决定这个帧该进哪个VLAN。类比一下Access口是员工自己的门禁卡只能开自己部门那一扇门Trunk口是物业的万能卡所有门都能开但每过一道门都会在门禁系统留下记录这个记录就是标签。2.2 802.1Q标签藏在以太网帧里的四字节信息VLAN技术最终落地在802.1Q标准上这是IEEE定义的VLAN封装规范。标准以太网帧由目标MAC、源MAC、以太类型、数据和帧校验组成。802.1Q在源MAC地址和以太类型之间插入了4个字节的Tag。这4个字节分成两部分前两个字节是TPIDTag Protocol Identifier固定为0x8100作用是告诉交换机这个帧带VLAN标签后两个字节是TCITag Control Information里面包含3比特的优先级PCP、1比特的丢包指示DEI和12比特的VLAN编号VID。字段比特数含义TPID16固定0x8100VLAN帧标识PCP3802.1p优先级用于QoSDEI1丢包指示VID12VLAN编号取值1-4094正是因为VID只有12位VLAN编号最大就是4094。这里有个容易被忽略的细节打上标签之后以太网帧的最大长度从1518字节变成了1522字节。日常接入网环境里影响不大但如果你在做巨型帧或者某些隧道封装接口MTU必须把这个4字节算进去否则就会出现小包通、大包不通的疑难杂症。2.3 PVID交换机如何处理无标签帧再往深处走一步交换机收到不带标签的帧时怎么知道它属于哪个VLAN答案是PVID也就是Port VLAN ID端口默认VLAN号。Access口的PVID通常就是它所属的那个VLAN所以从终端进来的无标签帧会被自动归入对应VLAN。Trunk口也有一个PVID对应业界常说的Native VLAN本征VLAN。Trunk口两端交换机的PVID必须保持一致否则无标签帧会走错房间。实际项目里因为PVID不一致导致的故障我碰到过不止一次。尤其是不同厂商的设备互联时两端Native VLAN默认值都是1平时相安无事一旦有人把某一端的Native VLAN改成其他值另一端发过来的无标签帧就进了错误VLAN而且排查起来相当隐蔽——配置看着都对就是流量走错路。所以配置Trunk口时不只要看允许的VLAN列表还要核对两端的PVID。3. 在真实交换机上完成一次VLAN划分从登录到验证3.1 划分前的准备设备清单与规划表动手之前先把账算清楚。我每次做VLAN改造前都会先画一张表列清楚每台设备的物理位置、接入交换机的端口号、要划到哪个VLAN、对应什么IP网段。没有这张表配置到一半就容易乱几十个端口的接入交换机配错一个端口就是某个办公室断网半小时。规划表大致长这样楼栋/楼层交换机端口用途VLANIP网段A栋3层GE0/0/1-8财务部20192.168.20.0/24A栋3层GE0/0/9-16人事行政10192.168.10.0/24A栋3层GE0/0/17-24会议室预留60192.168.60.0/24另外改配置之前务必备份一份现网配置。交换机的命令行里误操作一个回车就可能让整段业务中断。配置前保存、配置中分步操作、配置后再次保存这是网工最基本的职业习惯。3.2 配置步骤创建VLAN、划分Access口、放行Trunk以一台普通企业级交换机为例配置逻辑如下。不同厂商的命令措辞略有差异但整体思路完全一致。# 创建VLAN并命名 vlan 10 name Office vlan 20 name Finance vlan 30 name Guest # 将端口GE0/0/1-8划分到VLAN10Access方式 interface GigabitEthernet0/0/1 port link-type access port default vlan 10 # 交换机互联端口放行多个VLANTrunk方式 interface GigabitEthernet0/0/24 port link-type trunk port trunk allow-pass vlan 10 20 30这里有几个容易翻车的点端口出厂时默认都待在VLAN1里面如果你只给端口配置了默认VLAN但没改端口类型实际不一定生效Trunk口如果忘了放行某个VLAN那个VLAN的流量就断。我建议一个端口配完就检查一个不要攒一堆配置再回头看。3.3 管理VLAN远程维护的生命线如果你需要远程管理交换机管理IP所在的VLAN一定要单独规划。我习惯把管理VLAN单独划出来比如VLAN100所有交换机的管理地址都放进去。这样即使某个业务VLAN出了状况只要管理VLAN还通着你就还能远程登录设备去做修复。这个坑我印象很深很多人图省事把管理IP放在业务VLAN里。结果业务VLAN出现广播风暴或者二层环路管理地址跟着一起失联你连不上设备只能大半夜跑机房现场处理。单独的管理VLAN能把管理通道和业务故障有效隔离开这是花最小的成本给自己留一条救命通道。3.4 验证VLAN划分命令、ping与抓包配置完成后验证是必须的。先看VLAN表show vlan brief show interfaces trunk第一条命令确认VLAN是否创建成功、哪些端口归属哪个VLAN第二条命令确认Trunk口放行的VLAN列表是否正确。终端侧把IP改成规划网段先Ping自己的网关通了再Ping对端机器。同VLAN能通、跨VLAN不通那是三层路由的问题继续查路由表和网关配置。如果想看得更直观可以用抓包软件。把笔记本接到Trunk口上抓包能看到带着802.1Q标签的帧过滤表达式写成vlan.id 20就只过滤VLAN20的流量。这是排查跨交换机VLAN问题最直观的手段之一比看配置猜半天高效多了。4. VLAN划分策略按部门、按业务还是按安全级别4.1 三种主流划分思路同一个问题可以给出完全不同的回答VLAN到底按什么来划按部门划分最直观。行政一个VLAN财务一个VLAN研发一个VLAN。优点是沟通成本极低管理层一听就懂缺点也很明显跨部门协作时流量模型会变得复杂一个项目组可能分散在好几个VLAN里权限和策略不好收敛。按业务划分适合业务系统明确的公司。办公网单独一个VLAN生产内网一个VLAN视频会议一个VLAN无线一个VLAN。这种划分跟流量特征强绑定做QoS和限速非常顺手但前期必须把业务清单梳理清楚规划成本偏高。按安全级别划分则更适合有明确等级保护需求的场景。访客区、外协区、办公区、服务器区由低到高逐级隔离。安全思路很清晰低信任区域不主动访问高信任区域。划分思路典型场景优点缺点按部门中小办公网简单直观沟通成本低跨部门流量模型复杂权限难收敛按业务业务系统明确的公司与流量特征匹配QoS易部署前期梳理成本高按安全级别有等级保护需求安全边界清晰最小权限网关和策略配置量大实际上大部分公司最后都是混合策略核心按业务划分办公区按部门适当合并访客独立安全隔离。没必要求全责备够用就行。4.2 一个300人公司的VLAN规划实例拿一次实际咨询项目举例某研发型公司约三百人办公区三个楼层服务器集中在机房访客频繁。最终的VLAN规划如下VLAN用途网段网关说明VLAN 10办公终端192.168.10.0/24192.168.10.1员工PC、打印机VLAN 20财务/人事192.168.20.0/24192.168.20.1敏感部门互访受限VLAN 30监控/IoT192.168.30.0/24192.168.30.1摄像头、门禁禁止外联VLAN 50访客无线192.168.50.0/24192.168.50.1仅能访问互联网VLAN 60视频会议192.168.60.0/24192.168.60.1预留后续可加QoSVLAN 100管理网192.168.100.0/24192.168.100.1交换机管理地址这套方案有几个设计考量财务和人事单独成VLAN减少终端层面的非授权访问尝试监控设备单独隔离真遇到安全事件时可以快速切断访客无线跟内网完全隔离访客连Wi-Fi后只能上网看不到内网任何资源。VLAN编号从10到100留有大量余量后续加新业务不至于处处受限。4.3 关于地址规划与VLAN ID分配的经验法则ID分配我倾向于一句话总结低号给业务高号给管理中间留扩展。VLAN1默认存在尽量别用VLAN2到10留给基础设施和上行链路10到99分配给业务部门100到199放管理网和网络设备200以上留给临时或者项目扩展。网关地址也建议统一要么全用.1要么全用.254。我见过不少公司网关地址东一个西一个排错的时候得翻半天表格。统一之后你去任何一台设备上都能下意识算出默认网关。如果楼栋或者楼层比较多还可以按地理位置预留ID段。比如A栋用1到50B栋用51到100。这样以后看到VLAN号大致就能判断物理位置在哪儿省去不少查表的功夫。这些习惯每一条都不起眼但聚在一起就是实打实的工作效率。5. 跨交换机通信、VLAN间路由与常见故障排查5.1 多台交换机之间的Trunk配置与常见错误一台交换机不可能覆盖所有工位多台交换机级联时级联口必须配置Trunk。注意Trunk两端要同时放行相同的VLAN列表只在一端放行没用。我曾经处理过这样一个问题核心交换机Trunk口放行了VLAN10和20接入交换机只放行了10结果VLAN20在那栋楼里全部不通。配置不一致时报错往往不会出现在配置面上终端用户只会说上不了网你只能逐台设备核对Trunk列表。所以规范化的配置模板和变更记录不是用来应付检查的是真正能省事的。5.2 VLAN间路由二层隔离之后三层如何打通VLAN划分完成之后不同VLAN默认不能二层互通。但实际业务里办公网要访问财务的打印机访客网要禁止访问内网——这些需求得靠三层路由来实现。最常用的方案是三层交换机为每个VLAN配置一个VLANIF接口也叫SVISwitch Virtual Interface这个接口的IP地址就是该VLAN内设备的默认网关。VLAN10的设备把数据包丢给VLAN10的网关三层交换机查路由表转发给VLAN20的网关再送到目标设备。比如VLAN10的网关是192.168.10.1VLAN20的网关是192.168.20.1配置好两个VLANIF后两个网段就能通过三层交换通信了。而访客VLAN如果不希望它访问内网只需要不配置对应路由或者加一条ACL就能堵住。还有一种更老的单臂路由方案用路由器的一个物理接口配多个子接口每个子接口封装802.1Q对应一个VLAN。这种方案受限于路由器转发性能现在基本被三层交换机替代了。另外如果DHCP服务器部署在某个特定VLAN里其他VLAN的终端要自动获取IP交换机需要配置DHCP Relay把终端的广播请求中继到服务器。这个细节经常被遗漏终端显示未识别的网络排查半天才想起来是中继没配。5.3 排查链路VLAN不通的经典场景与排除顺序最后分享几个最常见的VLAN不通场景基本覆盖了我这些年遇到的大部分故障。第1种Access端口划错VLAN。终端IP没错就是不通show vlan确认端口归属就能发现问题。第2种Trunk口没放行目标VLAN。跨交换机时某个VLAN整体不通多半是Trunk的allowed列表漏了。第3种Trunk两端PVID不一致。表现是某些流量走错VLAN抓包才能看出来。第4种网关地址或子网掩码写错。VLAN内部二层都通一访问外网就断重点检查终端的三层配置。第5种级联链路物理异常但没被发现。光模块或者网线降速、双工不匹配导致VLAN间通信时好时坏。先看端口物理状态和错误计数。我的排查顺序固定不变物理链路状态、端口VLAN归属、Trunk放行列表、PVID一致性、终端IP和网关最后一招抓包。按这个顺序来大部分问题能在十分钟内定位。早年我也喜欢上来就抓包现在反而先看交换机的表和状态抓包留作交叉验证效率高很多。VLAN划分这件事难点从来不在命令本身——把端口划进一个VLAN谁都学得会。难的是动手之前想清楚边界哪些流量要在一起哪些要分开未来三五年业务会怎么变化。我见过不少公司一开始随便划了几个VLAN半年后业务调整物理网线全乱套只能对着残缺的规划表重新梳理。规划表不是给领导看的是给你自己下次排错用的。另外一个建议每次改完VLAN配置把变更内容记下来哪怕写在记事本上。网络问题重复性很高这些记录会在某次凌晨排障时救你一命。把这些基础打牢VLAN划分这门课就算真正毕业了。
阅读完成 · 觉得有帮助?
咨询建站