ROS VRRP软路由双线组网方式

虚拟路由冗余协议 Virtual Router Redundancy Protocol (VRRP),MikroTik RouteROS 
VRRP 协议遵循 RFC 2338。

VRRP 协议是保证访问一些资源不会中断,即通过多台路由器组成一个网关集合,如果其中一台路由器出现故障,会自动启用另外一台。两个或多个路由器建立起一个动态的虚拟集合,每一个路由器都可以参与处理数据,这个集合最大不能超过255 个虚拟路由器(可参考虚拟路由协议)。一般现在的路由器都支持该协议。


许多 VRRP 路由器可用组成一个虚拟路由器集合。在一个网络中最大可用支持相同VRID(虚拟路由 ID)255 个。

每个路由器都必须设置一个优先参数,每个 VRRP 配置通一个虚拟的网卡绑定在一个真实的网卡上。VRRP 地址放入虚拟的 VRRP 网卡上。VRRP Master 状态显示为 running 标志,虚拟网卡上的地址被激活,其他属于 backup(即优先级低的 VRRP 路由)停止运行

虚拟路由冗余协议是一种为路由提供高效率的路由选择协议。一个或多个 IP 地址可以
分配到一个虚拟路由上,一个虚拟路由节点应该具备以下状态: 

  • MASTER 状态

一个节点回答所有的请求给相应请求的 IP 地址。仅只有一个MASTER 路由器在虚拟路由中。每隔一段时间这个主节点发出 VRRP 广播包给所有backup 路由器。 

  • BACKUP 状态

VRRP 路由器监视 Master 路由器的状态。它不会回答任何来至相应 IP 地址的请求,当 MASTER 路由器无法工作时(假设至少三次 VRRP 数据连接丢失),选择过程发生,新的 MASTER 会根据优先级产生。 


注:VRRP 不能运行在 VLAN 接口上,VLAN 的接口 MAC 地址于与运行在物理网卡 MAC 地址是不同的 。

 

以上是关于 VRRP 协议的简介,这里我们利用 VRRP 协议组成双线接入的网络,原理如下:

ROS 允许多个路由器加入一个 VRRP 组,其中 master 路由器负责转发数据,backup路由器处于闲置状态,这样会造成资源浪费。

同时,ROS 允许一个路由器加入多个 VRRP组,故可设置多个备份组来实现负载均衡和冗余。例:

由上图可以看出, ROS1 路由器在组 1 中是 master ,在组 2 中是 backup ROS2 同理。
一部分计算机网关指向组 1 ,一部分计算机网关指向组 2 ,两台路由器互为备份,在两台正
常时,各自负担一部分流量,当一台出现问题时,另一台会自动补上,数据传输不受影响。
经过以上原理的整理,现在组网实验如下:

电信联通pppoe双线接入,ROS1 ROS2互为备份,网段172.16.1.10-172.16.1.100接入ROS1,
网段 172.16.1.101-172.16.1.201 接入 ROS2。设置如下:先各自配置能正常上网然后进行下面
步骤

ROS 1:
第一步:interface----vrrp,设置 name,interface,priority(默认 100,设置 110 是为了将这
个路由器设为主路由器),preemption mode 为抢占模式。

继续添加第二个 vrrp :设置 name interface=lan1 priority=100 (使其变为组 2 的备份路由
器),其他不变

第二步:设置 IP 地址


ROS 2
第一步、第二步仿照 ROS1 的设置。
只是在设置 vrrp1 的时候 priority=100 vrrp2 priority=110 , 这样,vrrp1 组中 ROS1 master 路由器, ROS2 backup 路由器, vrrp2 ROS1 backup 路由器,ROS2 master 路由器。
通过以上步骤的设置, ROS1 ROS2 就互为备份,负载均衡。
上面的设置是当 lan 和 lan1 出问题的时候,ROS1 和 ROS2 可以平稳的过度,实现内外网互通,
但是当连接外网的网卡出问题时,这个备份方式将出问题,因为拿 ROS1 来说,lan 没问题,
但 wan 口掉线了,vrrp1 建立在 lan 口上,priority 还是 110,这意味着在 vrrp1组中 ROS1 还是
主路由器,这样以 172.16.1.3 为网关的一部分机器将不能上网。为了解决这个问题,我们要建立
wan 口监控,设置方式如下:
因为是通过 pppoe 拨号上网方式,host 的值会经常变,所以还要添加一条计划
任务 system-->scheduler,add name=vrrp1_netwatch,interval 设 1 分钟,
onevent 脚本如下:
:global new 
:global status 
:set status [/interface get [/interface find name="adsl" ] running] 
:if ($status=true) do={ 
:set new [/ip address get [/ip address find dynamic=yes interface="adsl"] 
address] 
:set new [:pick $new 0 ([:len $new] -3)] 
 /tool netwatch set [/tool netwatch find comment="vrrp1_netwatch"] 
host=$new 
}
Vrrp1 ROS1 是主路由器,故在 ROS1 中设置以上内容。
Vrrp2 ROS2 是主路由器,仿照以上内容修改一下即可。

 

好了,今天的教程至此为此。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

设计编程网站集:简述可扩展性系统设计(笔记)

视频连接:简述可扩展性系统设计 三个关键原则 无状态 松散耦合 异步处理 扩展 负载均衡 缓存 分片

openCV与eigen两种方法---旋转向量转旋转矩阵

#include <Eigen/Dense> #include <opencv2/core/eigen.hpp> #include <opencv2/opencv.hpp> using namespace cv; using namespace std; int main() {// opencv 旋转向量cv::Vec3d rvec(1.0, 2.0, 3.0);cv::Mat rotation_matrix;cv::Rodrigues(rvec, rotati…

卷积运算和卷积定理

卷积运算 卷积运算是信号处理、图像处理和深度学习中的核心概念&#xff0c;用于表示两个函数之间的相互作用。它将一个函数通过滑动窗口的方式与另一个函数结合&#xff0c;产生一个新的函数&#xff0c;反映两者的重叠程度。 1. 定义 连续信号的卷积&#xff1a; 给定两个连…

【板间连接器焊接】

一、背景 近期工作需要,用到了AX7Z020核心板(黑金),官网链接:https://www.alinx.com/detail/271。 板子打好之后,遇到了焊接问题。对自身焊接技术还是比较自信的,直接上去焊接了2个连接器。拖锡搞了3小时后,放弃了。热风枪1分钟不到就把连接器吹下来了,看引脚90%都是…

低代码开发平台搭建思考与实战

什么是低代码开发平台&#xff1f; 低代码开发平台是一种平台软件&#xff0c;人们能通过它提供的图形化配置功能&#xff0c;快速配置出满足各种特定业务需求的功能软件。 具有以下特点&#xff1a; 提供可视化界面进行程序开发0代码或少量代码快速生成应用 什么是低代码产…

React Native 基础

React 的核心概念 定义函数式组件 import组件 要定义一个Cat组件,第一步要使用 import 语句来引入React以及React Native的 Text 组件: import React from react; import { Text } from react-native; 定义函数作为组件 const CatApp = () => {}; 渲染Text组件

ftdi_sio应用学习笔记 3 - GPIO

目录 1. 查找gpiochip 2. 打开GPIO 2.1 libgpiod库方式 2.2 系统方式 3. 关闭GPIO 3.1 libgpiod库方式 3.2 系统方式 4. 设置方向 4.1 libgpiod库方式 4.2 系统方式 5. 设置GPIO电平 5.1 libgpiod库方式 5.2 系统方式 6. 读取GPIO电平 6.1 libgpiod库方式 6.2 …

微信小程序登录注册页面设计(小程序项目)

需求 在微信小程序设计并实现登录页面&#xff0c;并填写相关登录注册函数 实现效果 代码实现 html代码 <view class"top" style"border-bottom-style: none;background-color:#FF8C69;"><!-- <view class"back" bind:tap"…

神经网络(系统性学习三):多层感知机(MLP)

相关文章&#xff1a; 神经网络中常用的激活函数 神经网络&#xff08;系统性学习一&#xff09;&#xff1a;入门篇 神经网络&#xff08;系统性学习二&#xff09;&#xff1a;单层神经网络&#xff08;感知机&#xff09; 多层感知机&#xff08;MLP&#xff09; 多层感…

Android 14 screenrecord录制视频失败的原因分析

文章目录 1. 权限问题2. 存储空间不足3. 命令被中断4. 目标路径问题5. Android 14 的新限制6. 文件系统同步问题7. 录制失败检查步骤总结&#xff1a; 在 Android 14 系统上&#xff0c;使用 screenrecord 命令录制视频后&#xff0c;生成的文件大小为 0&#xff0c;可能的原因…

Uniapp 简单配置鸿蒙

Uniapp 简单配置鸿蒙 前言下载并配置鸿蒙IDEHbuilder X 配置基本的信息生成相关证书登录官网获取证书IDE配置证书添加调试设备可能出现的问题前言 如今鸿蒙的盛起,作为多端开发的代表也是开始兼容鸿蒙应用的开发,接下来我将介绍如何在uniapp中配置鸿蒙。 注意:hbuilder X的…

git使用(一)

git使用&#xff08;一&#xff09; 为什么学习git?两种版本控制系统在github上创建一个仓库&#xff08;repository&#xff09;windows上配置git环境在Linux上配置git环境 为什么学习git? 代码写了好久不小心删了&#xff0c;可以使用git防止&#xff0c;每写一部分代码通…

C# 数据结构之【树】C#树

以二叉树为例进行演示。二叉树每个节点最多有两个子节点。 1. 新建二叉树节点模型 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;namespace DataStructure {class TreeNode{public int Data { get;…

HarmonyOs鸿蒙开发实战(20)=>一文学会基础使用组件导航Navigation

敲黑板&#xff0c;以下是重点技巧。文章末尾有实战项目效果截图及代码截图可参考 1.概要 Navigation是路由导航的根视图容器Navigation组件主要包含​导航页&#xff08;NavBar&#xff09;和子页&#xff08;NavDestination&#xff09;&#xff0c;导航页不存在页面栈中&am…

python从入门到精通:pyspark实战分析

前言 spark&#xff1a;Apache Spark是用于大规模数据&#xff08;large-scala data&#xff09;处理的统一&#xff08;unified&#xff09;分析引擎。简单来说&#xff0c;Spark是一款分布式的计算框架&#xff0c;用于调度成本上千的服务器集群&#xff0c;计算TB、PB乃至E…

Ubuntu从入门到精通(二)远程和镜像源配置齐全

Ubuntu从入门到精通(二) 1 常见操作配置 1.1 英文语言配置 1.1.1 打开设置 1.1.2 设置语言为英文 1.1.3 重启生效 1.1.4 再次进入,选择更新名字 1.1.5 再次进入,发现已经变成了英文 1.2 输入法配置 1.3 rustdesk安装 1.3.1 Windows系统配置 登陆:https://github.com…

HTML5拖拽API学习 托拽排序和可托拽课程表

文章目录 前言拖拽API核心概念拖拽式使用流程例子注意事项综合例子&#x1f330; 可拖拽课程表拖拽排序 前言 前端拖拽功能让网页元素可以通过鼠标或触摸操作移动。HTML5 提供了标准的拖拽API&#xff0c;简化了拖放操作的实现。以下是拖拽API的基本使用指南&#xff1a; 拖拽…

华为Ensp模拟器配置OSPF路由协议

目录 简介 实验步骤 Pc配置 路由器配置 OSPF配置 交换机配置 简介 开放式最短路径优先 (OSPF) 协议深度解析 简介 开放式最短路径优先&#xff08;Open Shortest Path First, OSPF&#xff09;是一种内部网关协议&#xff08;IGP&#xff09;&#xff0c;用于在自治系统…

【最新鸿蒙应用开发】——合理使用自定义弹框

自定义弹窗选型 合理选择不同的系统能力实现弹窗&#xff0c;有利于提升应用开发效率&#xff0c;实现更好的功能需求&#xff0c;因此了解自定义弹窗的选型和差异非常重要。在应用开发中&#xff0c;为了选择出合适的弹窗选型&#xff0c;从使用场景上&#xff0c;需要重点关…

自动化爬虫Selenium

自动化爬虫Selenium 这篇文章, 我们将要学习自动化爬虫的知识啦。 目录 1.Selenium的基本操作 2.用Selenuim获取数据 3.当当网数据获取 4.实战 一、Selenium的基本操作 首先, 我们在使用Selenium之前, 需要做两件事情。第一件事情, 就是安装第三方库, 第二件事情, 就是…