华为路由器交换机VLAN配置实例:从端口类型到单臂路由完整指南

发布时间:2026/10/8 1:37:57
华为路由器交换机VLAN配置实例:从端口类型到单臂路由完整指南 简介面向从事网络运维、正在备考HCIA/HCIP认证的工程师人群提供一份以华为路由器R2621与交换机S3026e组建虚拟局域网的完整VLAN配置案例重点解决VLAN划分、VLAN间路由及访问控制落地问题。内容先给出四台PC的IP地址、掩码与网关规划再逐步演示交换机划分VLAN2、VLAN3并将指定端口加入对应VLAN随后配置路由器两个以太网接口地址最后落地防火墙默认拒绝策略与ACL规则允许指定主机互访并阻断其余流量形成一套安全可控的VLAN间通信方案。文档给出完整命令行序列涵盖划分VLAN、查看VLAN信息、配置接口IP、设置防火墙默认deny、定义并应用ACL等关键环节读者可一步步复现整个配置过程对日常运维排错和认证实验均具参考价值。资源为单个PDF文件内容紧凑仅141KB方便随时查阅。已有1568人学习下载属于快速理解华为VLAN与ACL配置思路、可直接套用到实验和现网调试的高性价比资料。1. 华为路由器交换机VLAN配置实例先搞清楚它解决的是什么问题一个典型场景公司要求财务部和研发部在二层彻底隔离但两头都要上外网。你手里有一台华为AR路由器、一台S5700交换机还拿到一份标题叫“华为路由器交换机VLAN配置实例.pdf”的资料很多人第一反应是照着PDF开敲结果敲完发现连网关都ping不通。反直觉的是VLAN配置真正卡人的不是vlan batch那串关键字而是端口类型选错、路由器子接口忘开ARP广播、交换机上联口PVID与路由器不一致这三类小事。这份配置实例通常就是把“交换机划VLAN 路由器做网关”这件事完整落地给你一张拓扑、一组命令和一套验证方法。适合刚接手华为设备的运维、备考HCIA-Datacom的考生以及想用eNSP在电脑上把VLAN划分复现出来的初学者。2. 配置前的三个决定VLAN划分、端口类型与三层接口选型2.1 为什么先画一张接口VLAN对照表比先敲命令重要华为设备上的VLAN配置本质是把一个物理局域网切成多个广播域。交换机切完以后不同VLAN之间仍然是隔离的想让两个部门都能访问各自服务器就得靠路由器或三层交换机做网关。常见做法是先拿一张纸把设备、接口、VLAN、IP网段对应起来画成一张“接口VLAN对照表”否则后面命令越敲越乱。我用的最典型拓扑一台华为AR路由器通过GigabitEthernet0/0/0接一台S5700交换机交换机GE0/0/1是上联口GE0/0/2和GE0/0/3分别接两台PC。PC1属于VLAN 10PC2属于VLAN 20。先把表填清楚设备接口VLAN网段网关端口类型PC1eth010192.168.10.0/24192.168.10.254accessPC2eth020192.168.20.0/24192.168.20.254access交换机上行GE0/0/110, 20--trunk路由器下行GE0/0/010, 20--子接口dot1q这张表里最容易被忽略的是“端口类型”这一列。access口只处理不带标签的帧用来接PC和打印机trunk口带标签转发用来连接交换机之间或交换机到路由器华为还有hybrid口默认放通所有VLAN可以既接终端又做级联但配置混用以后很难排查。我一般建议新手固定思维终端一律access级联一律trunk先别碰hybrid等真正需要节省接口时再回头研究它。2.2 access、trunk、hybrid华为端口类型到底怎么影响数据帧数据帧在华为设备上怎么走决定了很多故障的排查方向。access口收到不带标签的帧时会给它打上PVID对应的VLAN标签转发出去时再把标签剥掉所以PC端永远看不到VLAN标签。trunk口收到不带标签的帧同样打PVID标签但收到带标签的帧时会先检查这个VLAN是否在放行列表里放行则收不放行则丢转发时除PVID对应VLAN可剥标签外其他VLAN都带标签转发。华为trunk口默认PVID是VLAN 1且默认只放通VLAN 1。很多人配完port trunk allow-pass vlan 10 20以后以为完事了没注意PVID还是1。这时如果上游交换机发来不带标签的帧本机会把它当成VLAN 1并不会进VLAN 10。对比一下三种端口的处理差异端口类型收到无标签帧收到带标签帧转发出去access打PVID标签标签PVID则收否则丢剥掉标签trunk打PVID标签在放行列表则收否则丢PVID对应VLAN剥标签其余带标签hybrid打PVID标签按tagged/untagged规则收按配置决定是否剥标签华为hybrid口默认放通所有VLAN这是它和trunk最大的区别。不少人在两台交换机级联时图省事一端配trunk一端配hybrid以为都是放通VLAN 10和20就行结果VLAN 10通、VLAN 20不通。原因就是hybrid和trunk对PVID以外VLAN的标签处理策略不一样。所以现网里我坚持两端端口类型对称要么都是trunk要么都是hybrid不能混搭。2.3 三层选型VLANIF还是子接口VLAN只是把二层隔开网关必须落在三层。这里有两个常见做法如果手头是华为三层交换机直接在交换机上创建VLANIF让设备自己同时承担二层交换和三层网关PC网关指向VLANIF地址就行。如果只有AR路由器加二层交换机就要在连接交换机的那个物理口上拆出子接口每个VLAN一个子接口这就是单臂路由。选型理由不复杂VLANIF方案转发效率高、配置集中适合交换机本身支持三层转发的组网子接口方案适合手头只有二层交换机、靠路由器兼任网关的小型网络。AR路由器接口默认工作在三层模式配子接口时物理接口本身不要配IP子接口里必须写dot1q termination vid和arp broadcast enable。这两个命令是华为与思科差异最大的地方思科习惯用encapsulation dot1q华为则明确声明终结哪个VLAN以及是否允许ARP广播通过。多数人第一次配单臂路由翻车都翻在忘记开广播这一点上。3. 可复现的配置实例华为交换机到路由器的完整命令序列3.1 交换机侧创建VLAN和划分配置下面这段配置适配S5700系列在eNSP里也能直接跑system-view sysname SW1 vlan batch 10 20 interface GigabitEthernet0/0/1 port link-type trunk port trunk pvid vlan 10 port trunk allow-pass vlan 10 20 quit interface GigabitEthernet0/0/2 port link-type access port default vlan 10 quit interface GigabitEthernet0/0/3 port link-type access port default vlan 20 quitvlan batch 10 20一条命令创建两个VLAN比逐条vlan 10、vlan 20高效尤其VLAN数量多时能少敲很多。GE0/0/1是上行口与路由器互联配置为trunk并把PVID设为VLAN 10然后放通VLAN 10和20。为什么这里要手动改PVID如果PVID保持默认的1交换机从trunk口收到无标签帧时会把它当作VLAN 1而路由器子接口只终结VLAN 10和20于是这些帧会被丢弃。GE0/0/2和GE0/0/3接两台PC分别划入VLAN 10和VLAN 20。port default vlan这条命令只在access口上有意义它会同时修改端口的PVID。注意接口默认可能是全双工自适应如果PC网卡协商成半双工二层能通但速度异常这点可以用display interface确认。配置完成后最好执行一遍display port vlan确认GE0/0/1是trunkGE0/0/2和GE0/0/3是access且各自PVID正确。如果交换机不止一台SW2的上联口也要做同样配置。比如SW2的GE0/0/1上连SW1的GE0/0/24两边都要port link-type trunk并且放行相同的VLAN。常见现象是“接在SW1上的PC能ping通接在SW2上的PC不通”多数时候就是SW2上联口没放通相应VLAN或者在SW2上忘了创建VLAN。我习惯在上联口上把port trunk allow-pass vlan 10 20写完整不偷用port trunk allow-pass vlan all避免以后加新VLAN时把不该放通的业务也放出去。3.2 路由器侧单臂路由子接口配置AR路由器GE0/0/0直连交换机上行口然后在物理接口下创建两个子接口system-view sysname AR1 interface GigabitEthernet0/0/0 undo shutdown quit interface GigabitEthernet0/0/0.1 dot1q termination vid 10 ip address 192.168.10.254 255.255.255.0 arp broadcast enable quit interface GigabitEthernet0/0/0.2 dot1q termination vid 20 ip address 192.168.20.254 255.255.255.0 arp broadcast enable quitdot1q termination vid 10告诉接口收到带着VLAN 10标签的帧就交给这个子接口处理。华为子接口默认不感知VLAN标签不写这条子接口收不到任何报文。arp broadcast enable则是必须开的开关。PC通信前会先发ARP广播请求网关MAC子接口默认丢弃广播报文不开启这条PC的ARP表里永远没有网关表现出“二层都通三层死活不通”的状态。物理接口GE0/0/0上不要配IP。有些AR路由器支持把接口切换成二层模式命令是portswitch如果该接口被切换过需要先undo portswitch回到三层模式否则子接口无法正确终结VLAN。子接口配置完可以用display ip interface brief看接口up还是down只要dot1q termination vid和物理接口都正常子接口就是up的。3.3 三层交换机场景把VLANIF放到交换机内部如果没有独立路由器而是用一台三层交换机当网关配置简洁很多system-view interface Vlanif10 ip address 192.168.10.254 255.255.255.0 quit interface Vlanif20 ip address 192.168.20.254 255.255.255.0 quit三层交换机内部创建VLANIF后VLAN 10和VLAN 20之间可以直接路由转发不需要外部设备。此时PC的网关指向VLANIF地址交换机默认开启IP转发。需要注意如果这台三层交换机还要上联AR路由器访问外网那么上联口仍然要配置成trunk并把路由器互联VLAN放通交换机上还要配一条默认路由指向路由器ip route-static 0.0.0.0 0.0.0.0 192.168.100.254路由器侧则要写一条回程路由指向交换机VLANIF所在的互联网段。很多人在这里漏掉回程路由结果PC能访问外网外网回包却进不来表现为“网页打不开但能ping通公网网关”的奇怪现象。华为三层交换机上VLANIF是三层接口对PC做网关时要确保VLANIF已经使能并且交换机上有对应的直连路由。4. 打通VLAN间通信单臂路由与三层交换的两种落地写法4.1 单臂路由场景用display命令确认数据走向配置完成后的第一件事不是急着ping而是检查接口状态。我常用的三条命令display vlan查看交换机VLAN表和端口归属display port vlan查看端口类型和PVIDdisplay ip routing-table查看路由器是否生成直连路由。正常路径是PC1发不带标签的帧到交换机GE0/0/2交换机打上VLAN 10标签从trunk口GE0/0/1转发给路由器子接口.1路由器剥掉标签查路由发现目标网段是VLAN 20由子接口.2封装VLAN 20标签发回交换机交换机再从GE0/0/3转发时把标签剥掉给PC2。这里有个细节PC1去ping PC2时先发ARP询问网关192.168.10.254的MAC网关响应后才把数据帧发给路由器。如果PC1配置的网关不是192.168.10.254而是PC2的IP那相当于直接二层访问跨VLAN永远不通。验证时可以分段做先在PC1上ping 192.168.10.254通了说明注册没问题再在路由器上ping 192.168.20.1通了说明子接口间路由正常最后再跨VLAN ping。如果哪一步失败用display arp看看网关的ARP表项有没有学到学到就说明二层没问题问题在路由或ACL。4.2 三层交换机场景VLANIF加静态路由三层交换机场景下如果只是VLAN 10和VLAN 20互访交换机自己就能转发找个PC直接ping对端网关即可。但如果要访问外网就得在交换机上配默认路由system-view ip route-static 0.0.0.0 0.0.0.0 192.168.100.254 quit这里192.168.100.254是路由器与交换机互联口的IP。路由器上要配对应的静态路由下一跳指向交换机VLANIF地址例如ip route-static 192.168.10.0 255.255.255.0 192.168.100.253 ip route-static 192.168.20.0 255.255.255.0 192.168.100.253需要注意的是三层交换机上联路由器的物理口要么用trunk放通互联VLAN要么用access配互联VLAN两种方式取决于互联VLAN是否只有一个。如果只有一条互联链路我习惯用trunk加一个专门的管理VLAN方便未来扩容。回程路由必须有否则主机会出现“能出不能进”的典型故障。4.3 用eNSP复现配置实例最省事的验证环境没有真机时eNSP是最常见的复现方式。操作步骤是新建拓扑拖一台AR201路由器、一台S5700交换机、两台PC用Auto线缆连接路由器接交换机GE0/0/1交换机GE0/0/2接PC1GE0/0/3接PC2。启动前建议先确认eNSP的虚拟化设置因为不少电脑上启动路由器会报错误代码40。错误代码40的常见来源是VirtualBox端口被占用。解决方法是在eNSP菜单栏打开“工具-选项”把虚拟化设置里的端口号改掉例如从2000改成3000如果仍提示失败查一下任务管理器里有没有残留的VirtualBox进程全部结束后重试。还有个容易被忽略的点eNSP里PC的网关要填路由器子接口地址不能填交换机管理IP掩码和IP必须与VLAN网段一致否则路由表对不上。模拟器里虽然不会出现物理线缆松动但接口shutdown、或者路由器路由没保存也会造成同样的不通现象。5. 避坑指南VLAN配置里最容易翻车的5个细节5.1 现象都配了VLAN还是不通的通用排查顺序现象所有配置都照着实例敲了PC就是ping不通网关。这时候别急着怀疑网线按顺序看三层第一步display vlan确认VLAN是否创建、端口是否划分正确第二步display port vlan确认端口类型是access还是trunkPVID是不是自己预期的第三步display ip interface brief确认三层接口是up状态IP地址没写错第四步display arp看三层设备是否学到了PC的MAC。如果ARP表里有条目但ping不通问题往往在ACL或路由上如果ARP表里没有条目问题基本出在二层VLAN划分或子接口配置上。这个排查顺序能避免在错误方向浪费时间。5.2 trunk口PVID不一致数据帧被错分现象两台华为交换机级联VLAN 10能通VLAN 20不通。原因级联口一边port trunk pvid vlan 10另一边PVID还是默认1无标签帧被两端分到不同VLAN。解决把互联口两端PVID改成同一个值放行列表也保持一致。排查可以用display port vlan在两台设备上对比输出只要PVID不一致就能看到问题。还有一种变体一边trunk一边hybridhybrid口默认放通所有VLANtrunk口只放通指定VLAN两边放行列表不同就会出现部分VLAN通信异常。我的原则是级联口统一用trunk不要用hybrid。华为hybrid是灵活的但它也让二层转发变成黑匣子生产环境没必要冒这个险。5.3 路由器子接口配好但没有arp broadcast enable现象子接口IP、dot1q termination vid都写了display ip interface brief显示up但PC ping网关不通。原因华为子接口默认不转发ARP广播PC的ARP请求到不了路由器。解决每个子接口下补一句arp broadcast enable然后等几秒再ping。这个坑太常见很多从思科转过来的人照着旧经验配以为子接口封装好VLAN就能用结果卡在广播上。注意这条命令在真机和eNSP里都必须配没有例外。5.4 hybrid口混用导致的VLAN隔离失效现象交换机接PC的口用了hybrid又设了port hybrid tagged vlan 10结果本该隔离的PC之间却能互访。原因hybrid口可以对不同VLAN设置带标签或不带标签转发PC网卡如果不识别VLAN标签会把带标签的帧也当普通帧接收导致二层隔离失效。解决接PC的端口老老实实改成access别用hybrid。如果确实需要hybrid做“一个口既当access又当trunk”的特殊场景必须确认对端设备能正确处理标签不然就是给自己埋雷。华为的hybrid在考试里很常见但生产组网里我几乎不用它接终端。5.5 eNSP启动路由器显示40模拟器环境问题现象拓扑拖好以后右键启动路由器提示启动设备失败错误代码40。原因eNSP依赖的VirtualBox组件被其他程序占用或端口与系统进程冲突也可能BIOS里虚拟化没开。解决先把所有eNSP和VirtualBox进程结束改掉eNSP虚拟化设置里的端口号再启动不行就卸载VirtualBox重装并确保版本与eNSP兼容还不行就进BIOS确认Intel VT-x或AMD SVM已开启。这个问题看着和VLAN配置无关但它会卡住整个验证环境算是最让人无语的“环境玄学”。6. 验证与进阶从ping通到ACL单向访问6.1 验证命令表目的命令预期结果确认VLAN表display vlan看到VLAN 10 20及对应端口确认端口属性display port vlan上联口trunk接PC口access确认三层接口display ip interface brief子接口或VLANIF为up且IP正确确认路由表display ip routing-table两个网段直连路由存在确认ARP学习display arp网关能学到PC的MAC地址这几条命令从二层看到三层基本覆盖VLAN配置的所有关键点。我每次改完配置都会把display current-configuration导出保存万一改挂了还能拿着旧配置对照回滚算是给自己留后悔药。6.2 用ACL实现单向访问VLAN间互访打通后最常见的安全诉求是单向访问。比如允许VLAN 10访问VLAN 20但禁止VLAN 20主动访问VLAN 10。华为交换机上可以这样配acl 3001 rule 5 deny ip source 192.168.20.0 0.0.0.255 destination 192.168.10.0 0.0.0.255 rule 10 permit ip quit interface Vlanif20 traffic-filter inbound acl 3001 quit注意ACL规则顺序deny在前、permit在后顺序反了流量会被直接放行。绑定到VLANIF的inbound方向后凡是源地址属于192.168.20.0/24、目的地址属于192.168.10.0/24的流量都会被丢弃其他流量正常通过。很多人配完发现“单向访问不管用”多半是ACL绑错方向或者忘了在ACL里加最后的permit ip规则。6.3 我的保存习惯我习惯每完成一段配置就执行一次save华为设备不保存配置的话重启后全部白做。这个动作比任何验证命令都重要。另一个习惯是生产设备上做变更前先备份一遍display current-configuration改完以后再对比差异确认只有该变的变了。VLAN配置本身不复杂复杂的往往是那些“看起来对了但没保存”“看起来通了但方向错了”的细节。希望帮到你。本文还有配套的精品资源点击获取