VRRP联动BFD的相关配置

今天就与大家分享VRRP联动BFD的相关配置,同时也会演示一下没有BFD的情况下,又是如何呢?前后做个对比,只要把情况了解清楚了,初学者才能更加深刻地掌握它。

一、实验拓扑图

二、配置思路

我们在做任何事情,都需要先整理一下思路,思路清晰了,你才能更好地去完成一件事。

1、搭建环境。(参照拓扑图,把环境搭建好,IP规划标准好等)

2、基础配置。(这一部几乎任何实验或多或少都会涉及到,都一样的,把设备名、直连接口ip地址、router id配置好)

3、路由配置。(使用IGP协议,如OSPF协议实现全网可达)

4、配置VRRP协议。

5、没有配置BFD情况下,模拟上联路由器线路中断的情况。

6、配置静态BFD。

7、VRRP联动BFD。

8、验证上联路由器线路中断的情况。

三、配置过程

01

搭建环境。

略。直接参考拓扑图搭建即可。

02

基础配置

R1配置:

<Huawei>sys

[Huawei]sys R1

[R1]

[R1]router id 1.1.1.1

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]ip add 192.168.1.1 24

[R1-GigabitEthernet0/0/0]undo shut

[R1-GigabitEthernet0/0/0]quit

[R1]int g0/0/1

[R1-GigabitEthernet0/0/1]ip add 13.1.1.1 24

[R1-GigabitEthernet0/0/1]undo shut

[R1-GigabitEthernet0/0/1]quit

[R1]

R2配置:

<Huawei>sys

[Huawei]sys R2

[R2]

[R2]router id 2.2.2.2

[R2]int g0/0/0

[R2-GigabitEthernet0/0/0]ip add 192.168.1.2 24

[R2-GigabitEthernet0/0/0]undo shut

[R2-GigabitEthernet0/0/0]quit

[R2]int g0/0/1

[R2-GigabitEthernet0/0/1]ip add 24.1.1.2 24

[R2-GigabitEthernet0/0/1]undo shut

[R2-GigabitEthernet0/0/1]quit

[R2]

R3配置:

<Huawei>sys

[Huawei]

[Huawei]sys R3

[R3]router id 3.3.3.3

[R3]int g0/0/0

[R3-GigabitEthernet0/0/0]ip add 13.1.1.3 24

[R3-GigabitEthernet0/0/0]undo shut

[R3-GigabitEthernet0/0/0]quit

[R3]

[R3]int g0/0/1

[R3-GigabitEthernet0/0/1]ip add 35.1.1.3 24

[R3-GigabitEthernet0/0/1]undo shut

[R3-GigabitEthernet0/0/1]quit

[R3]

R4配置:

<Huawei>sys

[Huawei]sys R4

[R4]

[R4]router id 4.4.4.4

[R4]int g0/0/0

[R4-GigabitEthernet0/0/0]ip add 24.1.1.4 24

[R4-GigabitEthernet0/0/0]undo shut

[R4-GigabitEthernet0/0/0]quit

[R4]

[R4]int g0/0/1

[R4-GigabitEthernet0/0/1]ip add 45.1.1.4 24

[R4-GigabitEthernet0/0/1]undo shut

[R4-GigabitEthernet0/0/1]quit

[R4]

R5配置:

<Huawei>sys

[Huawei]sys R5

[R5]router id 5.5.5.5

[R5]int g0/0/0

[R5-GigabitEthernet0/0/0]ip add 35.1.1.5 24

[R5-GigabitEthernet0/0/0]undo shut

[R5-GigabitEthernet0/0/0]quit

[R5]

[R5]int g0/0/1

[R5-GigabitEthernet0/0/1]ip add 45.1.1.5 24

[R5-GigabitEthernet0/0/1]undo shut

[R5-GigabitEthernet0/0/1]quit

[R5]

[R5]int g0/0/2

[R5-GigabitEthernet0/0/2]ip add 172.16.1.254 24

[R5-GigabitEthernet0/0/2]undo shut

[R5-GigabitEthernet0/0/2]quit

[R5]

分公司PC1IP地址配置:

总部服务器IP地址配置:

03

路由配置

这里以配置OSPF路由协议为例,实现全网可达。

R1的OSPF配置,如下:

[R1]ospf

[R1-ospf-1]area 0

[R1-ospf-1-area-0.0.0.0]net 13.1.1.0 0.0.0.255

[R1-ospf-1-area-0.0.0.0]net 192.168.1.0 0.0.0.255

[R1-ospf-1-area-0.0.0.0]quit

[R1-ospf-1]quit

[R1]

R2的OSPF配置,如下:

[R2]ospf

[R2-ospf-1]area 0

[R2-ospf-1-area-0.0.0.0]net 24.1.1.0 0.0.0.255

[R2-ospf-1-area-0.0.0.0]net 192.168.1.0 0.0.0.255

[R2-ospf-1-area-0.0.0.0]quit

[R2-ospf-1]quit

[R2]

R3的OSPF配置,如下:

[R3]ospf

[R3-ospf-1]area 0

[R3-ospf-1-area-0.0.0.0]net 13.1.1.0 0.0.0.255

[R3-ospf-1-area-0.0.0.0]net 35.1.1.0 0.0.0.255

[R3-ospf-1-area-0.0.0.0]quit

[R3-ospf-1]quit

[R3]

R4的OSPF配置,如下:

[R4]ospf

[R4-ospf-1]area 0

[R4-ospf-1-area-0.0.0.0]net 24.1.1.0 0.0.0.255

[R4-ospf-1-area-0.0.0.0]net 45.1.1.0 0.0.0.255

[R4-ospf-1-area-0.0.0.0]quit

[R4-ospf-1]quit

[R4]

R5的OSPF配置,如下:

[R5]ospf

[R5-ospf-1]area 0

[R5-ospf-1-area-0.0.0.0]net 35.1.1.0 0.0.0.255

[R5-ospf-1-area-0.0.0.0]net 45.1.1.0 0.0.0.255

[R5-ospf-1-area-0.0.0.0]net 172.16.1.0 0.0.0.255

[R5-ospf-1-area-0.0.0.0]quit

[R5-ospf-1]quit

[R5]

可以在每台路由器查看一下OSPF邻居状态,以便确认一下配置没问题:

这里以R1为例:

04

配置VRRP协议

在R1创建VRRP备份组,VIP地址为 192.168.1.254(这个地址就是给网关地址,在给终端配置网关IP的时候就可以填它),把R1设置为主路由器,即优先级修改为120,默认是100,越高越优先成为主路由器。设置抢占延时10秒。

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254

[R1-GigabitEthernet0/0/0]vrrp vrid 1 priority 120

[R1-GigabitEthernet0/0/0]vrrp vrid 1 preempt-mode timer delay 10

[R1-GigabitEthernet0/0/0]quit

[R1]

在R2上创建VRRP备份组:

[R2]int g0/0/0

[R2-GigabitEthernet0/0/0]vrrp vrid 1 virtual-ip 192.168.1.254

[R2-GigabitEthernet0/0/0]quit

[R2]

在R1上,查看一下VRRP状态:可以看到R1为Mster(主)

在R2上,查看一下VRRP状态:可以看到R2为backup(备)

在PC1ping一下虚拟IP地址(192.168.1.254)和总部服务器ip地址(172.16.1.100):

在PC1 你tracert一下服务器地址,看看路径是怎么走?

你会发现实际是走R1出去的,因为R1是VRRP备份组的主路由器,只有当R1挂了或者R1的g0/0/0挂了,才会切换到R2。网关地址仍然还是192.168.2.254,只不过是走R2而已。

现在我们把R1的G0/0/0 先shutdown看看,shutdown之前,在PC1先开启长ping,看看VRRP切换到备,丢几个包:

R1上手工shutdown接口G0/0/0:

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]shutdown

查看丢包情况:

我们发现丢了2个包,你现在你应该明白了VRRP的作用了吧!

如果没有VRRP,想R1挂了,你可能还需要修改PC的网关地址,如果你这个局域网段有一百多台PC,那你岂不是要一台一台的修改网关地址了?

我们再次tracert,你会发现走R2出去了。

05

没有配置BFD情况下,模拟上联路由器线路中断的情况。

ok,我们先把R1的G0/0/0的接口shutdown恢复一下,然后在总部R3与R5之间模拟线路中断,来看看PC1访问总部服务器的连通性如何?丢包情况又是如何?

在R1恢复G0/0/0:

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]undo shut

PC1去往总部服务器172.16.1.1走R1了:

在总部R3与R5之间模拟线路中断,在R5的G0/0/0接口手工shutdown:

[R5]int g0/0/0

[R5-GigabitEthernet0/0/0]shutdown

现在我们在PC1在tracert一下总部服务器172.16.1.1:

会存在次优路径的问题,这是因为R1的直连R3链路都是ok,都是up的,R1无法感知R5与R3直接的链路down了,所以R1一直为VRRP的主路由。

接下来,我们联动BFD,当BFD探测R1走R3到R5之间的路径中断了,就切换到R2为VRRP的主路由,R1自己为备份路由。

06

配置静态BFD

在R1配置静态BFD会话:

[R1]bfd

[R1-bfd]quit

[R1]bfd 1to5 bind peer-ip 35.1.1.5

[R1-bfd-session-1to5]discriminator local 1

[R1-bfd-session-1to5]discriminator remote 2

[R1-bfd-session-1to5]min-rx-interval 50

[R1-bfd-session-1to5]min-tx-interval 50

[R1-bfd-session-1to5]commit

[R1-bfd-session-1to5]quit

[R1]

在R5配置静态BFD会话:

[R5]bfd

[R5-bfd]quit

[R5]

[R5]bfd 5to1 bind peer-ip 13.1.1.1

[R5-bfd-session-5to1]discriminator local 2

[R5-bfd-session-5to1]discriminator remote 1

[R5-bfd-session-5to1]min-rx-interval 50

[R5-bfd-session-5to1]min-tx-interval 50

[R5-bfd-session-5to1]commit

[R5-bfd-session-5to1]quit

[R5]

在R1上查看bfd会话:

07

VRRP联动BFD

在R1上的G0/0/0接口下,进入到VRRP,联动bfd会话,并将优先级减50。即当bfd会话down了,vrrp的优先级由原先120减去50,降为70。这样R2就抢占为主路由了。

[R1]int g0/0/0

[R1-GigabitEthernet0/0/0]vrrp vrid 1 track bfd-session 1 reduced 50

我们先再次来查看一下PC1 去总部服务器172.16.1.100的路径:

也查看一下,当前R1 vrrp的优先级,为120:

现在是走R1出去。现在我们再次把R5的G0/0/0接口手工shutdown了,模拟中断:

[R5]int g0/0/0

[R5-GigabitEthernet0/0/0]shutdown

然后来查看一下,PC1去往总部服务器的路径,看看是否又绕回来走R2了:

你会发现,直接走R2了。没像一开始那样,先走R1 再绕回来走R2了。

我们现在也可以来查看一下R1的vrrp优先级是否减50了?

R1果然减50了,降为70了,也为backup了。

R2的优先级为100,由于R1的优先级为70, 100大于70,所以R2优先级高,成为Master:

ok,本期就分享到这里了,有兴趣的,可以收藏本文,回头自己也去做一遍。

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

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

相关文章

CTF中的命令执行绕过方式

引言 不论在CTF还是实战中&#xff0c;命令执行的场景五花八门&#xff0c;那么往往在一些小型比赛中&#xff0c;会以那种PING接口进行getflag操作。 0x01&#xff1a;管道符 在用linux命令时候,我们可以一行执行多条命令或者有条件的执行下一条命令&#xff0c;下面我们讲解…

24.6.2(动态开点线段树)

星期一&#xff1a; cf edu round 36 E cf传送门 题意&#xff1a;1到n天初始全为工作日&#xff0c;有两种操作&#xff0c;将 l-r 区间变为 工作日/休息日&#xff0c;每次操作后询问剩余总工作日有多少 思路&…

【npm】创建和发布无作用域的公共包

目录 1、创建包项目 2、进入目录 3、初始化项目 4、查看当前npm镜像源 5、切换镜像源 6、查看当前登录用户 7、登录 npm 用户 8、发布 9、查看公共包页面 10、删除已发布的npm包 11、&#x1f4da;总结 1、创建包项目 # 在命令行上&#xff0c;为包创建目录 mkdir…

Redis集群方案有哪些?

今天咱们来聊聊Redis集群方案&#xff0c;想象一下Redis是个超级大的储物柜&#xff0c;里面放满了你各种各样的宝贝&#xff08;数据&#xff09;。但随着宝贝越来越多&#xff0c;一个储物柜不够用了&#xff0c;这时候我们就得想方设法扩大空间&#xff0c;还要保证找东西依…

假指纹与活体指纹检测

目录 1. 假指纹简介 2. 假指纹制作流程 3. 活体指纹检测 4. 活体指纹检测竞赛 1. 假指纹简介 随着科学技术的发展&#xff0c;指纹技术以各种各样的形式进入了我们的生活。在大多数情况下&#xff0c;指纹识别应用于移动设备和桌面设备解决方案&#xff0c;以提供安全方便的…

Eclipse语言编程:深入探索与实用技巧

Eclipse语言编程&#xff1a;深入探索与实用技巧 在编程领域&#xff0c;Eclipse以其强大的功能和灵活的扩展性赢得了众多开发者的青睐。然而&#xff0c;对于初学者来说&#xff0c;Eclipse语言编程可能是一个充满挑战和困惑的领域。本文将从四个方面、五个方面、六个方面和七…

android高效读图方式——Hardwarebuffer读图

安卓上有许许多多使用OpenGL来渲染的原因&#xff0c;比方说做特效/动画/硬解/人脸识别等等。渲染完成后如何从gpu中把数据快速读取出来也是高效图像处理中的重要的一环。 相对于glReadPixel的同步读取方式&#xff0c;安卓GLES3.0提供了更高效快速的Hardwarebuffer读图方式&a…

Hyperf 框架常见面试题

Hyperf 是一个高性能的 PHP 微服务框架&#xff0c;它基于 Swoole 提供协程支持&#xff0c;适合构建高并发的服务。在面试中&#xff0c;针对 Hyperf 的问题可能会覆盖框架的基本使用、设计理念、性能优化、微服务实践等多个方面。以下是一些可能的 Hyperf 面试题及简要回答方…

摸鱼大数据——Hive调优1-3

hive官方配置url: Configuration Properties - Apache Hive - Apache Software Foundation 1、调优方式 hive参数配置的意义: 开发Hive应用/调优时&#xff0c;不可避免地需要设定Hive的参数。设定Hive的参数可以调优HQL代码的执行效率&#xff0c;或帮助定位问题。然而实践中…

Docker 安装部署(CentOS 8)

以下所有操作都是基于 CentOS 8 系统进行操作的。安装的 Docker 版本为 25.0.5-1.el8。 1、卸载老版本 Docker sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine注&a…

mmdet3D中文注释

# 版权声明: 本代码版权所有 (c) OpenMMLab。 import os from collections import OrderedDict from os import path as osp from typing import List, Tuple, Unionimport mmcv import numpy as np from nuscenes.nuscenes import NuScenes from nuscenes.utils.geometry_util…

基于学习的决策树

基于学习的决策树概述 决策树是一种监督学习方法&#xff0c;广泛应用于分类和回归任务中。基于学习的决策树模型通过学习数据中的特征来构建树状结构&#xff0c;帮助做出决策。以下是对基于学习的决策树的详细介绍&#xff0c;包括其基本概念、工作流程、构建算法、优势和挑…

利用人工智能实现量子计算

转载自&#xff1a;利用人工智能实现量子计算 2024年 5月 12日 By Mark Wolf https://developer.nvidia.com/zh-cn/blog/enabling-quantum-computing-with-ai/ 文章目录 一、概述二、改进量子处理器三、校正噪声量子位的误差四、开发高效的量子算法五、探索量子计算的人工智能 …

编写一个问卷界面 并用JavaScript来验证表单内容

倘若文章和代码中有任何错误或疑惑&#xff0c;欢迎提出交流哦~ 简单的html和css初始化 今天使用JavaScript来实现对表单输入的验证&#xff0c; 首先写出html代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset&qu…

国产算力——摩尔线程算力芯片MTT S80、MTT S3000

摩尔线程算力芯片是摩尔线程智能科技&#xff08;北京&#xff09;有限责任公司&#xff08;简称&#xff1a;摩尔线程&#xff09;的主要产品&#xff0c;该公司专注于GPU芯片的设计和相关产品的研发。以下是关于摩尔线程算力芯片的一些关键信息&#xff1a; 产品概述&#x…

Halcon 双相机标定与拼图(一)

二、算子解释 get_calib_data camera-pose 获得基于第一个相机的第二个相机的Pose get_calib_data (CalibDataID, camera, 1, pose, RelPose2) *relative 相对 * To get the absolute pose of the second camera, its relative pose needs * to be inverted and combined…

C/C++文件读写

一.c语言实现 常用函数介绍 C语言中文件读写操作主要通过stdio.h中的文件操作函数来实现。常用的文件操作函数有fopen、fclose、fread、fwrite、fseek、ftell等。 1.fopen函数&#xff1a;用于打开一个文件&#xff0c;并返回一个指向该文件的指针。函数原型如下&#xff1a; …

[docker] docker-compose-redis.yml

docker-compose-redis.yml version: 3services:redis:image: redis:6.2.7container_name: redisports:- "6379:6379"environment:# 时区上海TZ: Asia/Shanghaivolumes:# 配置文件- /docker/redis/conf:/redis/config# 数据文件- /docker/redis/data/:/redis/data/co…

java递归计算文件夹和文件大小

背景 背景发现电脑c盘占用过高,然而我却不清楚是哪些文件占用了磁盘空间,于是我希望用程序来帮我完成这件事。小插曲:开始的时候,我使用python来做的,结果发现效率实在是太低,最后用java重写了一波。有需要的同学可以拿去修改一些。 代码 import java.io.File; import ja…

监控易监测对象及指标之:全面监控达梦数据库6

随着企业业务的不断发展&#xff0c;数据库作为信息存储和管理的核心&#xff0c;其稳定性和安全性成为了企业运营的关键。达梦数据库6作为国产数据库的代表之一&#xff0c;在各类业务场景中发挥着重要作用。 为了确保达梦数据库6的稳定运行和数据安全&#xff0c;对其进行全面…