HSRP热备份路由协议(VRRP虚拟路由冗余协议)配置以及实现负载均衡
1、相关原理
在网络中,如果一台作为默认网关的三层交换机或者路由器损坏,所有使用该网关为下一跳的主机通信必然中断,即使配置多个默认网关,在不重启终端的情况下,也不能彻底换到新网关。Cisco提出了HSRP热备份路由协议,VRRP虚拟路由冗余协议一样,他们采用主备模式,将一个协议组内的多个路由设备映射为一个虚拟路由设备,当其中任意一个发生故障时,组内其它设备顶替损坏设备担任主路由设备。(本文采用的是HSRP协议配置方式,VRRP相关配置命令一致)
一个HSRP组中只有一台主控设备,可以有一台或者多台处于备份角色的设备,HSRP使用选择策略从该组中选择一个作为主控,负责ARP响应和IP数据包转发,备份设备处于待命状态。
比如说路由器,我们只需要在一个路由器上配置虚拟路由号和虚拟IP地址,同时会产生一个虚拟MAC地址,这样,就在网络中添加了一个虚拟路由器。
2、搭建网络

3、配置主机和服务器
规划主机IP地址
单击PC主机,选择桌面,单击IP配置,输入规划好的主机IP和默认网关,子网掩码会自动生成

对PC2-PC4做相同配置



服务器IP地址进行一样的操作

4、配置交换机
配置交换机1,创建vlan10、20、30、40,vlan10和vlan20用于接入主机,交换方式设置为access
vlan30和vlan40用于连接路由器,交换方式设置为trunk
vlan相关配置完成后,接下来配置OSPF动态路由协议,将路由器划分到OSPF area 123
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10
Switch(config-vlan)#name vlan10
Switch(config-vlan)#exit
Switch(config)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#exit
Switch(config)#vlan 30
Switch(config-vlan)#name vlan30
Switch(config-vlan)#exit
Switch(config)#vlan 40
Switch(config-vlan)#name vlan40
Switch(config-vlan)#exitSwitch(config)#int f0/1
Switch(config-if)#switchport access vlan 10
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#int f0/2
Switch(config-if)#switchport access vlan 20
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#int f0/3
Switch(config-if)#switchport access vlan 10
Switch(config-if)#no shutdown
Switch(config-if)#exit
Switch(config)#int f0/4
Switch(config-if)#switchport access vlan 20
Switch(config-if)#no shutdown
Switch(config-if)#exitSwitch(config)#int f0/5
Switch(config-if)#switchport trunk all vlan 30
Switch(config-if)#switchport trunk all vlan add 10
Switch(config-if)#switchport trunk all vlan add 20
Switch(config-if)#no shutdown
Switch(config-if)#exitSwitch(config)#int f0/6
Switch(config-if)#switchport trunk all vlan 40
Switch(config-if)#switchport trunk all vlan add 10
Switch(config-if)#switchport trunk all vlan add 20
Switch(config-if)#no shutdown
Switch(config-if)#exitSwitch(config)#int vlan10
Switch(config-if)#ip address 192.168.1.1 255.255.255.0
Switch(config-if)#exitSwitch(config)#int vlan 20
Switch(config-if)#ip address 192.168.2.1 255.255.255.0
Switch(config-if)#exitSwitch(config)#int vlan 30
Switch(config-if)#ip address 192.168.3.1 255.255.255.0
Switch(config-if)#exitSwitch(config)#int vlan 40
Switch(config-if)#ip address 192.168.4.1 255.255.255.0
Switch(config-if)#exitSwitch(config)#ip routing
Switch(config)#router ospf 1
Switch(config-router)#network 192.168.1.0 0.0.0.255 area 123
Switch(config-router)#network 192.168.2.0 0.0.0.255 area 123
Switch(config-router)#network 192.168.3.0 0.0.0.255 area 123
Switch(config-router)#network 192.168.4.0 0.0.0.255 area 123
Switch(config-router)#end
配置交换机2,创建vlan50、60、70,vlan 50用于连接服务器和交换机,交换方式也是access,vlan 60和vlan 70用于连接路由器和交换机,交换方式trunk,此处创建vlan以及vlan接入方式同上文。
Switch>enable
Switch#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#hostname Switch2Switch2(config)#vlan 50
Switch2(config-vlan)#name vlan50
Switch2(config-vlan)#exitSwitch2(config)#vlan 60
Switch2(config-vlan)#name vlan60
Switch2(config-vlan)#exitSwitch2(config)#vlan 70
Switch2(config-vlan)#name vlan70
Switch2(config-vlan)#exitSwitch2(config)#int f0/1
Switch2(config-if)#switchport access vlan 50
Switch2(config-if)#no shutdown
Switch2(config-if)#exitSwitch2(config)#int f0/2
Switch2(config-if)#no shutdown
Switch2(config-if)#switchport trunk all vlan 60
Switch2(config-if)#switchport trunk all vlan add 50
Switch2(config-if)#switchport trunk all vlan add 70
Switch2(config-if)#exitSwitch2(config)#int f0/3
Switch2(config-if)#no shutdown
Switch2(config-if)#switchport trunk all vlan 70
Switch2(config-if)#switchport trunk all vlan add 50
Switch2(config-if)#switchport trunk all vlan add 60
Switch2(config-if)#exitSwitch2(config)#int vlan 50
Switch2(config-if)#ip address 8.8.8.254 255.0.0.0
Switch2(config-if)#exitSwitch2(config)#int vlan 60
Switch2(config-if)#ip address 192.168.6.1 255.255.255.0
Switch2(config-if)#exitSwitch2(config)#int vlan 70
Switch2(config-if)#ip address 192.168.7.1 255.255.255.0
Switch2(config-if)#exitSwitch2(config)#ip routing
Switch2(config)#router ospf 1
Switch2(config-router)#network 8.0.0.0 255.255.255.0 area 123
Switch2(config-router)#network 192.168.6.0 0.0.0.255 area 123
Switch2(config-router)#network 192.168.7.0 0.0.0.255 area 123
Switch2(config-router)#exit

5、配置路由器
配置端口g0/0/0,设置该端口的IP地址,设置两个子接口192.168.1.10和192.168.2.10,每个子接口划分成组,配置虚拟网关,是否抢占,优先级
//进入全局配置模式,并修改路由器名称R1
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R1//配置子接口1,IP以及虚拟ip网关
R1(config)#int g0/0/0.1
R1(config-subif)#encapsulation dot1q 10
R1(config-subif)#ip address 192.168.1.1 255.255.255.0 //子接口IP地址
R1(config-subif)#standby 1 ip 192.168.1.10 //vlan10的虚拟网关
R1(config-subif)#standby 1 preempt //设置为抢占模式
R1(config-subif)#standby 1 priority 200 //设置优先级为200
R1(config-subif)#exit//配置子接口2,IP以及虚拟ip网关
R1(config)#int g0/0/0.2
R1(config-subif)#encapsulation dot1q 20
R1(config-subif)#ip address 192.168.2.1 255.255.255.0
R1(config-subif)#standby 2 ip 192.168.2.10
R1(config-subif)#standby 2 preempt
R1(config-subif)#standby 2 priority 150
R1(config-subif)#exit//配置接口
R1(config)#int gigabitEthernet 0/0/1
R1(config-if)#ip address 192.168.6.2 255.255.255.0//ospf视图下发布直连路由
R1(config)#router ospf 1
R1(config-router)#network 192.168.3.0 0.0.0.255 area 123
R1(config-router)#network 192.168.6.0 0.0.0.255 area 123
R1(config-router)#exit
配置后查看路由表

(另一台路由器做相同配置,注意划分网段和IP)
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#hostname R2R2(config)#int g0/0/0.1
R2(config-subif)#encapsulation dot1q 10
R2(config-subif)#ip address 192.168.1.1 255.255.255.0
R2(config-subif)#standby 1 ip 192.168.1.10
R2(config-subif)#standby 1 preempt
R2(config-subif)#standby 1 priority 150
R2(config-subif)#exitR2(config)#int g0/0/0.2R2(config-subif)#encapsulation dot1q 20
R2(config-subif)#ip address 192.168.2.1 255.255.255.0
R2(config-subif)#standby 2 ip 192.168.2.10
R2(config-subif)#standby 2 preempt
R2(config-subif)#standby 2 priority 200
R2(config-subif)#exitR2(config)#int g0/0/0
R2(config-if)#no shutdown
R2(config-if)#ip address 192.168.4.2 255.255.255.0
R2(config-if)#exitR2(config)#int g0/0/1
R2(config-if)#no shutdown
R2(config-if)#ip address 192.168.7.1 255.255.255.0
R2(config-if)#exitR2(config)#router ospf 1
R2(config-router)#network 192.168.7.0 0.0.0.255 area 123
R2(config-router)#network 192.168.4.0 0.0.0.255 area 123
R2(config-router)#exit
相关文章:
HSRP热备份路由协议(VRRP虚拟路由冗余协议)配置以及实现负载均衡
1、相关原理 在网络中,如果一台作为默认网关的三层交换机或者路由器损坏,所有使用该网关为下一跳的主机通信必然中断,即使配置多个默认网关,在不重启终端的情况下,也不能彻底换到新网关。Cisco提出了HSRP热备份路由协…...
不同集成学习算法的比较:随机森林、AdaBoost、XGBoost、LightGBM
好的,我来为您比较一些常见的集成学习算法,并生成表格形式以便于对比: 算法主要思想和特点应用场景并行处理支持稳定性和鲁棒性主要优化策略和技术AdaBoost使用加权投票组合多个弱分类器,逐步提升分类器性能二分类和多分类问题&a…...
【聊聊原子性,中断,以及nodejs中的具体示例】
什么是原子性 从一个例子说起, x ,读和写 , 如图假设多线程,线程1和线程2同时操作变量x,进行x的操作,那么由于写的过程中,都会先读一份x数据到cpu的寄存器中,所以这个时候cpu1 和 c…...
常见网络端口号
在网络工程领域,了解和掌握默认端口号是至关重要的。端口号是计算机网络中最基本的概念之 一,用于标识特定的网络服务或应用程序。 1、什么是端口号? 端口号是计算机网络中的一种标识,用于区分不同的网络服务和应用程序。每个端…...
【数值计算库-超长笔记】Python-Mpmath库:高精度数值计算
原文链接:https://www.cnblogs.com/aksoam/p/18279394 更多精彩,关注博客园主页,不断学习!不断进步! 我的主页 csdn很少看私信,有事请b站私信 博客园主页-发文字笔记-常用 有限元鹰的主页 内容…...
昇思25天学习打卡营第6天|函数式自动微分
函数式自动微分 相关前置知识复习 深度学习的重点之一是神经网络。而神经网络很重要的一环是反向传播算法,这个算法用于调整神经网络的权重。 反向传播算法 这里举例说明反向传播在做什么。 假设你是一个学生,一次考试过后,你收到了一份老…...
作业7.2
用结构体数组以及函数完成: 录入你要增加的几个学生,之后输出所有的学生信息 删除你要删除的第几个学生,并打印所有的学生信息 修改你要修改的第几个学生,并打印所有的学生信息 查找你要查找的第几个学生,并打印该的学生信息 1 /*…...
PCL 点云聚类(基于体素连通性)
文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里的思路很简单,我们通过将点云转换为体素,基于体素的连通性实现对点云的聚类(有点类似于欧式聚类),不过这种方式进行的聚类有些粗糙,但聚类速度相对会快很多,具体的实现效果可以详细阅读代码。 二、实现代…...
python自动化运维--DNS处理模块dnspython
1.dnspython介绍 dnspython是Pyhton实现的一个DNS工具包,他几乎支持所有的记录类型,可以用于查询、传输并动态更新ZONE信息,同事支持TSIG(事物签名)验证消息和EDNS0(扩展DNS)。在系统管理方面&a…...
成人职场商务英语学习柯桥外语学校|邮件中的“备注”用英语怎么说?
在英语中,"备注"通常可以翻译为"Notes" 或 "Remarks"。 这两个词在邮件中都很常用。例如: 1. Notes Notes: 是最通用和最常见的表达,可以用在各种情况下,例如: 提供有关电子邮件内容的附加信息 列…...
AndroidStudio报错macMissing essential plugin
电脑重启后打开studio: Missing essential plugin: org.jetbrains.android Please reinstall Android Studio from scratch. 无法使用 对应Mac下disabled_plugins.txt位于如下目录: /Users/ACB/Library/Application Support/Google/AndroidStudio4.2 …...
doris集群物理部署保姆级教程
doris物理安装 1、安装要求 Linux 操作系统版本需求 查看CentOs版本(>7.1) cat /etc/redhat-release 1)设置系统最大打开文件句柄数 vi /etc/security/limits.conf soft nofile 65536hard nofile 65536 echo ‘’’ soft nofile 655360hard nofile 655…...
探囊取物之多形式登录页面(基于BootStrap4)
基于BootStrap4的登录页面,支持手机验证码登录、账号密码登录、二维码登录、其它统一登录 低配置云服务器,首次加载速度较慢,请耐心等候;演练页面可点击查看源码 预览页面:http://www.daelui.com/#/tigerlair/saas/pr…...
【ONLYOFFICE】| 桌面编辑器从0-1使用初体验
目录 一. 🦁 写在前面二. 🦁 在线使用感受2.1 创建 ONLYOFFICE 账号2.2 编辑pdf文档2.3 pdf直接创建表格 三. 🦁 写在最后 一. 🦁 写在前面 所谓桌面编辑器就是一种用于编辑文本、图像、视频等多种自媒体的软件工具,具…...
20、PHP字符串的排列(含源码)
题目: PHP字符串的排列? 描述: 输入一个字符串,按字典序打印出该字符串中字符的所有排列。 例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。 输入描述: 输入一个字符串,长度不超过9(可…...
Linux 标准IO的fopen和fclose
getchar(),putchar() ‐‐‐‐ 一个字符 gets(buf),puts(buf) ‐‐‐‐ 一串字符 scanf(),printf() ‐‐‐‐ 一个字符,一串字符都可以 fopen函数的形式 FILE * fopen(constchar *path , cost char *mode) /* * description : 打开一个文件 * param ‐ path…...
一个计算密集小程序在不同CPU下的表现
本文比较了几款CPU对同一测试程序的比较结果,用的是Oracle公有云OCI上的计算实例,均分配的1 OCPU,内存用的默认值,不过内存对此测试程序运行结果不重要。 本文只列结果,不做任何评价。下表中,最后一列为测…...
圈子系统搭建教程,以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP小程序H5
圈子是一款社区与群组的交友工具。你可以在软件内创造一个兴趣的群组从而达到按圈子来交友的效果用户可以根据自己的兴趣爱好。 1. 创建圈子 轻松创建专属圈子,支持付费型社群。 2. 加入圈子 加入不同圈子,设置不同名片,保护隐私。 3. 定…...
递归算法练习
112. 路径总和 package Tree;import java.util.HashMap; import java.util.Map;class TreeNode {int val;TreeNode left;TreeNode right;public TreeNode(int val) {this.val val;} }/*** 求 树的路径和* <p>* 递归 递减* <p>* 询问是否存在从*当前节点 root 到叶…...
WebDriver 类的常用属性和方法
目录 🎍简介 🎊WebDriver 核心概念 🎉WebDriver 常用属性 🎁WebDriver 常用方法 🐷示例代码 🎪注意事项 🎐结语 🧣参考资料 🎍简介 Selenium WebDriver 是一个用…...
Z-Image-GGUF实战:为Android应用集成AI头像生成功能
Z-Image-GGUF实战:为Android应用集成AI头像生成功能 最近在做一个社交类的Android应用,产品经理提了个需求,想加入一个“AI生成个性头像”的功能。用户上传一张自己的照片,选择喜欢的风格(比如动漫风、油画感、像素艺…...
G-Helper终极指南:华硕ROG笔记本性能优化神器完全解析
G-Helper终极指南:华硕ROG笔记本性能优化神器完全解析 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目地址…...
Ubuntu 20.04 LTS下Miniconda3安装与配置全攻略(含常见错误解决)
Ubuntu 20.04 LTS下Miniconda3安装与配置全攻略(含常见错误解决) 如果你正在Ubuntu 20.04 LTS上搭建Python开发或数据科学环境,Miniconda3绝对是一个值得考虑的选择。作为Anaconda的精简版,它保留了核心的conda包管理功能&#x…...
Grok-1开源项目终极指南:从入门到精通完整教程
Grok-1开源项目终极指南:从入门到精通完整教程 【免费下载链接】grok-1 马斯克旗下xAI组织开源的Grok AI项目的代码仓库镜像,此次开源的Grok-1是一个3140亿参数的混合专家模型 项目地址: https://gitcode.com/GitHub_Trending/gr/grok-1 想要体验…...
LiuJuan20260223Zimage与Typora协作:智能化Markdown文档创作
LiuJuan20260223Zimage与Typora协作:智能化Markdown文档创作 每次打开Typora,看着那个简洁到极致的界面,我都会有种创作的冲动。但冲动归冲动,真到了要写一篇技术博客、整理一份项目文档,或者梳理一堆零散笔记的时候&…...
当Transformer遇上魔改鲸鱼:时序预测还能这么玩
GSWOA-Transformer多变量时序预测 Matlab代码 基于改进鲸鱼优化算法(GSWOA)优化Transformer的数据回归预测(可以更换为分类/单变量时序预测/回归,前私我),Matlab代码,可直接运行,适合小白新手 程序已经调试好,无需更改…...
用Matlab/Simulink手把手教你设计交错式升压DC-DC转换器(附PI参数整定代码)
从零构建交错式升压DC-DC转换器的MATLAB实战指南 交错式升压拓扑正在新能源领域掀起一场静默革命——当电动汽车的电池管理系统需要稳定升压时,当光伏逆变器要处理不稳定的直流输入时,这种能显著降低电流纹波的结构已成为工程师的秘密武器。但理论图纸与…...
Vue3实战:5分钟搞定全局WebSocket封装(含心跳检测与断线重连)
Vue3全局WebSocket封装实战:心跳检测与断线重连的最佳实践 WebSocket在现代Web应用中扮演着越来越重要的角色,特别是在需要实时数据更新的场景中。Vue3作为当前最流行的前端框架之一,与WebSocket的结合能够为开发者提供强大的实时交互能力。本…...
Linux服务器无GPU也能跑!Ollama部署DeepSeek-R1模型存储路径自定义与性能调优指南
Linux服务器无GPU高效部署DeepSeek-R1模型全攻略:从存储路径优化到性能调优 当你在云服务器或老旧设备上尝试运行AI模型时,是否经常遇到存储空间不足或性能低下的困扰?本文将带你深入探索如何在无GPU的Linux环境中,通过Ollama高效…...
从数据孤岛到智能协作:DeerFlow如何重构AI研究范式
从数据孤岛到智能协作:DeerFlow如何重构AI研究范式 【免费下载链接】deer-flow DeerFlow is a community-driven framework for deep research, combining language models with tools like web search, crawling, and Python execution, while contributing back t…...
