防火墙双机热备---VRRP,VGMP,HRP(超详细)

双机热备技术-----VRRP,VGMP,HRP三个组成

注:与路由器VRRP有所不同,路由器是通过控制开销值控制数据包流通方向

防火墙双机热备:

        1.主备备份模式

        双机热备最大的特点就是防火墙提供了一条专门的备份通道(心跳线)用于防火墙之间传输备份会话表,Server-map表等重要信息和配置。并且心跳线也为防火墙提供协商通道。

                1.主用设备---会处理业务和流量,并将设备上的会话表等信息以及配置信息通过心跳线实时同步给备用通道

                2.备用设备---不会处理业务流量,只是通过心跳线,接收来自于主用设备的状态信息以及配置信息

                一旦主用设备发生故障,会通过心跳线重新协商主备状态,如果进行切换,同时,业务流量也需要被上下行设备的路由信息引导到新的主用设备上,否则流量还是无法通讯

        2.负载分担模式

        在该情境下,两台防火墙均为主用设备(不同的pc),都需要建立会话,都需要处理业务流量,同时两台防火墙又都相互作为对方的备用设备,接收对方的配置和会话。

FW2为1.0的主设备,FW3为2.0的主,且两个防火墙互相备份

总结:双机热备为了提供网络的可靠性,避免网络的单点故障

VRRP和VGMP

回顾路由器vrrp:VRRP(虚拟路由冗余协议)_vrrp协议-CSDN博客

        为何创建两个VRRP?

        在双机热备场景中,因为需要上下行流量的统一切换,故需要创建两个VRRP组,分别加入上行接口和下行接口。从而控制上下行设备的流量控制转向。---且两个不同的VRRP组的Active设备必须为同一个防火墙。

切换原理:FW2会向配置了VRRP组的接口发送免费ARP报文,其中携带了备份组的IP和MAC,好让交换机或者路由器改变MAC表或者路由表,从而达到切换线路的目的

        VRRP备份组之间是相互独立的,当一台设备出现多个VRRP备份组时,VRRP备份组之间的状态时无法同步的。

VGMP解决VRRP问题

                VGMP----VRRP组管理协议---实现对VRRP备份的统一管理,保证多个VRRP组状态的一致性

        如何实现一致性?

        将防火墙上所有的VRRP备份组都加入到同一个VGMP组中,由VGMP组来集中监控并管理所有的VRRP备份组状态。如果VGMP检测到其中一个VRRP备份组状态发生变化,则VGMP会控制组中所有VRRP组统一进行状态切换,保证一致性。


        VGMP存在状态和优先级两个属性。并且有三条运行原则

VGMP的状态决定了组内VRRP备份组的状态,也决定了防火墙的主备状态

VGMP组的状态是由两个防火墙的VGNP组通过比较优先级来决定的

                优先级高的为Active,低的为Standby

VGMP组会根据组内VRRP备份组的状态变化来更新自己的优先级

                每个VRRP备份组的状态切换为初始化状态,VGMP组的优先级降低2

VGMP实现过程

        当FW1接口发生故障时,VGMP组控制VRRP备份组状态统一切换过程

1.FW1G1/0/3接口故障,FW1上的VRRP备份组2发生状态切换(由主----初始化)

2.FW1的VGMP组感知到这一变化后,会降低自身的优先级,然后与FW2的VGMP组比较优先级,重新协商主备状态

3.协商后,FW1的VGMP状态变为Standby,FW2的VGMP组状态变为Active

4.同时,由于VGMP组的状态决定了组内的VRRP备份组状态,所有FW1和FW2身上各自的VRRP备份组1和备份组2都会进行状态切换

5.FW2成为Active状态,并从上下游分别发送免费ARP报文,更新设备的MAC地址表


VGMP报文结构

        在防火墙中,优先级信息会通过VGMP报文传递,是对VRRP报文进行修改和扩展

        1.标准的VRRP报文的“TYPE”字段恒定为1,而VGMP增加了2;

                在VGMP 中,1代表标准的VRRP报文,2代表VGMP报文

        2.在标准的VGMP报文中,“virtual Rtr ID",携带的是VRRP备份组的组ID,即VRID。

                在VGMP中,恒定为0

        3.去掉了VRRP的IP地址字段

        4.标准VRRP报文的优先级字段,在VGMP中被修改为”TYPE2"字段

                TYPE2=1,则报文为心跳链路探测报文

                TYPE2=5,则报文为一致性检查报文。 ----检查双机热备状态下,两台防火墙的是否配置了相同的策略

                TYPE2=2,VRRP报文才会进一步封装VGMP报文头。----该报文才能被认为是真正的VGMP报文。

                        会根据VGMP中的“vType”字段继续被分为三种不同的报文

VGMP组需要携带上VGMP组优先级信息,才可以代替VRRP进行管理

        类型(mode) --- 代表报文是请求报文,还是应答报文

        VGMP-ID --- 代表VGMP组为Active还是Standby组

        优先级 ---代表VGMP组的优先级

在双机热备中,除了VRRP标准报文以外,其他所有报文的发送接收,都是基于心跳线完成的


标准的VRRP协议是一个跨四层封装协议,即没有传输层封装,直接IP封装。

而VGMP继承了VRRP的特点,但是也增加了UDP进行封装的模式。

        IP协议封装 --- 组播报文---只能在心跳线上传输

                数据链路层+ IP协议封装+ VRRP协议+ VGMP协议+ VGMP数据

                不能跨网段传输,不受安全策略控制(安全策略就对单播有效

        UDP封装 --- 单播报文

                数据链路层+IP协议封装+ UDP封装+ VRRP协议+ VGMP协议+ VGMP数据

                只要路由可达,就可以跨越网段传输,但是收到安全策略控制。

                端口号=18514


VGMP工作过程

VGMP组缺省情况

        每台防火墙提供两个VGMP组,默认情况下,Active组的优先级为65001,状态为Active;Atandby组优先级为65000,状态为Standby。


主备备份双机热备状态形成过程

接口故障过程

        上图表示的是主用设备的接口的发生过程变化情况,而当主用设备发生故障,主用设备的VGMP组将不会发送HRP心跳报文。如果备用设备的VGMP组连续三次收不到,则认定对端故障,从而将 自身切换为主用状态。

        当原主用设备故障恢复后,如果配置了抢占功能,那么原主重新成为主用设备,如果没有配置,则原主保持在备份状态。----缺省情况下,主动抢占功能开启,抢占延迟时间为60秒。

接口故障恢复


负载分担双机热备状态形成过程

接口故障

VGMP总结

1. 故障监控 --- VGMP组能够监控VRRP备份组状态变化。

2. 状态切换 --- VGMP组感知到VRRP备份组状态变化后,会调整自己的优先级,并与对端的VGMP组 重新协商主备状态

3. 流量引导 --- 两个VGMP组主备状态建立或切换后,会强制组内的VRRP备份组统一进行状态切换, 然后由状态为Active的VRRP备份组发送免费的ARP报文来引导流量

仅仅适用于防火墙上行或下行设备为交换机的场景


VGMP特殊场景

防火墙连接路由器场景

故障监控

        VGMP组使用的 故障监控方式,是直连监控接口状态。 --- 就是直接将接口加入到VGMP组中,当 VGMP组中的接口故障,VGMP可以直接感知到变化,从而降低自己的优先级。

        如果是负载分担方式的双机热备,则需要在每个业务接口上执行特殊命令,将业务接口分别加入到 Active和Standby组中。

流量引导

        VGMP的流量引导功能,将流量自动引导到主用设备---手工将备用设备所在链路的OSPF开销值改大。VGMP具备根据状态自动调整OSPF的cost数值。 --- 启用流量引导功能后,如果防火墙上存在状态为 Active的VGMP组,则防火墙会正常对外发布路由;如果防火墙上VGMP组状态为Standby,则防火墙 在发布路由时,将Cost增加65500

防火墙透明接入,连接交换机场景

故障监控

        防火墙接口出现在二层,没有IP地址。故障监控方式为通过VLAN监控接口状态。--- 将二层业 务接口加入VLAN,VGMP监控VLAN。当VGMP中的接口故障时,VGMP组会通过VLAN感知到接口状态 变化,从而降低自身优先级

流量引导

        当VGMP组状态为Active时,组内的VLAN能够转发流量。当VGMP组状态为Standby时,组内 VLAN被禁用,不能转发流量。 

防火墙透明接入,连接路由器场景

        故障监控和流量引导与上一个相同,该组网只支持负载分担方式的双机热备,不支持主备备份场景。---原因:如果工作在主备备份,那么备份设备的VLAN会被禁用,导致上下行 路由器无法通讯,无法建立OSPF邻居

VGMP组监控技术

        VGMP可以监控自己本身的接口---物理接口,VRRP接口等。

        但是VGMP还可以监控远端接口。 --- VGMP监控远端接口的方式,只适用于防火墙业务接口工作在 三层时;因为此时接口才能存在IP地址,才可以与远端设备发送IP-link或BFD的探测报文。

总结

每当VGMP组监控的一个接口故障时,无论是直接监控还是简介监控,无论监控的是本地还是远 端,VGMP优先级都是降低2。

只有主用设备才会将流量引导到本设备上,备用设备则是想尽办法拒绝流量引导到本设备。

HRP(双机热备协议)协议

HRP数据报文、HRP心跳报文、HRP一致性检查报文。

HRP协议功能

动态数据备份---实时备份防火墙的会话表,Server-map表,黑白名单,nat

关键配置命名备份---display;reset;debugging不支持备份;网络基本配置如接口地址和路由不能够备份,这些要在双机热备建立前配置完成。

HRP概述

        在主备组网中,由主设备将状态数据和配置命名同步给备份设备

        而在负载分担组网中,状态数据双方均会想对端同步。但是配置命令,不可以。---原因,如果允许两台主用设备之间相互配置命令,可能会造成两台设备命名相互冲突。--引入了“配置主设备”和“配置从设备”。---在负载分担组网中,发送备份配置命令的防火墙为配置主设备(HRP_M),接收配置命令的防火墙成为配置从设备(HRP_S)---在负载分担组网中,谁 最先建立双机热备状态的防火墙会成为配置主设备;即最先启动双机热备功能的

HRP备份方式

1.自动备份 --- 默认开启的,能够自动 实时备份配置命令和 周期性备份状态信息

        主用设备每执行一次可备份命令,该命令都会立即被同步到备用设备。注意:对于这些可备份 命令,备用设备不能配置,只能等到主用设备的同步。

        对于不可备份命令---分别配置

        对于状态信息,周期性备份(部分状态信息)。

2.手工批量备份 --- 需要管理员手工触发的,每执行一次手工批量备份命令,主用设备就会立即同步一 次配置命令和状态信息。

3.快速备份 --- 仅适用于负载分担场景的,用来 应对报文来回路径不一致的场景。

        主要为了保证状态信息的及时同步,快速备份功能仅仅备份状态信息,是为了弥补自动备份的 时差问题。

        如果启动快速备份功能,主设备将 实时进行状态信息备份。

心跳链路探测报文

        心跳口必须是状态独立且独立具有IP地址的接口,且该接口不要参与到其他协议的工作过程中,以免产生不必要的影响。

HRP一致性检查报文

        该报文是用于检测双机热备状态下两台防火墙的双机热备配置是否一致,以及策略配置是否相同 的

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

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

相关文章

面试八股文--数据库基础知识总结(1)

1、数据库的定义 数据库(DataBase,DB)简单来说就是数据的集合数据库管理系统(Database Management System,DBMS)是一种操纵和管理数据库的大型软件,通常用于建立、使用和维护数据库。数据库系统…

怎么在Github上readme文件里面怎么插入图片?

环境: Github 问题描述: 怎么在Github上readme文件里面怎么插入图片? https://github.com/latiaoge/AI-Sphere-Butler/tree/master 解决方案: 1.相对路径引用 上传图片到仓库 将图片文件(如 .png/.jpg&#xff…

Unity自定义树(Tree)

一、创建自定义树 右键——3D Object——Tree 树的大致形态: 二、主干树的整体设置 Distribution Tree Seed:树种子,调节此参数就可获得不同形态的树桩 Area Spread:区域的大小 Ground Offset:树距离初始地面的偏移…

Debezium日常分享系列之:Debezium 3.1.0.Alpha2发布

Debezium日常分享系列之:Debezium 3.1.0.Alpha2发布 模式历史配置默认值的变更可能的 Vitess 数据丢失Oracle 的 ReselectColumnsPostProcessor 行为变更Reselect 列后处理器的错误处理模式TinyGo WASM 数据类型改进Debezium 平台转换 UI 中的谓词支持Debezium 平台…

STM32MP157A-FSMP1A单片机移植Linux系统I2C总线驱动

由于I2C总线驱动为Linux内核自带的总线驱动,在一个新的板子上可能由于不同的定义与芯片原厂定义的I2C管脚有所不同,这时就需要开发人员对设备树信息及内核驱动进行更新。 原理图可知,I2C的SCL对应PF14,SDA对应PF15 在Linux内核中…

My first Android application

界面元素组成&#xff1a; 功能代码&#xff1a; /*实现功能&#xff1a;当输入内容后&#xff0c;欢迎文本发生相应改变&#xff0c;并清除掉文本域内容当未输入任何内容时&#xff0c;弹出提示文本以警告用户*/val greetingText findViewById<TextView>(R.id.printer)…

深度学习基础--ResNet网络的讲解,ResNet50的复现(pytorch)以及用复现的ResNet50做鸟类图像分类

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 如果说最经典的神经网络&#xff0c;ResNet肯定是一个&#xff0c;这篇文章是本人学习ResNet的学习笔记&#xff0c;并且用pytorch复现了ResNet50&…

【DeepSeek】【GPT-Academic】:DeepSeek集成到GPT-Academic(官方+第三方)

目录 1 官方deepseek 1.1 拉取学术GPT项目 1.2 安装依赖 1.3 修改配置文件中的DEEPSEEK_API_KEY 2 第三方API 2.1 修改DEEPSEEK_API_KEY 2.2 修改CUSTOM_API_KEY_PATTERM 2.3 地址重定向 2.4 修改模型参数 2.5 成功调用 2.6 尝试添加一个deepseek-r1参数 3 使用千帆…

用Golang与WebAssembly构建高性能Web应用:详解`syscall/js`包

用Golang与WebAssembly构建高性能Web应用&#xff1a;详解syscall/js包 引言为什么选择syscall/js包&#xff1f;适用场景 syscall/js包概述syscall/js包的核心概念1. js.Global2. js.Value3. js.Func4. js.Null 和 js.Undefined syscall/js包在WebAssembly中的位置 环境配置与…

本地部署轻量级web开发框架Flask并实现无公网ip远程访问开发界面

文章目录 1. 安装部署Flask2. 安装Cpolar内网穿透3. 配置Flask的web界面公网访问地址4. 公网远程访问Flask的web界面 本篇文章主要讲解如何在本地安装Flask&#xff0c;以及如何将其web界面发布到公网进行远程访问。 Flask是目前十分流行的web框架&#xff0c;采用Python编程…

ChatGPT背后的理论基础:从预训练到微调的深度解析

友情提示&#xff1a;本文内容由银河易创&#xff08;https://ai.eaigx.com&#xff09;AI创作平台GPT-4o-mini模型生成&#xff0c;仅供参考。请根据具体情况和需求进行适当的调整和验证。 随着人工智能特别是自然语言处理技术的飞速发展&#xff0c;ChatGPT作为一种强大的对话…

2025面试Go真题第一场

前几天参加了一场面试&#xff0c;GoLang 后端工程师&#xff0c;他们直接给了我 10 道题&#xff0c;我留了一个截图。 在看答案之前&#xff0c;你可以先简单做一下&#xff0c;下面我会对每个题目做一个说明。 文章目录 1、golang map 是否并发安全?2、协程泄漏的原因可能是…

网络安全第三次练习

一、实验拓扑 二、实验要求 配置真实DNS服务信息&#xff0c;创建虚拟服务&#xff0c;配置DNS透明代理功能 三、需求分析 1.创建用户并配置认证策略 2.安全策略划分接口 3.ip与策略配置 四、实验步骤 1.划分安全策略接口 2.创建用户并进行策略认证 3.配置安全策略 4.NAT配…

FTP 实验(ENSP模拟器实现)

目录 FTP 概述 FTP实验 FTP的报文交互 FTP 概述 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09;是一种用于在网络上进行文件传输的标准协议。它允许用户在两台计算机之间上传和下载文件。 1、FTP采用客户端-服务器模型&#xff0c;客户端通过…

Elasticsearch:使用经过训练的 ML 模型理解稀疏向量嵌入

作者&#xff1a;来自 Elastic Dai Sugimori 了解稀疏向量嵌入&#xff0c;理解它们的作用/含义&#xff0c;以及如何使用它们实现语义搜索。 Elasticsearch 提供语义搜索功能&#xff0c;允许用户使用自然语言进行查询并检索相关信息。为此&#xff0c;目标文档和查询必须首先…

Java进阶(vue基础)

目录 1.vue简单入门 ?1.1.创建一个vue程序 1.2.使用Component模板(组件&#xff09; 1.3.引入AXOIS ?1.4.vue的Methods&#xff08;方法&#xff09; 和?compoted&#xff08;计算&#xff09; 1.5.插槽slot 1.6.创建自定义事件? 2.Vue脚手架安装? 3.Element-UI的…

密码学基础

第1节 密码学概述 密码是人类在信息活动中的一项伟大发明&#xff0c;是保护秘密信息的工具。它诞生于公元前两千余年的埃及&#xff0c;迄今已有四千多年的历史。在出现年代有可查证记录的科学技术中&#xff0c;密码是历史最为悠久的科学技术之一。 百度百科里对密码的解释&…

Java入门级小案例:网页版简易计算器

网页版简易计算器 目录 网页版简易计算器需求&#xff1a;代码实现&#xff1a;效果显示 需求&#xff1a; 用HTML、CSS、JS进行书写一个具备一定功能的简易计算器。 代码实现&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta cha…

【Uniapp-Vue3】导入uni-id用户体系

在uniapp官网的uniCloud中下载uni-id用户体系 或者直接进入加载&#xff0c;下载地址&#xff1a;uni-id-pages - DCloud 插件市场 进入以后下载插件&#xff0c;打开HbuilderX 选中项目&#xff0c;点击确定 点击跳过 点击合并 右键uniCloud文件夹下的database文件夹&#x…

Python 入门教程(2)搭建环境 | 2.3、VSCode配置Python开发环境

文章目录 一、VSCode配置Python开发环境1、软件安装2、安装Python插件3、配置Python环境4、包管理5、调试程序 前言 Visual Studio Code&#xff08;简称VSCode&#xff09;以其强大的功能和灵活的扩展性&#xff0c;成为了许多开发者的首选。本文将详细介绍如何在VSCode中配置…