计算机网络-VRRP实验配置

前面我们大致学习了VRRP的概念和基本原理,但是网络这块就是要多敲命令多用才能印象深刻,今天开始进行一些实验配置,结合日常工作的场景分析VRRP在实际工作中的应用。

一、典型VRRP虚拟网关拓扑

典型VRRP拓扑示例 相比于传统单网关,采用VRRP虚拟网关技术需要增加一台网关以及拓扑连接线,可以实现网关地址是一个虚拟地址,单个网关设备故障不影响正常业务运行。

拓扑说明:

  • 在AR3创建环回接口模拟外网地址,AR1、AR2、AR3配置静态路由保证各路由可达
  • AR1与AR2创建VRID 1的虚拟组,配置虚拟网关地址192.168.1.254,客户端使用该地址进行数据转发
  • AR1优先级为200,AR2优先级为100,正常情况下AR1为Master设备,AR2为Backup设备,当Master出现故障AR2会切换为Master并发送免费ARP报文告知终端192.168.1.254由AR2进行响应

命令配置:

# AR1配置
# 配置上行接口
interface GigabitEthernet0/0/0ip address 10.0.0.1 255.255.255.0 
# 配置下行接口与VRRP组,优先级为200
interface GigabitEthernet0/0/1ip address 192.168.1.250 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254vrrp vrid 1 priority 200
# 配置AR1去往8.8.8.8/32的路由指向AR3
ip route-static 8.8.8.8 255.255.255.255 10.0.0.2# AR2配置
interface GigabitEthernet0/0/0ip address 10.0.1.1 255.255.255.0 
# 配置下行接口与VRRP组1,优先级为100,因为缺省为100所以不显示
interface GigabitEthernet0/0/1ip address 192.168.1.251 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254# 配置路由
ip route-static 8.8.8.8 255.255.255.255 10.0.1.2# AR3配置
# 配置接口地址
interface GigabitEthernet0/0/0ip address 10.0.0.2 255.255.255.0 
#
interface GigabitEthernet0/0/1ip address 10.0.1.2 255.255.255.0 
#
interface LoopBack0ip address 8.8.8.8 255.255.255.255 # 配置去往192.168.1.0/24的路由指向AR1与AR2
ip route-static 192.168.1.0 255.255.255.0 10.0.0.1
ip route-static 192.168.1.0 255.255.255.0 10.0.1.1

查看VRRP状态:通过display vrrp brief查看VRRP简要信息,通过display vrrp 1 verbose查看具体VRRP组的详细信息。

查看VRRP状态
查看VRRP状态

接下来模拟主设备故障,shutdown掉AR1的g0/0/1接口,查看VRRP状态与终端网络连通性。

模拟设备故障
模拟设备故障
AR2查看VRRP状态
AR2查看VRRP状态
AR2发送免费ARP报文
AR2发送免费ARP报文

当Master设备接口故障Backup缺省会立即抢占切换为Master并发送免费ARP报文,终端并不会有太明显感知。

二、VRRP监视上行端口

在上面的典型拓扑中,VRRP组致力于保证网关到达终端的下行接口的备份冗余,但是如果AR1与AR2的下行接口G0/0/1正常,但是上行接口故障呢,会出现什么情况?是否VRRP会进行切换?

VRRP监视上行端口
VRRP监视上行端口

正常情况下,下行接口没有出现故障或者状态变更不会进行切换,因此如果Master AR1上行接口故障,流量还是由AR1转发,但是AR1的上行故障导致流量黑洞,流量转发失败。

因此VRRP可以根据上行接口的状态对设备的优先级进行调整,当AR1的上行接口状态Down时,VRRP优先级减少101,因此当AR1上行接口变化会切换到AR2进行流量转发。

配置:

# 其它配置不变,在AR1或者AR2的配置中增加配置即可
# AR1配置,通过track模块联动接口状态变化或者BFD,reduced是减少,也可以increased增加特定优先级
interface GigabitEthernet0/0/1ip address 192.168.1.250 255.255.255.0 vrrp vrid 1 virtual-ip 192.168.1.254vrrp vrid 1 priority 200vrrp vrid 1 track interface GigabitEthernet0/0/0 reduced 101

一般情况下可以在主Master设备联动上行接口,Backup设备根据实际情况进行设置。

实现的效果:

模拟故障
模拟故障
AR1的优先级为99
AR1的优先级为99
AR2的优先级为100
AR2的优先级为100

通过上行接口的变化联动VRRP的优先级变化,进而进行主备切换,保障流量正常转发,避免流量黑洞。

三、VRRP配置命令示例

# 创建VRRP备份组并给备份组配置虚拟IP地址
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id  virtual-ip virtual-address# 配置路由器在备份组中的优先级,通常情况下,Master设备的优先级应高于Backup设备
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id priority priority-value# 配置备份组中设备的抢占延迟时间,缺省已经开启抢占,在网络波动时可能会震荡
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode timer delay delay-value#  配置VRRP备份组中设备采用非抢占模式,缺省已经开启抢占
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id preempt-mode disable# 配置VRRP备份组监视接口
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track interface interface-type interface-number [ increased value-increased | reduced value-decreased ]# 配置VRRP备份组联动普通BFD会话
[interface-GigabitEthernet0/0/0] vrrp vrid virtual-router-id track bfd-session { bfd-session-id | session-name bfd-configure-name } [ increased value-increased | reduced value-reduced ]# 查看VRRP简要信息
display vrrp brief# 查看VRRP组的详细信息
display vrrp 1 verbose

总结:这里简单做了两个实验案例,典型的主备切换与VRRP组监视上行接口,当上行接口状态变化而VRRP组没有进行切换时会导致流量黑洞,可以通过track模块关联BFD或者接口状态进行优先级的调整,进而影响主备切换。

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881773.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt/C++编写的mqtt调试助手使用说明

一、使用说明 第一步,选择协议前缀,可选mqtt://、mqtts://、ws://、wss://四种,带s结尾的是走ssl通信,ws表示走websocket通信。一般选默认的mqtt://就好。第二步,填写服务所在主机地址,可以是IP地址也可以…

2024.10月11日--- SpringMVC拦截器

拦截器 1 回顾过滤器: Servlet规范中的三大接口:Servlet接口,Filter接口、Listener接口。 过滤器接口,是Servlet2.3版本以来,定义的一种小型的,可插拔的Web组件,可以用来拦截和处理Servlet容…

Python 自动排班表格(代码分享)

✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…

CentOS安装NVIDIA驱动、CUDA以及nvidia-container-toolkit

0.提前准备 0.1.更新yum源(以阿里为例) 0.1.1 备份当前的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 0.1.2 下载新的CentOS-Base.repo 到/etc/yum.repos.d/ CentOS 5 wget -O /etc/yum.repos.d/CentOS-Base…

ORM框架简介

什么是ORM? ORM(Object-Relational Mapping,对象关系映射)是一种编程技术,用于在关系数据库和对象程序语言之间转换数据。ORM框架允许开发者以面向对象的方式来操作数据库,而不需要编写复杂的SQL语句。简单…

【Linux】命令行下的增删查改之“查看”

致谢:Linux常用命令大全(手册) – 真正好用的Linux命令在线查询网站 提供的命令查询 头部内容获取(head) head命令的功能是显示文件开头的内容,默认值为前10行。 指令参数: -n 定义显示行数 -c 指定显示头部内容的字符数 -v 总是显示文件名的头信…

告别手动计数:智能统计模型用量,释放设计潜力

添加HanTop-MKT,免费获取统计零件数量模型 非标设备行业的设计BOM因为涉及物料采购与装配数量要求,往往面临着需要数据准确性的严格要求,在缺乏自动化工具情况下,手动统计零件用量变得更加困难,且数据准确性得不到保障…

【uniapp】设置公共样式,实现公共背景等

目录 1、 全局渐变背景色 2.1 创建common目录 2.2 在common下新建style和images等目录 2.3 在style下新建common-style.scss 2.4 common-style输入全局渐变颜色 2.5 引入样式 2.6 业务页面引入 2.7 展示 2、全局字体颜色 2.1 新建base-style.scss文件 2.2 设置base-…

07 django管理系统 - 部门管理 - 搜索部门

在dept_list.html中&#xff0c;添加搜索框 <div class"container-fluid"><div style"margin-bottom: 10px" class"clearfix"><div class"panel panel-default"><!-- Default panel contents --><div clas…

Redis 其他类型 渐进式遍历

我们之前已经学过了Redis最常用的五个类型了&#xff0c;然而Redis还有一些在特定场景下比较好用的类型 Redis最关键的五个数据类型&#xff1a; 上面的类型是非常常用&#xff0c;很重要的类型。 除此之外的其他类型不常用&#xff0c;只是在特定的场景能够发挥用处&#…

无极低码课程【java(jdk)windows下安装及环境变量配置】

在Windows环境中安装JDK 7教程 Java Development Kit (JDK) 是开发Java应用程序所必需的工具包。本教程将指导您在Windows操作系统上安装JDK 7。 准备工作 下载JDK 7安装包 访问 Oracle官方网站 下载JDK 8的安装包。选择适合您操作系统的安装包(例如 jdk-7u80-windows-x64.ex…

vmware虚拟机 报错:客户机操作系统已禁用 CPU,请关闭或重置虚拟机 的解决方法

打开cpu虚拟化全部进行勾选 ctrl e 进行关机 勾选上打开就好了 如果没有那个选项 关机>打开虚拟机>管理>更改硬件兼容性> 往小处改改> >更改此虚拟机

[LeetCode] 515. 在每个树行中找最大值

题目描述&#xff1a; 给定一棵二叉树的根节点 root &#xff0c;请找出该二叉树中每一层的最大值。 示例1&#xff1a; 输入: root [1,3,2,5,3,null,9] 输出: [1,3,9]示例2&#xff1a; 输入: root [1,2,3] 输出: [1,3]提示&#xff1a; 二叉树的节点个数的范围是 [0,10…

基于SpringBoot的个性化健康建议平台

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及&#xff0c;互联网成为人们查找信息的重要场所&#xff0c;二十一世纪是信息的时代&#xff0c;所以信息的管理显得特别重要。因此&#xff0c;使用计算机来管理基于智能推荐的卫生健康系统的相关信息成为…

OpenTrans

比较的方法Cat-Seg不好复现

Spring 实现 3 种异步流式接口,干掉接口超时烦恼

大家好&#xff0c;我是小富&#xff5e; 如何处理比较耗时的接口&#xff1f; 这题我熟&#xff0c;直接上异步接口&#xff0c;使用 Callable、WebAsyncTask 和 DeferredResult、CompletableFuture等均可实现。 但这些方法有局限性&#xff0c;处理结果仅返回单个值。在某…

幸运7游戏模拟 python

题目&#xff1a; 幸运"7"游戏,用计算机模拟掷骰子的过程&#xff0c;测算两个骰子点数之和为7的概率。 游戏规则是你丢两个骰子&#xff0c;如果其点数之和为7你就赢4元&#xff0c;不是7你就输1元。 假设你刚开始有10元&#xff0c;当全部输掉为0元的时候游戏结…

【网络安全】1,600$:Auth0 错误配置

未经许可,不得转载。 文章目录 前言正文漏洞案例修复建议前言 Auth0 是一个广泛用于网站和应用程序的身份验证平台,负责管理用户身份并确保其服务的安全访问。该平台提供了多种工作流程,以无缝集成登录和注册流程。 在 Auth0 中创建新应用时,注册选项默认启用。当系统禁用…

Android 无Bug版 多语言设计方案!

出海业务为什么要做多语言&#xff1f; 1.市场扩大与本地化需求&#xff1a; 通过支持多种语言&#xff0c;出海项目可以触及更广泛的国际用户群体&#xff0c;进而扩大其市场份额。 本地化是吸引国际用户的重要策略之一&#xff0c;而语言本地化是其中的核心。使用用户的母语…

c语言字符函数

1&#xff0c;字符分类函数&#xff1a; 例如&#xff1a;写一个代码将字符串中的小写字母转化成大写字母 就可以用到上述islower函数判断字符是否是小写 2.字符转换函数 c语言提供了两个字符转换函数 1.int tolower (int c); //将输入进去的大写字母转化成小写 2,int …