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 是一个用…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
NFT模式:数字资产确权与链游经济系统构建
NFT模式:数字资产确权与链游经济系统构建 ——从技术架构到可持续生态的范式革命 一、确权技术革新:构建可信数字资产基石 1. 区块链底层架构的进化 跨链互操作协议:基于LayerZero协议实现以太坊、Solana等公链资产互通,通过零知…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南
精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南 在数字化营销时代,邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天,我们将深入解析邮件打开率、网站可用性、页面参与时…...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
Java + Spring Boot + Mybatis 实现批量插入
在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法:使用 MyBatis 的 <foreach> 标签和批处理模式(ExecutorType.BATCH)。 方法一:使用 XML 的 <foreach> 标签ÿ…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
Python Einops库:深度学习中的张量操作革命
Einops(爱因斯坦操作库)就像给张量操作戴上了一副"语义眼镜"——让你用人类能理解的方式告诉计算机如何操作多维数组。这个基于爱因斯坦求和约定的库,用类似自然语言的表达式替代了晦涩的API调用,彻底改变了深度学习工程…...
