ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

VLAN+链路聚合+静态路由:企业级网络综合组网实战指南

VLAN+链路聚合+静态路由:企业级网络综合组网实战指南 1. 从一个真实组网需求说起为什么要把VLAN、链路聚合和静态路由放在一起用很多刚接触企业级网络的朋友会有个疑问交换机上划VLAN我懂链路聚合我也懂路由器上写静态路由我也懂但把这三样东西凑到一张拓扑里就有点懵了。我当初也是这个状态单独配一个都能跑通一旦组合起来不是聚合口起不来就是VLAN间通了但出不去外网要么就是路由写了但回包回不来。这篇文章就围绕一个典型的“接入-汇聚-出口”三层结构把VLAN划分、链路聚合Eth-Trunk/LACP、路由器静态路由这三块内容串起来讲。核心目标很明确让不同VLAN里的终端能互相通信同时能通过路由器访问外部网络并且交换机之间的互联链路要具备冗余和带宽叠加能力。适合谁看如果你正在准备网络相关的认证考试或者刚入职需要独立完成一个小型办公网络的搭建又或者你已经在做运维但一直靠“照着模板敲命令”而没搞懂背后的逻辑那这篇内容应该能帮到你。我会尽量把每一步“为什么这么做”讲清楚而不是只丢一堆配置命令让你抄。先明确一下实验拓扑的逻辑结构两台交换机做链路聚合互联交换机上划分多个VLAN每个VLAN对应一个网段其中一台交换机作为汇聚通过一条独立链路连接路由器的某个接口路由器再通过另一个接口连接模拟的外网。终端分别接入不同交换机的不同VLAN最终要实现全网互通加外网可达。这个拓扑虽然不大但覆盖了企业网络中最基础的几个技术点而且每个技术点之间都有依赖关系——VLAN是基础聚合是优化静态路由是打通三层的关键。任何一个环节出问题整个网络就不通。所以它非常适合用来做综合练习。2. VLAN划分不是随便切几刀就完事网段规划与接口类型选择2.1 先想清楚要几个VLAN、每个VLAN放什么很多人上手就急着敲vlan batch但其实第一步应该是拿张纸画一下这个网络里有哪些类型的终端它们之间需不需要二层隔离每个VLAN大概多少人需不需要DHCP以我这次做的模拟环境为例假设是一个小型办公场景划分了三个VLANVLAN 10行政办公区网段 192.168.10.0/24网关 192.168.10.1VLAN 20技术部门网段 192.168.20.0/24网关 192.168.20.1VLAN 30服务器区网段 192.168.30.0/24网关 192.168.30.1为什么用/24因为小型网络里终端数量一般不会超过254个/24的掩码写起来简单排错也直观。如果你划分的VLAN超过五个建议用/23或者做更细的规划不然后面写ACL或者做路由汇总的时候地址空间会很碎。网关放在哪里在这个拓扑里网关统一放在汇聚交换机上通过VLANIF接口实现。这样做的好处是VLAN间的三层转发由交换机完成速度快不消耗路由器的接口资源。路由器只负责处理去往外网的流量职责清晰。2.2 Access口和Trunk口的配置逻辑接入终端的接口配成Access口这个没什么争议。关键在交换机之间的互联接口——它必须配成Trunk口并且要允许所有需要的VLAN通过。这里有个容易踩的坑华为交换机Trunk口默认只允许VLAN 1通过如果你不手动放行VLAN 10、20、30那跨交换机的同VLAN终端就通不了。配置命令是port trunk allow-pass vlan 10 20 30或者偷懒写port trunk allow-pass vlan all也行但生产环境不建议用all万一后面加了不该加的VLAN容易出安全问题。还有一个细节PVID端口默认VLAN ID。Access口的PVID就是它所属的VLAN这个好理解。Trunk口的PVID默认是VLAN 1一般不需要改。但如果你改了Trunk口的PVID那不带标签的帧就会被划到那个VLAN里容易造成混乱。我个人的习惯是除非有特殊需求Trunk口的PVID保持默认不去动它。2.3 VLANIF接口三层转发的关键VLANIF接口是交换机上实现VLAN间路由的核心。每个需要互通的三层VLAN都要创建一个对应的VLANIF接口并配上IP地址作为网关。配置的时候注意两点第一VLANIF接口的IP地址就是该VLAN内终端的默认网关所以终端的网关地址必须和VLANIF地址一致第二VLANIF接口的状态依赖于该VLAN下是否存在UP状态的物理端口。如果你创建了VLANIF但发现协议状态是Down先检查一下有没有把任何一个接口划进这个VLAN。我见过有朋友把VLANIF的地址配错了网段比如VLAN 10的VLANIF配了192.168.20.1结果VLAN 10的终端网关指向192.168.10.1怎么都不通。这种低级错误排查起来反而费时间所以配完以后一定要display ip interface brief确认一下每个VLANIF的地址和状态。3. 链路聚合不只是把两根线绑在一起那么简单3.1 为什么需要链路聚合两台交换机之间如果只连一根线会有两个问题一是带宽受限千兆线只能跑千兆二是没有冗余线断了或者接口坏了整个链路就断了。链路聚合把多条物理链路捆绑成一条逻辑链路带来三个好处带宽叠加两根千兆变两千兆、冗余备份断一根不影响、负载分担流量分散到多条物理链路上。这三个好处里冗余是最核心的价值带宽叠加是附带的。但要注意链路聚合的带宽叠加不是简单的112。实际能跑多少取决于流量模型和负载分担算法。如果所有流量都是同一个源IP到同一个目的IP那默认的负载分担算法通常基于源目MAC或源目IP可能只走其中一条链路另一条闲着。所以聚合口的负载分担效果跟你的流量特征强相关。3.2 手工聚合 vs LACP聚合选哪个华为交换机支持两种链路聚合模式手工负载分担模式和LACP模式。手工模式mode manual load-balance的优点是配置简单不依赖对端是否支持LACP只要两端都配成手工模式就能起来。缺点是没有任何协商机制如果一端配错了另一端可能检测不到容易出现环路或者流量黑洞。LACP模式mode lacp-static通过LACPDU报文进行协商能检测链路故障和对端配置是否匹配。如果一端配了LACP而另一端没配聚合口就起不来这样反而能提前暴露配置错误。我的建议是如果两端设备都支持LACP优先用LACP模式。虽然多敲几条命令但排错的时候能省很多事。手工模式适合对接一些老旧设备或者不支持LACP的场景。3.3 聚合口配置的完整流程与常见报错以华为交换机为例配置链路聚合的步骤大致如下interface Eth-Trunk 1 mode lacp-static port link-type trunk port trunk allow-pass vlan 10 20 30然后在物理接口下加入聚合组interface GigabitEthernet 0/0/1 eth-trunk 1 interface GigabitEthernet 0/0/2 eth-trunk 1这里有几个容易出问题的地方第一物理接口加入聚合组之前必须先清空它原有的配置。如果接口上已经配了IP地址或者被划入了某个VLAN直接eth-trunk会报错。正确做法是先clear configuration interface GigabitEthernet 0/0/1然后再加入。第二聚合口两端的模式必须匹配。一端是LACP另一端也必须是LACP一端是手工另一端也必须是手工。不匹配的话LACP模式下聚合口起不来手工模式下可能起来但流量异常。第三聚合口下的VLAN配置要和物理链路一致。如果你在Eth-Trunk口下放行了VLAN 10、20、30但物理接口上没做任何限制那实际生效的是聚合口的配置。但为了清晰建议物理接口保持默认配置所有VLAN相关的配置都在聚合口上做。第四检查聚合口状态用display eth-trunk 1能看到成员接口的状态和活动链路数量。如果某个成员口的状态是Unselected说明它没有参与流量转发需要检查链路或者配置。3.4 负载分担模式的选择华为交换机默认的负载分担模式是src-dst-mac也就是根据源MAC和目的MAC做哈希。在大多数场景下这个够用了。但如果你发现聚合口流量严重不均可以考虑改成src-dst-ip或者src-dst-port。修改命令是load-balance src-dst-ip在Eth-Trunk接口下执行。不过要注意修改负载分担模式会导致短暂的流量中断生产环境建议在维护窗口操作。我个人的经验是如果网络里主要是南北向流量终端到服务器用src-dst-ip效果比较好如果是东西向流量服务器之间可能src-dst-mac更合适。但这个没有绝对最好根据实际流量观察来调整。4. 静态路由看似简单但写不对就是不通4.1 路由器上的接口配置与路由表逻辑路由器在这个拓扑里承担的是“出口网关”的角色。它至少需要两个三层接口一个连接汇聚交换机内网口一个连接外网外网口。内网口配一个和交换机互联的网段比如192.168.1.0/30。为什么用/30因为点对点链路只需要两个可用地址/30正好提供两个不浪费地址空间。外网口配一个模拟的公网地址比如100.1.1.1/30。路由器要能转发内网各VLAN的流量就必须知道去往192.168.10.0/24、192.168.20.0/24、192.168.30.0/24这些网段的路由。有两种方式一是写静态路由指向交换机二是跑动态路由协议。在这个规模下静态路由更简单直接。配置大概是这样的ip route-static 192.168.10.0 255.255.255.0 192.168.1.2 ip route-static 192.168.20.0 255.255.255.0 192.168.1.2 ip route-static 192.168.30.0 255.255.255.0 192.168.1.2其中192.168.1.2是交换机上对应VLANIF的地址或者专门用于互联的VLANIF地址。4.2 回程路由最容易被忽略的一环很多人配完路由器的静态路由发现内网能ping通路由器内网口但ping不通外网或者外网ping不通内网。问题往往出在回程路由上。交换机需要知道去往外网的流量往哪里送。如果交换机上没有默认路由指向路由器那内网终端访问外网的包到了交换机就被丢弃了。所以交换机上必须配一条默认路由ip route-static 0.0.0.0 0.0.0.0 192.168.1.1其中192.168.1.1是路由器内网口的地址。这就是“有去有回”的原则去的方向有路由回的方向也要有路由。只配一边流量就是单向的表现为“能发出去但收不到回应”。4.3 路由优先级与浮动静态路由静态路由默认优先级是60。如果你有两条出口链路可以配两条默认路由一条主用一条备用通过修改优先级实现浮动ip route-static 0.0.0.0 0.0.0.0 192.168.1.1 preference 60 ip route-static 0.0.0.0 0.0.0.0 192.168.2.1 preference 100这样主链路正常时走第一条主链路故障时第二条自动生效。但要注意静态路由不会自动检测链路状态如果主链路物理层是UP但上层不通浮动路由不会切换。这种场景需要配合BFD或者NQA来做链路检测。4.4 路由汇总与精确匹配如果你内网有多个连续的网段比如192.168.10.0/24到192.168.30.0/24可以在路由器上写一条汇总路由ip route-static 192.168.0.0 255.255.0.0 192.168.1.2但这样会把192.168.0.0/16整个网段都指向交换机如果后面有别的网段也用这个范围可能会出问题。所以汇总要谨慎确保汇总范围内的所有子网确实都在同一个下一跳方向。另一个原则是“最长匹配优先”。如果路由器上同时有一条/16的汇总路由和一条/24的明细路由去往/24网段的流量会匹配明细路由。所以你可以用汇总路由做兜底用明细路由做精确控制。5. 联调排错从“不通”到“通”的完整排查链路5.1 先查二层还是先查三层网络不通的时候最忌讳东查一下西查一下。我的习惯是先确认物理层和二层通不通再查三层。具体步骤display interface brief看接口状态确认物理口和聚合口都是UPdisplay eth-trunk 1确认聚合口成员都在位display vlan确认VLAN创建了接口划进去了display port vlan确认Trunk口放行了正确的VLAN如果二层没问题再查三层display ip interface brief确认VLANIF和物理口的IP地址正确display ip routing-table确认路由表里有需要的路由从网关开始逐跳ping定位断点5.2 几个典型故障场景与修复场景一同VLAN跨交换机不通。大概率是Trunk口没放行该VLAN。检查两端Trunk口的allow-pass vlan列表确保包含目标VLAN。场景二VLAN间不通。检查VLANIF接口是否创建、是否UP、IP是否正确。如果VLANIF是Down的检查该VLAN下有没有UP的物理端口。场景三内网通但外网不通。检查交换机上有没有默认路由路由器上有没有回程路由。在路由器上display ip routing-table看有没有去往内网各网段的路由。场景四聚合口起不来。检查两端模式是否匹配物理接口是否已清空配置成员口数量是否一致。LACP模式下还要看系统优先级和端口优先级。场景五能ping通但丢包严重。可能是聚合口负载分担不均或者某条成员链路有问题但没被踢出。用display eth-trunk 1看各成员口的收发统计如果某条链路只有收没有发或者错误包很多重点检查那条链路。5.3 用ping和tracert定位断点ping是最基本的工具但要注意源地址的选择。在交换机上ping的时候如果不指定源地址默认用出接口的IP。有时候出接口IP和你要测试的源网段不一致会导致ping不通但实际业务是通的。所以建议用ping -a 源地址 目的地址来指定源。tracert能看到每一跳的地址快速定位是在哪一跳断的。如果第一跳就断了说明网关有问题如果到了路由器但出不去说明路由器的外网路由有问题。6. 配置之外的思考这套方案适合什么场景不适合什么场景6.1 适用场景与规模边界这套“VLAN链路聚合静态路由”的组合最适合的是小型办公网络或者实验室环境。终端数量在200台以内VLAN数量不超过10个出口只有一条或者两条链路。这种规模下静态路由的维护成本很低不需要引入OSPF或者BGP这些动态路由协议。链路聚合在这里的价值主要是冗余和带宽叠加。如果你的交换机之间只有一条千兆线而且流量不大那聚合的收益不明显。但如果有多台服务器或者大量终端同时访问聚合带来的带宽提升就很实在了。6.2 什么时候该考虑动态路由当你的网络出现以下特征时静态路由就会变得难以维护网段数量超过20个每次新增网段都要在所有路由器上手动加路由有多条出口链路需要根据链路质量动态切换网络拓扑经常变化比如经常增加或移除节点这时候应该考虑OSPF或者IS-IS。动态路由能自动学习拓扑变化减少人工维护成本。但代价是配置复杂度上升排错难度也增加。所以不是越大越好而是够用就好。6.3 安全层面的基本考虑在这个拓扑里VLAN本身就提供了一定的二层隔离。不同VLAN的终端默认不能直接通信必须经过三层转发。你可以在VLANIF或者路由器的接口上配ACL控制哪些VLAN能访问哪些资源。比如服务器区VLAN 30可以限制只有技术部门VLAN 20能访问行政VLAN 10不能访问。这种基于VLAN的访问控制比在每台终端上装防火墙软件要高效得多。另外Trunk口上建议关闭不必要的VLAN只放行需要的。聚合口上可以配port trunk allow-pass vlan 10 20 30而不是all减少潜在的攻击面。7. 我在实际配置中踩过的几个坑第一个坑聚合口配好了但忘了在聚合口上配Trunk。结果物理口是Trunk聚合口是Access流量到了聚合口就被打上了错误的VLAN标签导致跨交换机不通。后来养成习惯创建Eth-Trunk之后第一件事就是配port link-type trunk和allow-pass vlan。第二个坑静态路由写了但下一跳地址写成了对端接口的IP而对端接口恰好是聚合口的一个成员口。结果聚合口切换成员的时候路由就失效了。正确做法是下一跳指向对端的VLANIF地址或者聚合口的IP而不是物理成员口的IP。第三个坑VLANIF的IP和终端的网关配成了同一个地址但掩码写错了。终端配的是/24VLANIF配的是/25结果一部分终端能通一部分不通。这种掩码不匹配的问题很隐蔽因为ping网关能通但跨网段就不行。后来我养成了一个习惯配完IP之后一定用display ip interface brief核对掩码。第四个坑LACP模式下一端配了mode lacp-static另一端忘了配结果聚合口一直起不来。排查了半天才发现是模式不匹配。所以现在配聚合之前先确认两端模式一致再配其他参数。这些坑说起来都不复杂但在实际环境里一旦遇到如果不知道排查方向很容易卡住。希望我踩过的这些坑能帮你省点时间。8. 写在最后一些实用的检查清单配完这套网络之后我一般会按下面的清单过一遍确认没有遗漏所有VLAN都创建了接口划分正确Trunk口放行了所有需要的VLAN聚合口两端模式一致成员口状态都是Selected每个VLANIF的IP地址和掩码正确状态是UP交换机上有默认路由指向路由器路由器上有去往所有内网网段的静态路由终端网关指向正确的VLANIF地址从每个VLAN的终端都能ping通网关、ping通其他VLAN的终端、ping通外网这套流程走下来基本能覆盖90%以上的配置问题。剩下的10%通常是物理链路或者终端本身的问题那就需要替换法来排查了。网络这东西配通了不难难的是不通的时候知道去哪里找原因。希望这篇内容能帮你在遇到问题的时候有一个清晰的排查思路而不是对着黑底白字的命令行发呆。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表