做网络规划的人最怕听到的一句话是“上不了网了”。排查到最后十次有八次是网关那台设备出了问题。局域网里流量进来出去都要经过网关网关一旦罢工再好的链路、再快的交换都白搭。软考网络规划设计师考试里VRRP是局域网可靠性设计绕不开的一个技术点也是选择题、案例题、论文题都可能考到的内容。这篇我结合自己的备考和项目经验把VRRP从头到尾拆一遍讲原理、讲配置、讲考试怎么答也顺手解答一下很多人问过的“eNSP里交换机到底能不能做VRRP实验”。1. 为什么局域网必须考虑网关冗余1.1 网关是单点但也是最容易忽略的单点很多小型网络的设计非常简单接入交换机把PC聚起来再通过一根网线或者光纤连到一台路由器或者三层交换机上这台设备的接口IP就是全网段的网关。平时用着没事一旦这台设备重启、断电、接口烧毁或者被某次错误的配置操作给“折腾”掉整个VLAN就断了。最典型的现象是终端ping网关不通但PC之间互访正常因为二层还在三层出口没了。这种“半身不遂”的故障排查起来很耗时间链路、交换机、服务器查一圈最后才发现是网关设备的问题。从可靠性设计的角度讲这就是典型的单点故障。单点故障的本质是把整个网络的可用性押在一台设备上设备可用性就是网络可用性。硬件设备再稳定也扛不住断电、雷击、光模块老化这些现实问题。设计阶段不为网关留后路运维阶段就只能靠抢修这是做网规项目时最需要警惕的思路。1.2 VRRP的位置二层冗余和三层冗余的分工局域网的高可用设计并不是只有VRRP这一层。二层的物理链路要做冗余于是有了链路聚合、光纤双上联二层的环路要有收敛机制于是有了STP/RSTP三层的网关要做冗余主流方案就是VRRP思科对应的是HSRP还有支持多活负载均衡的GLBP。放到整张网络拓扑里看VRRP解决的是“网关设备故障后终端默认路由怎么自动切换”的问题。VRRP的全称是Virtual Router Redundancy Protocol虚拟路由冗余协议。它把两台或多台三层设备组织成一个“虚拟路由器”对外提供一个虚拟IP和一个虚拟MAC。终端配置网关时只认这个虚拟IP根本不关心背后是哪台设备在主、哪台在备。主设备故障后备份设备在几秒内自动接管继续转发数据。对终端来说整个切换过程几乎是透明的不需要改任何配置。这也正是软考网规里“可靠性设计”标准答案的一部分通过冗余协议消除单点故障同时不增加终端的运维复杂度。2. VRRP的工作原理与关键协议细节2.1 虚拟路由器终端只认“一个网关”VRRP组里有一台Master设备一台或多台Backup设备。这些设备各自有真实的接口IP但同时又共同维护一个虚拟IP和虚拟MAC。虚拟MAC的格式是00-00-5E-00-01-XX其中XX是VRRP组ID比如组ID为1时虚拟MAC就是00-00-5E-00-01-01。终端发往网关的报文二层目的MAC是虚拟MAC三层目的IP是虚拟IP由Master设备负责应答和转发。为什么非要在真实IP之外搞一个虚拟IP核心目的是解耦。真实IP绑定了具体设备设备故障后IP跟着失效虚拟IP不绑定单一设备只要VRRP组里还有设备存活虚拟IP就能被接续响应。这跟生活中的“呼叫中心总机”很像客户只记一个总机号码坐席代表可以换人总机号永远不变。终端网关配置成虚拟IP网络里的主备设备怎么切换终端无感知。2.2 选举机制优先级说话IP地址兜底VRRP组里的Master和Backup角色是通过优先级选举出来的。优先级范围是0到255默认值是100其中0和255有特殊用途优先级0表示设备主动放弃Master角色用于快速切换优先级255一般留给“拥有虚拟IP对应真实接口地址”的设备这种设备本身就是虚拟IP的持有者理应成为Master。选举规则有两条优先级高的设备当选Master如果优先级相同则比较接口IP地址大小IP地址大的当选。实际配置中我们通常把希望作为主网关的设备优先级设成120左右另一台保持默认100再加上抢占功能就能保证正常情况下主设备稳定接管。需要注意VRRP的选举不是“一锤定音”Master会周期性地发送Advertisement通告报文默认发送间隔是1秒组播地址是224.0.0.18。Backup设备收到通告后确认Master还活着一旦超过Master_Down_Timer还没收到通告就认为Master出故障了自己立即升为Master。Master_Down_Timer的计算是软考喜欢抠细节的地方默认是3乘以Advertisement间隔再加上一个偏移量Skew_TimeSkew_Time (256 - 优先级) / 256秒。优先级越高Skew_Time越小计时越短高优先级设备反而能更早等待。以优先级120为例Master_Down_Interval大约是3秒加0.53秒也就是3.53秒左右。考试里如果问你“默认情况下Backup多久才能升为Master”要能算出来。2.3 抢占模式、延时与认证VRRP设备默认开启抢占模式也就是Backup发现Master失效后马上抢占成为Master。在实际网络里可以配合抢占延时使用。比如配置preempt-mode timer delay 5表示设备收到更高优先级通告后等待5秒再抢占避免链路抖动或设备重启时频繁震荡。认证方式主要有三种无认证、简单字符认证、MD5摘要认证。配置认证时同一组内所有设备的认证类型和密钥必须一致否则互相收不到通告会出现“双主”现象。VRRPv2支持这种认证但VRRPv3之后认证功能被移除IPv6环境下改用IPsec AH做保护。软考真题里考过认证相关判断题看到“VRRPv3支持MD5认证”这种选项要能判断为错误。2.4 VRRP v2与v3版本对比软考对版本知识的考查集中在“特性差异”上。最直观的是支持协议栈不同v2只支持IPv4v3同时支持IPv4和IPv6组播地址方面v2使用IPv4组播地址224.0.0.18v3在IPv4场景仍用224.0.0.18在IPv6场景使用FF02::12认证方面v2支持可选认证v3移除了认证字段。对比项VRRPv2VRRPv3IPv4支持支持IPv6不支持支持认证方式无认证/简单字符/MD5不使用认证IPv6下可配合IPsec组播地址224.0.0.18IPv4为224.0.0.18IPv6为FF02::12报文版本字段23这组对比表建议背下来。网规考试不会考特别偏的细节但“版本特性是否符合”这类题经常出现在上午的选择题里。3. 软考网规视角下的VRRP考点拆解3.1 高频考点协议参数与报文细节网规和网工考试里VRRP相关知识点主要集中在几块。优先级判定规则是必考的我给学员复习时总会强调优先级0和255的特殊含义、默认优先级100、相同优先级比接口IP。其次就是虚拟MAC地址和组播地址虚拟MAC后两位是组ID这个数字跟VRRP group ID一致考试喜欢绕弯子比如问你“组ID为10的VRRP虚拟MAC是多少”答案是00-00-5E-00-01-0A。报文机制也是选择题常客。Master周期发送Advertisement报文默认间隔1秒Backup收到报文后重置Master_Down_Timer。高优先级设备会发送抢占报文低优先级设备收到后立即转为Backup。还有个容易被忽略的细节是VRRP报文是封装在IP报文里协议号是112。这个数字在抓包和ACL配置里都会出现做实验时过滤器填ip proto 112就能抓到VRRP报文。3.2 案例题给配置找错与故障输出判断下午案例题经常给一段现成的VRRP配置让考生判断网络故障原因。常见的出题素材包括两台设备VRRP组ID不一致导致各自都是Master虚拟IP和接口真实IP不在同一网段导致配置无效认证参数不一致导致主备失联两台设备优先级相同且都开启抢占网络震荡。这类题目考察的不是会不会敲命令而是能不能从display vrrp的输出里看出问题。典型的Master状态输出长这样Vlanif10display vrrp Vlanif10 | Virtual Router 1 State : Master Virtual IP : 192.168.10.254 Master IP : 192.168.10.1 PriorityRun : 120 PriorityConfig : 120 MasterPriority : 120 Preempt : YES Delay Time : 5 TimerRun : 1 s Auth Type : NONE如果两台设备都显示Master优先检查是不是组ID不一致再看认证配置。如果一台设备显示Initialize状态说明接口没有起来检查VLANIF是否创建、端口是否被shutdown。案例题答法跟实际排错一样按“先看状态再看配置最后看链路”的顺序来得分率会高很多。3.3 论文题VRRP在园区网中的设计网规论文跟网工案例题不一样重点在“设计”而不是“配置”。写VRRP相关论文不能只写怎么敲命令要写出设计思想。我建议从这几个角度展开第一说明网关单点故障对业务的真实影响引出冗余必要性第二给出多VLAN网关冗余设计比如VLAN10和VLAN20分别在不同的三层交换机上作为Master形成负载分担避免一台设备闲着、另一台满载第三引入上行链路联动配置Track接口让网关设备在上行出口故障时主动降低优先级第四接入BFD快速检测把故障收敛时间从秒级缩短到毫秒级。这样写出来的论文呈现的是一个有层次、有依据的可靠性方案而不仅仅是一堆命令的堆砌。网规考试看中的是“规划”能力用VRRP做网关冗余只是框架能把负载分担、链路联动、快速检测串起来讲才是拿高分的关键。4. 基于eNSP的VRRP实验配置实战4.1 eNSP里“交换机能不能做VRRP”的真相很多人在学习时都问过“eNSP里是不是用交换机做不了VRRP实验”。这个问题的关键在于普通二层交换机确实做不了因为VRRP运行在三层设备必须先有VLANIF或路由接口才能参与VRRP组。但eNSP自带的S5700系列三层交换机完全可以做。只要给交换机创建VLANIF并配上IP地址就能在这个三层接口下配置VRRP。还有一种常见做法是用路由器模拟三层网关路由器接口可以直接配置IP和VRRP。用交换机时一定要确认设备型号支持三层功能否则即使敲了命令接口下也不会出现vrrp vrid的配置提示。做实验前先把设备选型搞对能省掉后面一多半的“灵异问题”。4.2 两台三层交换机做主备网关的完整配置实验拓扑可以这样搭SW1和SW2是两台S5700各自连接一台PCSW1与SW2之间通过G0/0/3端口互联链路模式配成Trunk并放行VLANSW1的G0/0/0作为上行口模拟连接出口网关。VLAN10规划为业务网段虚拟网关IP是192.168.10.254。SW1作为Master优先级120SW2作为Backup优先级默认100。SW1的关键配置system-view vlan batch 10 interface GigabitEthernet0/0/0 port link-type access port default vlan 10 quit interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 quit interface Vlanif10 ip address 192.168.10.1 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.10.254 vrrp vrid 1 priority 120 vrrp vrid 1 preempt-mode timer delay 5 vrrp vrid 1 track interface GigabitEthernet0/0/0 reduced 40 quitSW2的关键配置system-view vlan batch 10 interface GigabitEthernet0/0/0 port link-type access port default vlan 10 quit interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 quit interface Vlanif10 ip address 192.168.10.2 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.10.254 quit这里重点说一下Track联动。SW1的Vlanif10上配置了track interface GigabitEthernet0/0/0 reduced 40意思是持续监控上行口G0/0/0的状态。如果这个口down掉SW1的VRRP优先级从120降为80低于SW2的默认100SW2就会接管网关。这个设计对应真实网络里的“上连接口故障”场景如果不做Track就算SW1上行断了SW1自己还是MasterVRRP不会切换业务照样中断。4.3 验证切换shutdown上行口实测主备切换配置完成后先确认状态。在SW1和SW2上分别执行display vrrp正常情况下SW1显示MasterSW2显示Backup。PC的网关配置成192.168.10.254然后持续ping网关地址。下一步做故障模拟。在SW1上执行shutdown关闭G0/0/0接口再观察两台设备状态SW1的Vlanif10状态会从Master变为BackupSW2从Backup变为Master。整个过程通常在几秒内完成PC上只丢几个包甚至不丢包取决于VRRP通告间隔和Track检测速度。这个实验能非常直观地理解“为什么网关冗余需要和上行链路联动”。还能顺便抓个包。在SW1和SW2的互联口上开启抓包可以看到Master周期发出的VRRP通告报文目的地址是224.0.0.18协议号是112。抓包是一种很好的学习方式能帮你从报文层面理解主备切换的过程。5. 常见配置错误、避坑清单与备考建议5.1 实验与配置中常见的五类坑第一选错了设备角色。二层交换机配不了VRRP这是很多新手踩的第一个坑解决办法是先确认设备支持三层接口。第二VLANIF没创建或者端口没有加入VLAN导致三层接口状态不是UpVRRP永远处于Initialize状态。第三两台设备的VRRP组ID不一致虚拟IP对不上结果各自为政都成了Master。第四优先级相同且都开了抢占容易引发主备反复切换表现为网络时断时续。第五认证配置不一致比如一台配了MD5另一台没配通告报文被丢弃还是会出现双主。现象可能原因排查方法VRRP状态为InitializeVLANIF未创建或接口Down检查VLANIF、接口状态两台设备都是Master组ID不一致或认证不匹配display vrrp核对参数主备频繁切换优先级相同抢占调整优先级或增加抢占延时上行故障但主备不切换缺少Track联动配置track interface终端无法ping通虚拟IP虚拟IP与接口IP不同网段核对IP规划和VRRP配置5.2 从软考备考到实际项目的经验迁移准备软考网工或者网规最忌讳死记硬背命令而不理解场景。VRRP的命令在不同厂商设备上略有差异华为是vrrp vrid 1 virtual-ip 192.168.10.254思科是standby 1 ip 192.168.10.254但原理完全一致。考试答题时如果给出华为设备就写华为命令如果没明确厂商就基于协议机制作答不要写死某款命令。从实际项目角度看VRRP也不是配完就完事的。要定期检查Master设备是否还是预期那台确认抢占模式、优先级、Track配置没有被误改。我在一个学校机房项目里遇到过主备切换后回不来的情况原因就是备份设备配置了更高的优先级重启后反而把原Master顶掉了。这种问题在软考的案例题里也出现过答题时就要有“故障恢复后是否自动回切”的敏感度。5.3 延伸更高阶的网关高可用设计VRRP并不是网关冗余的终点。多VRRP组可以做负载均衡比如VLAN10的Master在SW1VLAN20的Master在SW2两侧设备都能转发流量避免主设备空闲、备设备闲置。这种做法在软考论文里特别好用能体现设计者对设备利用率的思考。再往上走可以用BFD和VRRP联动实现毫秒级故障感知。BFD的检测速度可以达到几十毫秒比VRRP默认的1秒通告快得多适合对业务连续性要求高的场景。另外还有设备级虚拟化方案比如堆叠、集群把两台物理设备虚拟成一台逻辑设备配合跨设备链路聚合能同时消除设备单点和链路单点。但这些技术的复杂度更高脑裂风险也需要专门防护。设计可靠性方案时关键不是追求最先进的技术而是找到适合网络规模、运维能力和预算的平衡点。我自己在项目里用VRRP最多的场景是学校机房和园区办公网。原来图省事只用一台三层设备做网关后来一次雷击把设备打坏了整层楼断网一上午才老老实实把VRRP配上。做实验的时候建议别只盯着命令能不能敲进去多想想“如果上行断了会怎样”“如果主备优先级一样会怎样”把这些场景都验证一遍考试和实战就都不慌了。如果看完这篇你准备把VRRP配置加进自己的项目里我的建议是先画拓扑再写IP规划最后动手敲命令顺序反了后面全是坑。
