
简介面向网络工程师、高校学生及备考华为认证的实践者这份华为GVRP实验配置文档以四台交换机S1至S4互联为拓扑演示GVRP动态注册与注销VLAN的全过程。文档先厘清Normal、Fixed、Forbidden三种注册模式的含义Normal允许多VLAN动态传播Fixed只传播静态VLANForbidden则仅保留VLAN1。随后按设备逐一给出完整配置命令包括Trunk口放行全部VLAN、全局与接口开启GVRP以及新建VLAN100、VLAN200并划分Access端口的操作。配置中特别说明单向注册现象帮助读者理解GVRP报文传播方向及排错思路。资源为单个docx文档共1个文件压缩包大小306KB命令与注释并存便于对照练习。目前已有266人学习下载适合课堂实验、认证备考和网络排障参考。1. GVRP实验的第一道坎注册模式选错VLAN就传不过去华为交换机的GVRPGARP VLAN Registration Protocol是我做实验时被坑过最多次的协议之一四台交换机Trunk口全配好、允许所有VLAN通过手动在S1上建了VLAN100结果S3侧死活学不到。后来才发现问题不在VLAN本身而是GVRP的注册模式和命令顺序出了岔子。GVRP的作用很直接——让交换机之间自动交换VLAN配置信息动态注册、注销VLAN省去一台一台手动创建的麻烦但Normal、Fixed、Forbidden三种注册模式一旦选错动态VLAN要么传不过去要么直接被掐断。下面这份配置文本把四台交换机的完整实验从头到尾过一遍覆盖Trunk链路、GVRP全局与端口使能、静态VLAN播种、动态注册验证以及最常翻车的单向注册现象。适合刚接触华为数通设备、准备跑VLAN动态学习实验的人照着敲完就能复现。2. 开局四台交换机Trunk链路与GVRP全局开关的完整配置2.1 先画拓扑哪个口和哪个口必须开 GVRP做GVRP实验最容易犯的错就是上来就敲命令结果敲到一半发现端口连错了。我一般先把端口对应关系写在纸上S1的GE0/0/23接S2的GE0/0/23S2的GE0/0/24接S3的GE0/0/23S3的GE0/0/24接S4的GE0/0/23四台设备串成一条链。设备GVRP端口对端设备对端端口S1GE0/0/23S2GE0/0/23S2GE0/0/23、GE0/0/24S1、S3GE0/0/23、GE0/0/23S3GE0/0/23、GE0/0/24S2、S4GE0/0/24、GE0/0/23S4GE0/0/23S3GE0/0/24注意GVRP只在Trunk口上有意义access口不需要开。原因也很直接GVRP的注册报文要通过Trunk链路承载access口会剥掉VLAN Tag注册信息根本传不过去。所以这个实验里的23、24口全部设成Trunk并且要显式放行所有VLAN只设Trunk不提放行后面百分之百出问题。2.2 全局开关先于端口开关S1 与 S2 的命令顺序华为设备上GVRP是两级使能系统视图先开全局接口视图再开端口。顺序反了会报错这个坑后面单独说。先把S1的命令完整贴出来。S1system-view [S1]gvrp [S1]interface GigabitEthernet0/0/23 [S1-GigabitEthernet0/0/23]port link-type trunk [S1-GigabitEthernet0/0/23]port trunk allow-pass vlan all [S1-GigabitEthernet0/0/23]gvrp [S1-GigabitEthernet0/0/23]quitsystem-view进入系统视图[S1]gvrp是全局使能GVRP这一步只做一次port link-type trunk把23口改成Trunk模式port trunk allow-pass vlan all放行所有VLAN接口下的gvrp才是在这个端口上启用GVRP。all关键字我建议直接用因为实验场景里VLAN是动态出现的如果写成allow-pass vlan 100 200后面新注册的VLAN就得回头补放行规则不够省事。S2有23和24两个口按同样套路每个口都要配一遍。S2system-view [S2]gvrp [S2]interface GigabitEthernet0/0/23 [S2-GigabitEthernet0/0/23]port link-type trunk [S2-GigabitEthernet0/0/23]port trunk allow-pass vlan all [S2-GigabitEthernet0/0/23]gvrp [S2-GigabitEthernet0/0/23]quit [S2]interface GigabitEthernet0/0/24 [S2-GigabitEthernet0/0/24]port link-type trunk [S2-GigabitEthernet0/0/24]port trunk allow-pass vlan all [S2-GigabitEthernet0/0/24]gvrp [S2-GigabitEthernet0/0/24]quit这里有个血泪经验原文配置里S2和S3很容易把gvrp敲成grvp模拟器上直接不识别真机上也会提示未知命令。我习惯每个端口配完顺手敲一行display this看一眼确认端口下确实出现了GVRP配置再切下一个接口。2.3 S3 与 S4四台设备一次性铺完S3的23口连S2、24口连S4两个口都要配Trunk加GVRP。S4只有23口连S3配置量最小。S3system-view [S3]gvrp [S3]interface GigabitEthernet0/0/23 [S3-GigabitEthernet0/0/23]port link-type trunk [S3-GigabitEthernet0/0/23]port trunk allow-pass vlan all [S3-GigabitEthernet0/0/23]gvrp [S3-GigabitEthernet0/0/23]quit [S3]interface GigabitEthernet0/0/24 [S3-GigabitEthernet0/0/24]port link-type trunk [S3-GigabitEthernet0/0/24]port trunk allow-pass vlan all [S3-GigabitEthernet0/0/24]gvrp [S3-GigabitEthernet0/0/24]quitS4system-view [S4]gvrp [S4]interface GigabitEthernet0/0/23 [S4-GigabitEthernet0/0/23]port link-type trunk [S4-GigabitEthernet0/0/23]port trunk allow-pass vlan all [S4-GigabitEthernet0/0/23]gvrp [S4-GigabitEthernet0/0/23]quit四台配完建议用display gvrp status检查一遍S3上执行结果类似下面这样。[S3]display gvrp status这个命令会列出全局GVRP状态和每个端口是否使能重点看GE0/0/23和GE0/0/24的GVRP字段不是Disable。只要有一台设备漏开全局或某个Trunk口漏开端口GVRP后面动态VLAN就传不过去到时候排查起来比现在多敲一条命令费劲得多。3. 让动态VLAN跑起来从S1播种到单向注册的连锁反应3.1 静态创建VLAN100/200为什么动态注册前必须有人先播种GVRP不会凭空生成VLAN必须先有一台设备手动创建VLAN再靠GVRP把注册信息扩散到其他交换机。这个初始创建在配置里叫静态VLAN对应GVRP动态学到的叫动态VLAN。实验里把播种任务放在S1上新建VLAN100和VLAN200同时把1口和2口分别划进这两个VLAN。S1system-view [S1]vlan batch 100 200 [S1]interface GigabitEthernet0/0/1 [S1-GigabitEthernet0/0/1]port link-type access [S1-GigabitEthernet0/0/1]port default vlan 100 [S1-GigabitEthernet0/0/1]quit [S1]interface GigabitEthernet0/0/2 [S1-GigabitEthernet0/0/2]port link-type access [S1-GigabitEthernet0/0/2]port default vlan 200 [S1-GigabitEthernet0/0/2]quitvlan batch 100 200一条命令同时创建两个VLAN比逐个vlan 100、vlan 200省事两个access口分别加入VLAN100和VLAN200之后接PC测试就用这两个口。这里强调一下VLAN的命名逻辑S1上的这是静态VLANS2、S3、S4通过GVRP学到的就是动态VLAN两者在display vlan里状态字段会不一样后面验证就是靠这个区分。3.2 单向注册S2 的 23 口有 VLAN24 口却什么都没有只配置到这里就停手的话会看到一个很典型的现象在S2上执行display vlan连S1的23口能看到VLAN100和VLAN200状态是dynamic但连S3的24口VLAN列表里什么都没有。设备能注册一部分但传不下去这就是GVRP实验里出镜率最高的单向注册。先看S2上应该出现的画面。[S2]display vlan输出里VLAN100和VLAN200会在23口上被注册端口列表里能看到GigabitEthernet0/0/23但24口没有这两个VLAN。原因是GVRP注册信息是逐跳传播的S1把Join消息发给S2S2的23口注册成功不等于24口也会自动带上同样的VLAN24口要自己从对端S3那里收到注册信息才行。如果S3方向链路没通、S3的23口没开GVRP或者某一段Trunk没放行VLAN注册就断在中间往右的设备完全不知道VLAN100存在。所以在最初配置时我强烈建议四台设备的全部Trunk口一次性把GVRP开完不要配完S1和S2就急着测不然看到的十有八九就是这种半通不通的单向注册还容易误判成协议本身有问题。3.3 动态VLAN不能直接加端口S4 必须补一个静态创建等GVRP把VLAN传到S4之后还会遇到第二个坑动态注册的VLAN不允许直接加端口。S4通过GVRP学到了VLAN100和VLAN200但想给S4的1口配port default vlan 100时会发现命令敲不下去或者配了不生效。原因为华为设备上动态VLAN只是协议学来的成员关系没有静态配置access口的default vlan必须绑定静态存在的VLAN。解决办法也很朴素在S4上把VLAN100和VLAN200再静态创建一遍让动态VLAN和静态VLAN共存然后才能把端口划进去。S4system-view [S4]vlan batch 100 200 [S4]interface GigabitEthernet0/0/1 [S4-GigabitEthernet0/0/1]port link-type access [S4-GigabitEthernet0/0/1]port default vlan 100 [S4-GigabitEthernet0/0/1]quit [S4]interface GigabitEthernet0/0/2 [S4-GigabitEthernet0/0/2]port link-type access [S4-GigabitEthernet0/0/2]port default vlan 200 [S4-GigabitEthernet0/0/2]quit这里有个细节要注意S4上创建VLAN100和200时S4的23口已经通过GVRP注册了这两个VLAN此时执行vlan batch不会把动态注册顶掉反而会让VLAN状态变得更完整。再回头看如果一开始就手动给四台设备全部分配VLANGVRP就没有存在意义了这个实验的看点恰恰是S1播种、其余设备跟着动态学最后需要接PC的S4才做静态补建这个先后顺序不要颠倒。4. 避坑GVRP 实验里最常翻车的五个配置细节4.1 把 gvrp 敲成 grvp报错时先看是不是命令拼写现象在系统视图或接口视图输入grvp设备直接提示未知命令GVRP没有任何反应。原因GVRP四个字母手一快就敲成grvp。这个错误在模拟器和真机上都很常见尤其是连着配四五台设备、命令敲到肌肉记忆的时候。解决正确命令是gvrp系统视图和接口视图都是这四个字母。我习惯敲gv加Tab补全让设备自己带出完整命令从根上避免拼写问题。如果已经敲了grvp往上翻命令行历史重新敲一遍即可不影响设备状态。4.2 只开接口没开全局GVRP is not enabled globally现象在接口视图下执行gvrp设备报错GVRP is not enabled globally端口使能失败。原因华为GVRP是两级使能接口开关依赖全局开关。跳过系统视图的gvrp直接进接口配设备不会自动帮你开全局。解决回到系统视图先执行[S1]gvrp再进接口执行gvrp。建议四台设备开局时就把全局GVRP全部开掉顺序固定为系统视图→接口视图不要跳步。这个报错在第一次配GVRP时几乎必现碰到不用慌。4.3 access 口加不进动态 VLAN报错后先查 VLAN 状态现象S4动态学到VLAN100和200后在接口视图执行port default vlan 100命令不生效或者提示VLAN不存在、端口加不进去。原因GVRP动态注册的VLAN和手工创建的静态VLAN性质不同动态VLAN不能直接作为access口的default vlan。设备上access口只能绑定静态存在的VLAN。解决先执行vlan batch 100 200把VLAN静态化再回到接口配置port default vlan。这个坑特别容易让新手怀疑是GVRP没通其实协议已经学到了只是设备不允许动态VLAN挂access口而已。先display vlan看VLAN状态是dynamic还是static能少走很多弯路。4.4 单向注册导致 S3/S4 侧 VLAN 全无逐跳查 GVRP 状态现象只在S1上建VLANS2能学到但S3和S4的display vlan里什么都没有左右两半的VLAN信息对不上。原因GVRP注册信息逐跳传播链路中间任何一个Trunk口没开GVRP或者某段Trunk没放行VLAN注册就断了。S2的23口从S1收到注册但24口向S3方向没有继续传递就形成单向注册。解决从S1开始逐台检查每台设备执行display gvrp status看端口状态再配合display vlan看每个Trunk口实际放行的VLAN。重点检查中间节点的出口是否使能GVRP、Trunk是否allow-pass vlan all。按照S1→S2→S3→S4的顺序把每个口过一遍断点通常一眼就能看出来。4.5 Fixed 模式一开动态 VLAN 全消失先搞清模式再动手现象把S3的23口配成gvrp registration fixed后display vlan里动态学到的VLAN从S3上消失Trunk口实际能转发的VLAN只剩手动配置的部分。原因Fixed模式禁止接口动态注册和注销VLAN只传播静态VLAN信息动态学习的通道被直接关掉了。解决实验做完了记得改回Normal模式命令是gvrp registration normal。如果就是想让这台设备只转发手工配置的VLAN那Fixed模式是合理的但如果后续还要做动态VLAN验证忘记改回来就是给自己埋雷。切换模式后要重新等GVRP报文再学习一次不会瞬间恢复。5. 验证跑通从 dis gvrp status 到 Fixed 模式切换的完整检查5.1 先看注册表dis vlan 和 dis gvrp status 怎么读验证GVRP有没有跑通我的习惯是先看display gvrp status确认协议状态再看display vlan确认VLAN落在哪些端口上。[S2]display gvrp status [S2]display vlandisplay gvrp status的输出重点看接口列表里GVRP是不是Enable只要有一个口是Disable链路就不完整display vlan则看VLAN状态字段static是手工创建dynamic是GVRP学来的。正常情况下S2、S3、S4上都能看到VLAN100和VLAN200并且至少一部分端口标记为dynamic。5.2 Fixed 模式切换实验与恢复动态VLAN确实学到了再做一步Fixed模式验证把S3的23口切过去看效果。[S3]interface GigabitEthernet0/0/23 [S3-GigabitEthernet0/0/23]gvrp registration fixed [S3-GigabitEthernet0/0/23]display vlandisplay vlan里动态VLAN消失这就是Fixed模式只传播静态VLAN、不注册动态VLAN的表现。验证完立刻改回Normal否则后续动态学习会一直中断。[S3-GigabitEthernet0/0/23]gvrp registration normal [S3-GigabitEthernet0/0/23]quit改回Normal后等几秒再用display vlan确认动态VLAN重新出现。这一步能把三种注册模式的行为差异看得明明白白比死记定义管用。5.3 回归测试从 S1 的 1 口 ping 到 S4 的 1 口最后做连通性回归。给S1和S4的PC配好IP比如VLAN100网段用192.168.100.0/24VLAN200网段用192.168.200.0/24在S1的1口所连PC上ping S4的1口所连PC能通说明整条GVRP链路验证通过。从那以后我每次做GVRP实验都强制自己先走一遍display gvrp status和display vlan再动手改模式宁可多敲两条查看命令也不急着下结论。希望帮到你。本文还有配套的精品资源点击获取