VLAN间路由与DHCP配置实战:单臂路由实现跨网段互通

发布时间:2026/10/22 15:03:17
VLAN间路由与DHCP配置实战:单臂路由实现跨网段互通 做了这么多年网络实验说句实话凡是标题里带“综合实验”三个字的都不是单一知识点的演示而是逼你把前面学的东西串起来用。这篇记录的就是我在模拟环境里完整跑通的一套内网配置实验一台路由器、两台交换机、三个部门网段从零开始划分VLAN、配Trunk、做单臂路由、开DHCP最终让整个内网的终端自动获取地址并且跨网段互通。适合的读者很明确——刚学完网络基础、想动手做综合实验的学生或者刚入行运维、对VLAN间路由还停留在理论层面的朋友。先说结论这套实验表面上是敲命令实际上考的是你对数据帧转发过程的理解。命令总共几十条真正值钱的是你知道每条命令在干什么、数据走到哪一步会出问题。下面我按“需求分析→地址规划→交换机配置→路由器配置→验证测试→问题排查”的顺序把整个实验从头到尾拆开讲。1. 实验想解决什么问题1.1 需求拆解这个实验的设计背景非常典型一家公司内部办公网络以前所有电脑都在同一个网段里IP是管理员手工填的今天这台冲突、明天那台上不了网广播风暴一来全楼卡死。现在要求把办公区、研发区、财务区分成三个独立的广播域互相不能随便广播干扰但是业务上又要允许必要的互访比如财务要访问办公区的打印服务器。翻译成网络需求就是三件事第一用VLAN把终端分组隔离第二用路由器或三层交换机实现VLAN间的路由第三用DHCP让终端自动获取IP省去手工配置。这里特别注意“隔离”和“互通”看起来矛盾其实对应的是不同层的动作——VLAN划分在数据链路层VLAN间路由在网络层。两个部门之间默认不通是因为它们在不同的广播域必须经过网关做路由转发后才允许通信。1.2 网络拓扑与设备角色划分这个实验的物理拓扑不复杂但每个设备角色都必须掰扯清楚。我用的拓扑是一台出口路由器R1、一台核心交换机SW1、两台接入交换机SW2和SW3。R1的物理接口接SW1SW1向下分别接SW2和SW3终端PC挂在接入交换机上。设备角色的划分逻辑是这样的路由器的本职工作就是跨网段转发同时兼任DHCP服务器和终端的网关核心交换机SW1在这里其实不参与路由它更像一个透明的转发枢纽负责把各接入交换机的流量汇聚到路由器上接入交换机SW2、SW3负责把终端划分进对应的VLAN。这里有个常见的疑问既然SW1是核心交换机为什么不让它做VLAN间路由非要绕一圈到路由器答案是这个实验的重点是“路由器交换与配置”要做的是理解单臂路由这种经典模型。生产环境我当然更推荐三层交换机配SVI后面专门会讲对比但实验阶段先把基础模型吃透更重要。2. 地址规划与VLAN划分这一步绝对不能省2.1 为什么必须先规划再动手很多初学者上来就建VLAN、敲IP配置结果VLAN建了三个地址池却互相重叠最后排查半天发现是规划没做。网络实验和写代码不一样代码报错会提示你哪行有问题地址规划错了表现出来的症状五花八门可能是一个网段通、另一个网段不通也可能是DHCP偶尔分配出错的“灵异事件”。所以动手之前我强烈建议先把三张表画出来VLAN与网段对应表、网关地址表、设备接口分配表。这三张表就是整个内网的“施工图纸”后面所有配置都是照着图纸落地。2.2 VLAN与网段设计我的规划是三个部门各占一个C类网段VLAN编号业务用途网段网关地址DHCP地址池VLAN 10办公区192.168.10.0/24192.168.10.1192.168.10.10 - 192.168.10.200VLAN 20研发区192.168.20.0/24192.168.20.1192.168.20.10 - 192.168.20.200VLAN 30财务区192.168.30.0/24192.168.30.1192.168.30.10 - 192.168.30.200每个网段都用24位掩码原因很朴素部门人数几十人C类地址绰绰有余而且网段划分清晰后续加ACL、做路由汇总都方便。网关地址统一用.1这是最广泛的习惯运维排查时一眼就知道网关是谁。DHCP地址池范围刻意从.10开始把.2到.9保留给服务器、打印机等需要固定IP的设备这是从生产环境学到的习惯。2.3 设备接口分配接口分配遵循一个原则终端设备接Access口交换机互联接Trunk口路由器上联也用Trunk口。设备接口类型归属VLAN用途SW2GE0/0/1TrunkVLAN 10 20上联SW1SW2GE0/0/2AccessVLAN 10办公区PC-ASW2GE0/0/3AccessVLAN 20研发区PC-BSW3GE0/0/1TrunkVLAN 30上联SW1SW3GE0/0/2AccessVLAN 30财务区PC-CSW1GE0/0/1TrunkVLAN 10 20下联SW2SW1GE0/0/2TrunkVLAN 30下联SW3SW1GE0/0/3TrunkVLAN 10 20 30上联R1R1GE0/0/0.10子接口VLAN 10网关及DHCPR1GE0/0/0.20子接口VLAN 20网关及DHCPR1GE0/0/0.30子接口VLAN 30网关及DHCP从这张表能看出三层模型接入层做VLAN划分汇聚层做链路汇聚和转发核心层做路由。我们用的设备都是两层的所以路由功能由路由器承担但链路逻辑是一样的。3. 交换机配置重点在Trunk和Access的理解3.1 初始化与批量创建VLAN交换机的配置思路是从全局到接口。先把设备命名便于后期远程管理和日志定位。然后创建VLAN如果VLAN多用批量命令一次搞定。system-view sysname SW1 vlan batch 10 20 30 quitSW2和SW3上同样先改名加建VLAN其中SW3只需要建VLAN 30。这里我特别说明一下核心交换机SW1必须把三个VLAN都创建出来因为它上联路由器的Trunk口要放行全部VLAN接入交换机SW2只需要创建自己下联终端所属的VLANVLAN 30的存在对SW2没有意义。3.2 Access接口配置的坑与细节Access口就是“一根线接一台终端”的接口它只属于一个VLAN。配置Access口时端口默认VLAN就是该端口所属的VLAN。interface GigabitEthernet 0/0/2 port link-type access port default vlan 10这里的关键是理解PVID。交换机从Access口收到不带VLAN标签的帧时会打上这个端口的PVID。也就是说接PC的Access口PVID是10那么PC发来的普通以太网帧进入交换机后就被贴上VLAN 10的标签在整个交换网络中按VLAN 10的规则转发。一个容易踩的坑如果PC连着Access口但端口PVID没设对默认为VLAN 1那么这台PC实际被划分到了VLAN 1跟后面的DHCP、网关都不在一个网段表现就是获取不到IP或者IP网段不对。查这种问题最快的方法是display port vlan看端口实际归属。3.3 Trunk接口配置放行VLAN是灵魂Trunk口用于交换机之间的级联以及交换机与路由器之间的连接。它允许多个VLAN的帧通过通过802.1Q标签区分不同VLAN。interface GigabitEthernet 0/0/1 port link-type trunk port trunk allow-pass vlan 10 20配置Trunk口最容易漏的就是allow-pass vlan这一句。有的设备默认Trunk口只放行VLAN 1如果你只在Trunk口上设置了link-type trunk忘了放行对应VLAN结果就是该VLAN的流量在链路上被丢弃表现是终端能获取到IP如果DHCP在别的设备上通过其他路径通但跨交换机通信时断时续或者彻底不通。我在SW2的上联口放行了VLAN 10和20SW3的上联口放行了VLAN 30SW1的下联口分别对应放行上联R1的口则放行全部三个VLAN。这个放行矩阵只要错一个跨设备通信就会出问题。3.4 验证交换机配置的三条关键命令配置完别急着进行下一步先用显示命令确认状态。我最常用三条display vlan查看VLAN和接口对应关系display port vlan查看端口PVID和允许通过的VLANdisplay link-type?不对应该用display interface trunk或display port trunk。display vlan display port vlan display port trunk如果发现端口归属不对或者Trunk放行列表少了VLAN立即改完再往下走。这一步成本最低等路由器配完了再回头排查你会同时面对好几个可变因素很难定位。4. 路由器配置单臂路由打通VLAN间通信4.1 什么是单臂路由为什么需要子接口交换机划分VLAN后不同VLAN之间的帧是隔离的。要让它们互通必须经过路由器做三层转发。但路由器一个物理接口只有一条链路多个VLAN的流量都从这个口进出怎么区分答案是给物理接口创建子接口每个子接口对应一个VLAN并配置成对应网段的网关IP。这就是“单臂路由”——路由器只用一条物理线路接入交换机却同时作为多个VLAN的网关。关键在于子接口要能做802.1Q封装也就是识别和剥离VLAN标签。数据帧从交换机Trunk口出来时带着VLAN 10的标签路由器的子接口GE0/0/0.10只接收VLAN 10标签的帧剥离标签后做三层转发转发出去时再重新打上目标VLAN的标签。4.2 子接口配置实操先确保物理接口是开启状态然后进入子接口配置VLAN封装和IP地址。system-view sysname R1 interface GigabitEthernet0/0/0 undo shutdown quit interface GigabitEthernet0/0/0.10 dot1q termination vid 10 ip address 192.168.10.1 255.255.255.0 arp broadcast enable quit interface GigabitEthernet0/0/0.20 dot1q termination vid 20 ip address 192.168.20.1 255.255.255.0 arp broadcast enable quit interface GigabitEthernet0/0/0.30 dot1q termination vid 30 ip address 192.168.30.1 255.255.255.0 arp broadcast enable quit这里有两个细节必须讲透。第一个是dot1q termination vid命令它的作用是让子接口只处理指定VLAN的帧这也是为什么子接口配置必须与交换机上VLAN编号严格对应。第二个是arp broadcast enable在子接口上必须手动开启因为子接口默认不处理广播帧而ARP请求是广播不开通的话终端通过网关通信时ARP解析会失败表现就是能获取IP但ping不通网关。4.3 DHCP服务器配置我这个实验把DHCP直接做在路由器上省去单独一台服务器这样内网规模不大时最省事。先开启DHCP全局开关然后为三个VLAN分别创建地址池最后在对应子接口下调用。dhcp enable ip pool vlan10 network 192.168.10.0 mask 255.255.255.0 gateway-list 192.168.10.1 dns-list 114.114.114.114 excluded-ip-address 192.168.10.1 192.168.10.9 lease day 7 hour 0 minute 0 quit ip pool vlan20 network 192.168.20.0 mask 255.255.255.0 gateway-list 192.168.20.1 dns-list 114.114.114.114 excluded-ip-address 192.168.20.1 192.168.20.9 lease day 7 hour 0 minute 0 quit ip pool vlan30 network 192.168.30.0 mask 255.255.255.0 gateway-list 192.168.30.1 dns-list 114.114.114.114 excluded-ip-address 192.168.30.1 192.168.30.9 lease day 7 hour 0 minute 0 quit interface GigabitEthernet0/0/0.10 dhcp select global quit interface GigabitEthernet0/0/0.20 dhcp select global quit interface GigabitEthernet0/0/0.30 dhcp select global quit配置里有两个容易忽略的点。第一excluded-ip-address把网关和网段前九个地址排除了。有人会问DHCP默认不分出自己但如果网关是.1而你没排除.1在某些设备实现下会出现地址重叠冲突所以建议明确排除。第二dns-list这里我填的是公共DNS实验环境无所谓但生产环境建议填公司内部的DNS解析服务器否则内网域名解析会出问题。有个很容易犯的错误地址池network和对应子接口的网段不一致比如地址池写的是192.168.10.0/24子接口却是192.168.20.1/24。DHCP报文到达子接口后路由器查看全局地址池找不到与接口网段匹配的池子直接不响应。查这个问题的命令是display ip pool看地址池是否被接口正确引用。4.4 拓展知识三层交换机的SVI方案单臂路由的优点是把路由功能集中在一台设备上配置清晰适合教学和小规模场景。但它有个明显问题所有跨VLAN流量都要经过路由器的单条物理链路带宽只有1G或百兆流量一大就成了瓶颈。生产环境更常用的是三层交换机方案在交换机上创建VLANIF接口SVI配置IP后交换机自己就能路由不用外接路由器。配置思路是VLAN 10、20、30各建一个VLANIF配对应网段的网关地址最后一台三层交换机就是所有终端的网关。这个方案下DHCP可以继续在路由器或单独服务器上做也可以在三层交换机上做灵活得多。所以我的结论是如果你是为了应付实验、理解原理单臂路由绝佳如果你是在真实企业里规划内网优先上三层交换机。两种方案的转发本质是相同的都是查路由表、改写MAC、下一跳转发。5. 连通性测试与验证结果5.1 测试步骤与预期结果配置完成后验证环节必须按层级递进不要跳着测。我的测试顺序是先验证终端DHCP获取再验证网关连通性然后验证同VLAN互通最后验证跨VLAN互通。三台PC分别接在SW2和SW3上全部设为自动获取IP。启动后分别查看获取结果ipconfig正常的话PC-A拿到192.168.10.x、PC-B拿到192.168.20.x、PC-C拿到192.168.30.x并且网关分别是.1地址。如果哪台获取的地址不在预期网段先查接入交换机端口PVID大概率是Access口default VLAN没配对。接着ping网关验证上行链路和路由器子接口。从PC-A执行ping 192.168.10.1通了说明PC到路由器VLAN 10子接口的链路OK。然后PC-A ping同VLAN的终端如果还有第二台PC在同一VLAN验证接入层的二层转发。最后是重头戏跨VLAN互通测试ping 192.168.20.1 ping 192.168.30.1 ping 192.168.20.2 ping 192.168.30.2前两条通说明VLAN间路由路径建立后两条通说明实际终端之间的数据转发没问题。我测试时全部通过第一次延时略高之后稳定在1ms以内符合预期。5.2 抓包看数据帧的转发过程如果你手头有抓包工具建议在路由器和交换机之间的Trunk链路抓一下。你会发现跨VLAN通信时数据帧在Trunk链路上是带802.1Q标签的一共会出现四次MAC地址变化具体来说就是PC-A发帧给网关MAC经过交换机Trunk链路到达路由器路由器剥离标签后将帧转发到目标VLAN重新封装目的MAC为PC-C的MAC再通过Trunk链路到达SW3SW3从Access口剥离标签后交给PC-C。这个过程看起来复杂但理解了它你就真正理解了VLAN间通信的本质跨网段通信必须经过网关做路由帧每经过一个三层设备源和目的MAC都会被改写而IP地址在整个过程中保持不变。这也是为什么配路由器子接口时IP和MAC两个问题都要处理好。5.3 抓包常见现象的判断如果在Trunk链路抓包时只看到某个VLAN的帧频繁出现ARP请求没有数据帧说明路由或ARP解析存在问题重点查子接口是否开启arp broadcast enable。如果看到大量重复的广播帧说明VLAN划分没生效或者Trunk放行了多余的VLAN广播域没有被隔离干净。6. 常见问题与排查实录6.1 问题速查表把我在实验过程中遇到过、以及帮别人排查过的问题整理成一张表你遇到类似情况可以直接对照。症状可能原因排查命令/动作终端获取不到IP地址全局dhcp enable没开地址池和子接口网段不匹配接入交换机端口PVID错误display ip pooldisplay dhcp server statisticsdisplay port vlan获取的IP网段不对PC接错了Access口端口default vlan没配置或配置错误display port vlan能ping通网关跨VLAN不通子接口IP配置错误路由表缺失子接口没开启arp broadcast enabledisplay ip routing-tabledisplay interface GigabitEthernet 0/0/0.10同VLAN跨交换机不通Trunk口未放行该VLAN两端Trunk配置不一致display port trunk某些VLAN通、某些VLAN不通Trunk放行列表遗漏子接口或地址池存在单个VLAN的配置错误逐VLAN检查配置ping网关时通时不通Trunk链路协商异常物理接口或网线接触不良双工模式不匹配display interface GigabitEthernet 0/0/1DNS解析失败但ping IP通dns-list配置错误终端获取的DNS不是内网可用的DNSipconfig /all6.2 定位问题的一套通用排查顺序我自己的排查习惯是从底向上、从物理到逻辑跟你分享这套顺序。第一步看物理接口状态接口down一切免谈第二步看VLAN配置确认终端所属VLAN正确、Trunk放行完整第三步看三层接口子接口IP、路由表、ARP表是否正常第四步看DHCP地址池和接口是否匹配、租约是否正常。这套顺序能避免你一把梭式地乱试每次只改动一个变量定位问题会快得多。我特别想提醒的是很多人遇到问题喜欢反复重启服务或重敲配置这其实不如静下心来看显示命令的输出。设备状态是客观的display命令的输出会把问题指向清清楚楚地告诉你。有一次我一台PC怎么都拿不到IP最后查出来是二层交换机上这个端口的PVID被之前实验改成了别的数值Access口配了default vlan 10但PVID和default vlan不一致导致DHCP discover报文没进入正确的VLAN这种情况不改配置根本看不出来。6.3 两个我亲测有效的技巧第一个技巧抓包永远比猜快。我遇到疑难问题只要在关键链路放一个端口镜像抓包立刻能定位是二层问题、三层问题还是DHCP问题。第二个技巧配完一台设备马上验证不要全部配完再验证。我在交换机上配完VLAN就先display vlan配完Trunk就先display port trunk路由器和DHCP配置完也是立刻看状态分段验证的好处是问题永远在你刚操作过的部分几乎不可能出现那种需要全盘排查的僵局。关于实验环境我是在虚拟网络模拟器里跑通的软件模拟的逻辑和真实设备基本一致。如果你准备在真实设备上复现唯一要注意的是设备型号不同命令细节会有差异——比如有的设备子接口封装命令是encapsulation dot1q有的是dot1q termination vid含义相同但写法不同别死记命令要理解它做的事情是“让子接口识别第几个VLAN的标签”。这个实验做完正好卡在整套综合实验的中间节点上下一步自然是外网部分——出口地址转换、默认路由指向运营商、加上访问控制策略。内网这部分打通相当于房子的骨架和水电管线都铺好了后面剩下的就是装门窗和刷墙。但我得说真正干活的时候内网配置永远是最花心思的部分因为所有上层应用都踩在这张网上地址规划差了将来扩容和排障都会很难受。希望这篇能帮你少走点弯路。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询