ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

华为GVRP实验配置全解析:从VLAN自动注册到Trunk链路实战

华为GVRP实验配置全解析:从VLAN自动注册到Trunk链路实战 简介华为GVRP实验配置参考文档面向网络运维人员和交换机配置学习者系统梳理 GVRPGARP VLAN Registration Protocol的三种注册模式——Normal、Fixed、Forbidden——并结合S1~S4四台交换机的Trunk组网环境给出开启GVRP、放行VLAN、新建静态VLAN、划分Access口及验证的完整命令行步骤。资源为单份docx文档容量306KB命令、说明与拓扑验证输出集中在同一文件中适合对照实验台逐条操作。实验中在S1的23口、S2的23/24口、S3的23/24口、S4的23口均开启Trunk与GVRP并在S1创建VLAN100/200用于观察动态VLAN注册和单向注册现象。文档对Normal、Fixed、Forbidden三种模式的传播行为作了对比Normal可动态注册/注销VLANFixed仅传播静态VLANForbidden除VLAN1外不传播任何VLAN同时展示了GVRP单向注册现象及排查要点并配合常用的查看与验证命令便于排错复盘有助于理解动态VLAN注册/注销机制、避免配置陷阱。目前已有266人学习下载适用于华为网络实验教学、认证备考及日常配置速查。1. 华为GVRP实验配置文本到底在做什么一次配置整条Trunk上的VLAN自己长出来把两台华为交换机用Trunk口连起来在一台上创建VLAN 100另一台什么都不配VLAN 100却自动出现在清单里——这是GVRP最典型的实验现象也是第一次上手的人最容易误读的地方。GVRP不是“一条命令开个功能”它背后是GARP协议族里专门负责VLAN注册的二层机制要在交换机之间传播VLAN号并配合注册、注销、定时刷新一整套动作。这篇笔记的落点是华为GVRP实验配置文本的完整链路从eNSP里搭出可运行的最小拓扑到命令行开开关、验证动态VLAN、调定时器再到三层交换机与接入层二层交换机场景下的差异。适合刚接触华为交换、正在备考HCIA或者日常做华为交换机运维的人照着复现一遍比把命令背十遍管用。2. 搭一个能跑的GVRP实验环境拓扑、预配置与三个必懂原理2.1 实验拓扑与设备选型两台三层交换机的最低可复现组合做GVRP实验不需要复杂组网。两台交换机、一根Trunk就够。我在eNSP里常用的设备组合是两台S5700系统视图下支持完整的gvrp命令和display gvrp系列输出如果手头只有S3700也能跑但部分老型号的模拟器固件对GVRP定时器的显示格式有差异。三台交换机的级联场景放到第3章一起说先把两台的基础打牢。提示GVRP的注册对象是二层Trunk链路所以两台设备之间不能经过路由器做三层转发实验拓扑里保持纯二层互联才是正路。拓扑信息如下设备型号eNSP互联接口接口角色SW-AS5700GigabitEthernet 0/0/1TrunkSW-BS5700GigabitEthernet 0/0/1Trunk启动设备后先清一遍配置防止模拟器遗留上一次实验的脏配置system-view undo gvrp interface GigabitEthernet 0/0/1 undo port trunk allow-pass vlan all undo port link-type quit这段是“后悔药”把全局GVRP开关、接口Trunk和VLAN放行规则全部复位。清完之后从干净状态开始后面所有观察到的现象才可信否则你看到SW-B上多出的VLAN可能是上次残留的而不是GVRP动态注册出来的。2.2 Trunk、PVID与GVRP的关系报文能过路的两个前提GVRP的报文本质是GARP协议族里的VLAN注册协议目的MAC是组播地址01-80-C2-00-00-21它在二层交换机之间传递的不是业务数据帧而是“VLAN号注册属性”的控制消息。这个前提决定了它只能走Trunk型链路Access口会把控制帧的VLAN标记处理掉GVRP就失去传播能力。要让GVRP报文在两端正常通行必须同时满足两个条件。第一接口的链路类型必须是Trunk第二接口的port trunk allow-pass vlan列表必须包含对方要传递的VLAN范围。有人说“只要开了GVRPVLAN自动放行”这是不对的——GVRP传播的是VLAN号而Trunk的allow-pass列表是数据帧能否通过的通行证两者分工不同。实验里最稳妥的写法是port trunk allow-pass vlan all把范围拉满先让业务跑通再回头收窄。PVID在这里还有一个隐形影响。默认PVID是VLAN 1这个原生VLAN在Trunk上不打标签传输GVRP报文如果落入PVID所在VLAN行为会和带标签的VLAN不同。绝大多数基础实验不碰PVID但如果你把某个接口的PVID改成动态注册的VLAN号部分交换机会出现注册表异常。我的经验是实验阶段PVID一律保持默认别去动它。2.3 GVRP的三种注册模式Normal、Fixed、Forbidden分别守什么华为交换机的接口GVRP支持三种注册模式这是GVRP实验里最容易混淆的概念也是配置文本里最值得写清楚的部分。看这张表模式动态学习VLAN注销本端VLAN典型用途Normal支持支持默认模式两侧都动态注册、动态注销Fixed支持不主动注销手工VLAN固定VLAN不被远端Leave消息误删Forbidden不学习不传播VLAN边界接口关闭动态注册只放行PVID所在VLANNormal模式是绝大多数实验选择的默认模式也是最符合直觉的A端创建VLAN 100B端动态学习B端把VLAN删除A端也会收到Leave消息并注销。Fixed模式则是给那些“本端手工配了VLAN不希望被远端误删”的场景准备它忽略Leave消息但依然能学习新VLAN。Forbidden模式最激进接口上彻底不学也不传相当于把GVRP在某个接口上关掉。这三种模式通过接口下的gvrp registration normal|fixed|forbidden切换。同一个交换机上的不同接口可以各自选模式实验里可以故意把SW-B的接口设成fixed再从SW-A删除VLAN观察B端VLAN是否还在——这个动作能帮你直观理解模式差异比背定义记得牢。3. 把GVRP跑通的完整命令串从全局开关到验证输出3.1 最小配置两台交换机只要四条关键命令两台交换机上各执行一套对称配置。以SW-A为例完整命令串如下system-view sysname SW-A gvrp interface GigabitEthernet 0/0/1 port link-type trunk port trunk allow-pass vlan all gvrp quit这套命令里有两个gvrp一个是系统视图下的全局使能一个是接口视图下的接口使能。第二次做GVRP实验的人最容易在这里翻车——全局开了接口没开display gvrp status里接口状态始终是disabled。全局开关解决的是“这台设备是否有GVRP能力”接口开关解决的是“这条链路上是否收发GVRP报文”两者缺一不可。SW-B上执行同样配置区别只是sysname SW-B。配置完成后回到SW-A创建VLAN 100system-view vlan 100 quit interface GigabitEthernet 0/0/1 display gvrp vlan operationdisplay gvrp vlan operation是实验里最该记住的验证命令它输出的不是设备上所有VLAN而是本接口通过GVRP动态学习到的VLAN。此时SW-A的GigabitEthernet 0/0/1上不会有动态VLAN条目因为VLAN 100是本地手工创建的重点是回到SW-B执行同一条命令你会看到VLAN 100出现在动态注册表里说明报文已经跨链路传播成功。3.2 display命令怎么读从gvrp vlan输出判断动态VLAN状态GVRP实验的验证路径本质上就是三条display命令的组合。display gvrp status看协议状态和当前注册模式display gvrp vlan operation看动态注册的VLAN号display gvrp statistics看收发报文的计数。三者的作用各不相同在实验中按这个顺序读命令核心字段判断依据display gvrp statusGVRP状态、Registration Type接口状态为enabled模式为normaldisplay gvrp vlan operationDynamic VLAN列表动态条目是否包含目标VLANdisplay gvrp statisticsTx/Rx Join、Leave、LeaveAll两边收发计数是否对称实操中最常见的问题是SW-B上display vlan能看到VLAN 100但display gvrp vlan operation里却没有。这说明VLAN 100可能是之前手工创建留下的静态条目不是GVRP动态学来的。做实验时要养成同时看两个输出的习惯display vlan回答“VLAN存不存在”后者回答“VLAN是不是GVRP学来的”。我见过不少人在实验报告里把静态VLAN当成GVRP成果写一查operation表就露馅。3.3 三台交换机级联中间设备不需要建VLAN把拓扑扩展到三台交换机级联GVRP的价值才真正呈现。拓扑是SW-A连着SW-BSW-B再连着SW-C三台设备之间都是Trunk口。这时在SW-A上创建VLAN 100SW-B和SW-C都应该自动出现动态VLAN 100。中间这台SW-B不需要手工创建VLAN 100也不需要额外配置只要它的两个Trunk接口都开了GVRP动态注册信息就会从A侧学来再向C侧传播出去。# 仅需在SW-B的互联接口下补充配置 system-view interface GigabitEthernet 0/0/2 port link-type trunk port trunk allow-pass vlan all gvrp quit这套配置的核心逻辑是GVRP报文从SW-A到达SW-B后SW-B会把自己学到的VLAN注册信息通过自己的GVRP接口继续转发给SW-C。这个传播行为不需要中间设备配置任何静态VLAN三层交换机上的VLAN表会自动被动态条目填满。做这个实验时要注意SW-B上两个接口的注册模式保持一致如果0/0/1是normal、0/0/2是forbidden那么到SW-C一侧的信息传播就会中断。4. GVRP定时器与接入层场景参数怎么调才不翻车4.1 四个定时器默认值与调参顺序GVRP协议靠周期性报文维持注册状态这套机制由四个定时器控制。华为设备上的默认参数是Hold定时器0.5秒Join定时器200毫秒Leave定时器600毫秒LeaveAll定时器10秒。Hold定时器一般不手动配置它负责把多条事件合并成一条报文减少网络里的控制报文数量。定时器默认值作用实验调整建议Hold0.5s事件合并减少报文量不建议动Join200ms发送Join消息的间隔网络较大时适度增大Leave600ms等待确认注销的时间不建议单独调小LeaveAll10s周期性广播注销全部VLAN再重新注册抖动频繁时先调大到30s调试顺序我一般是先动LeaveAll。如果你在SW-B上发现动态VLAN出现几秒后又消失过几秒再出现十有八九是LeaveAll周期性触发后报文时序对不上导致的抖动。把LeaveAll调到30秒试试如果抖动消失说明问题出在网络里报文延迟或丢包而不是VLAN配置本身。调定时器的命令在接口视图下system-view interface GigabitEthernet 0/0/1 gvrp timer leaveall 3000 quit单位是厘秒3000代表30秒。改定时器是有全局副作用的动作它会发送一条新的LeaveAll消息给对端导致全网重新注册一轮所以真实交换机上尽量在维护窗口操作。实验环境无所谓随便试生产环境一定要先想清楚窗口期。4.2 二层接入交换机上的GVRP边缘端口与PVID的注意点很多做华为三层交换机运维的人会把GVRP直接套到接入层二层交换机上这里有一个容易被忽略的边界。接入交换机连接终端的Access口并不需要开GVRPGVRP只在交换机互联的Trunk口上工作。Access口如果收到GVRP控制帧通常会直接丢弃不会造成故障但也别指望它能把VLAN注册信息传到终端——终端的网卡不参与GARP协议族。需要注意的其实是PVID和边缘端口。接入交换机上如果某个Access口的PVID是一个动态注册来的VLAN当远端注销这个VLAN时本地交换机可能要处理“PVID引用了不存在的VLAN”这类情况。华为多数设备会自动保留这个VLAN的静态属性但会造成配置混乱。我的习惯是接入层只让业务VLAN通过GVRP动态传播端口PVID始终用VLAN 1不让动态VLAN与PVID产生依赖。另外如果接入交换机连的是服务器或路由器建议在对应接口确认GVRP未开启避免不必要的控制报文进入这些设备。4.3 在eNSP里抓GVRP报文过滤语法与观察要点eNSP自带的抓包功能可以直接捕获接口上的二层报文这对理解GVRP的工作过程帮助极大。在接口视图或port mirroring场景下启动抓包然后等几十秒就能看到GVRP报文周期性出现。Wireshark对GVRP的解析是独立的过滤语法直接写gvrp即可。观察抓包结果时重点关注三类消息Join消息表明交换机在请求注册VLANLeave消息表明某个VLAN正在被注销LeaveAll消息表示周期性清空并重建注册状态。如果你连续抓到多条相同VLAN号的Join消息说明对端还在持续宣告这个VLAN如果只看到LeaveAll却没有后续的Join说明本端不存在动态VLAN了。这个观察方法和display gvrp statistics里的Tx/Rx计数互相印证能帮你判断报文是从哪个方向丢的。抓包的时候留意时间戳LeaveAll默认10秒报文间隔应该比较规律如果时疏时密优先怀疑链路拥塞或模拟器性能问题。5. 华为GVRP实验的5个常见坑现象、原因、解决5.1 动态VLAN没出现现象在SW-A创建VLAN 100SW-B上display vlan看不到任何动态新增条目。原因最常见的有两种一是SW-B的接口下没有敲gvrp只开了全局开关二是Trunk接口的allow-pass vlan列表没有覆盖VLAN 100GVRP报文虽然能过但VLAN号却被放行策略挡住。解决思路是按顺序排查先执行display gvrp status确认两端接口状态都是enabled再执行display gvrp vlan operation看动态表最后查看接口的allow-pass列表。这个坑占GVRP实验排错的一半以上。5.2 VLAN忽隐忽现现象SW-B上的动态VLAN出现后几秒自动消失再过几秒又重新出现循环不断。原因是LeaveAll定时器和Leave定时器之间的时序不对常见于eNSP模拟器上设备负载较高时控制报文被延迟处理真实设备上则多由链路拥塞或STP振荡引发。解决时先把LeaveAll从默认10秒临时调大到30秒观察是否明显缓解如果依然抖动检查交换机之间是否存在环路STP反复迁移会让GVRP报文在一个周期内既收到Join又收到Leave。实验里优先排查STP状态确认两个Trunk口都在Forwarding。5.3 VLAN号有了但数据不通现象SW-B已经能看到动态VLAN 100但PC跨交换机访问时不通。这个坑最容易误导人因为“VLAN存在”让人以为转发也正常。实际原因是Trunk接口的allow-pass列表没有包含VLAN 100动态注册只完成了控制平面数据平面的放行规则没跟上。解决方法是把port trunk allow-pass vlan all换成精确放行或者补上port trunk allow-pass vlan 100。另一种少见原因是两台交换机的接口PVID不一致导致未打标签的帧被划进不同VLAN。检查两端display port vlan确保PVID一致。5.4 Fixed模式删不掉VLAN现象接口配置了gvrp registration fixed后在远端删除VLAN本端的动态VLAN却始终存在。原因是Fixed模式的设计目标就是忽略Leave消息保护手工或动态注册的VLAN不被远端注销。解决时先确认这不是故障然后按需切换模式临时把接口改成normal等VLAN注销后再改回fixed。做实验时如果想验证Leave消息的传播能力记得把两端都设成normal否则会出现一侧删除、另一侧纹丝不动的假象。5.5 eNSP里找不到gvrp命令现象进入系统视图后输入gvrp设备提示未知命令。原因是eNSP内置的某些设备型号或固件版本不支持GVRP尤其是早期模拟器版本里的部分二层交换机型号。解决方法是换成S5700这类三层交换机型号重新拖一台设备如果项目里已经用了三层交换机还是不行检查模拟器版本升级到较新的eNSP版本。遇到过有人在路由器上试图开GVRP当然翻车——GVRP是交换机特性路由器不在这个范围。6. 把GVRP带进真实网络前三条验证路径与我的使用边界建议GVRP实验的终点不是“看到动态VLAN”而是能证明这套机制在故障时也按预期工作。离开eNSP之前我建议你跑三条验证路径。第一条是断链测试把SW-A和SW-B之间的Trunk口shutdown动态VLAN应该在Leave定时器超时后从SW-B消失恢复接口后重新出现。第二条是改动测试把SW-B的接口改成fixed模式再去SW-A删除VLANSW-B的VLAN保持不变证明模式确实生效。第三条是抓包中的LeaveAll观察确认报文周期性出现且时间间隔符合定时器配置。这三条路径里断链测试最容易暴露问题。如果VLAN迟迟不消失多半是Leave定时器或LeaveAll周期设置太长如果消失得太快又可能是误收了其他设备的Leave消息。真实网络里我一般不直接把GVRP铺满全网而是把它用在接入层VLAN数量多、需要自动同步的场景核心层与汇聚层之间仍然用手工VLAN加Trunk放行的老办法因为核心设备上的VLAN变更必须受控不能让动态注册机制“自动生成”一个未经审批的VLAN。GVRP的另一个实用边界是配合VLAN规划自动化核心侧创建新VLAN所有接入交换机的Trunk口自动学习并放行省去逐台登录配置的重复劳动。做这件事前先在实验环境把Fixed、Forbidden两种模式的行为差异完整测一遍确认哪些端口需要被排除在动态注册范围之外。我自己在华为设备上的血泪经验是第一次做GVRP实验时全局开了、接口没开盯着display vlan骂了一下午设备后来才发现接口开关压根没敲。希望帮到你。本文还有配套的精品资源点击获取
返回列表