防火墙之双机热备篇

news2024/9/22 15:45:20

为什么要在防火墙上配置双机热备技术呢?

相信大家都知道,为了提高可靠性,避免单点故障

肯定有聪明的小伙伴会想到那为什么不直接多配置两台防火墙,然后再将他们进行线路冗余,不就完成备份了吗?

答案是不可以这样,如果是路由器,这样做当然是没什么问题,但是这是防火墙,不仅要同步配置信息,而且还要同步状态信息,所以不能像路由器那样单纯的靠动态协议来实现切换,需要用到双机热备技术。

1.双机概论:目前双机热备仅支持两台防火墙设备。

2.热备概论:两台设备共同运行,在一台设备出现故障的情况下,另外一台设备可以立即替代原设备。

不仅有热备概念,还存在冷备概论。

冷备的概念:仅工作一台设备,备份一台设备,备份设备仅同步配置,并不工作,只有主设备出现故障时,再由管理员替换工作,冷备可能会造成较长时间的业务中断。

双机热备三剑客:VRRP、VGMP、HRP

VRRP   ---   虚拟路由冗余协议

VRRP在一个组内可以存在多台3层设备,存在一个master和多个backup

正常产生一个虚拟IP(可以为真实接口ip)和一个虚拟MAC

默认每1s来检测一次master是否活动   224.0.0.18  TTL=1   hold time 3s

选举规则:先优先级,默认100,大优;再接口ip地址大优;

特点:切换速度快;可以使网关的IP和MAC地址不用变化;网关的切换对主机是透明的;

可以实施上行链路追踪

在网关冗余技术中,ICMP重定向是失效的;故当上行链路DOWN时,网关将不会切换;

可以定义上行链路追踪-----该配置必须在抢占开启的情况下生效,且两台设备间的优先级差值小于下调值; 若本地存在多条上行或下行链路,建议上行链路追踪配置时的下调值之和大于优先级差值----所有上行链路全down时,才让备份设备抢占;下行链路大部分down时,可以让备份设备抢占;

VGMP ---  vrrp Group Management Protocol   (华为私有协议)

为什么会有这个?

因为VRRP彼此是独立的,所以,一个VRRP组进行切换不会其他组同步切换,而在防火墙的双机热备场景下,上下有俩个VRRP组,需要同步切换,使用传统的上行链路监控,比肩复杂,因为要监控所有的接口。所以,设计了VGMP协议,和VRRP组进行统一的切换管理。

来VGMP是怎么玩的:

首先,在一个VGMP组中,有active组和standby俩个组。每个组里面有两个状态,一个active状态,一个standby状态。

HRP:华为冗余协议

可以同步防火墙的状态和配置信息

配置信息:策略,NAT,认证,服务等等

状态信息:会话表,server-map ,黑白名单等

but!!!    HRP不能同步基本的接口和路由信息

主备的形成场景

1,FW1被设定为主设备 --- FW1中的VGMP的active组被激活,并且将上下两个VRRP组拉
入到VGMP的active组中,并且状态都是ACTIVE
2,FE2被设定为备设备 --- FW2中的VGMP的standby组被激活,并且将上下两个vrrp组拉入
到VGMP的standby组中,并且状态都是standby
(VGMP组中存在优先级的概念,ACTIVE组的默认优先级是65001,standby组默认的优先
级为65000,并且,在VGMP中,所有的主都被成为active,所有的备成为standby)
3,主设备上下两个VRRP组的接口将发送免费ARP报文

这就是主备的形成。

在接口出现故障时,它是怎么处理的呢?

FW1接口故障的切换场景

1,假设FW1下的接口发生故障,接口的状态会从active状态切换到initialize状态(接口故障
的一个过渡状态)
2,VGMP组感知到接口状态变化,会降低自身的优先级(每一个接口发生故障,则优先级会
降低2。)
3,FW1会向FW2发送一个状态变更的请求报文,这个报文中会包含降低后的优先级;
4,FW2收到请求报文后,发现自身的优先级高于对方的优先级,则会将自己standby组的状
态从standby切换为active状态
5,FW2的VGMP组状态发生变化,则组中的VRRP组的状态同步发生变化,都从standby切
换到active
6,FW2回复FW1应答报文,表示允许切换
7,FW1收到应答报文后,将自身ACTIVE组的状态从ACTIVE切换到standby状态,并且,其
中的VRRP组同步将状态切换到standby,不包含故障接口的状态,依旧是initialize状态
8,FW2上下两个VRRP组将发送免费ARP报文,让交换机切换MAC地址表,之后所有的流量
将从FW2通过

主备故障切换场景 --- 整机故障

整机故障可以通过保活机制来进行切换,主设备发生故障,则不会发送HRP心跳报文,
备设备在超时时间内没有接收到主设备的保活包,则将会进行状态切换;(周期1s ,hold time 3s)

原主设备故障恢复的场景

根据有没有开启抢占分为两种不同的情况
1,如果没有开启抢占 --- 原主设备继续以备设备的身份工作
2,如果开启了抢占

  

负载分担场景

注意:抢占模式中,默认开启60s抢占延迟

不设置立马抢占的原因是为了防止接口动荡,一会没问题,一会有问题这种情况

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

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

相关文章

UDP客户端、服务端及简易聊天室实现 —— Java

UDP 协议(用户数据包协议) UDP 是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻辑连接,简单来说,当客户端向接收端发送数据时,客户端不会确认接收端是否存在,就会发出…

【深度学习教程】

文章目录 pytorch官方教程知识蒸馏:https://pytorch.org/tutorials/beginner/knowledge_distillation_tutorial.html 李宏毅-机器学习/深度学习https://speech.ee.ntu.edu.tw/~hylee/ml/2021-spring.phphttps://speech.ee.ntu.edu.tw/~hylee/ml/2022-spring.phphttp…

深入解析公有IP与私有IP:地址分配与使用限制

IP地址在网络基础设施的建设和维护过程中起着至关重要的作用。作为IP地址的两大类型,公有IP和私有IP各自具有独特的分配机制和使用限制。本文将详细分析两者之间的区别,以帮助读者更好地理解和使用IP地址。 1. 公有IP与私有IP概述 IP地址是网络中的唯一…

Spring Boot 中使用 Resilience4j 实现弹性微服务的简单了解

1. 引言 在微服务架构中,服务的弹性是非常重要的。Resilience4j 是一个轻量级的容错库,专为函数式编程设计,提供了断路器、重试、舱壁、限流器和限时器等功能。 这里不做过多演示,只是查看一下官方案例并换成maven构建相关展示&…

hexo搭建博客(github node git )(失败版本)

HexoGitHub搭建个人博客教程(2023最新版) 搭建失败了 是因为git命令一直报错 打算明天把git和node版本全部重新安装后再弄 同时回顾一下github git 和 node的基础知识 Github新手之路(全过程)(站在前辈的肩膀上的总…

使用 ABBYY FineReader PDF 15 在创建或转换 PDF 时自动生成书签

使用 ABBYY 为 PDF 文件添加书签,可以帮助快速定位文档中的主要内容,也能更方便的梳理出一份文档大纲。 有很多 PDF 文件在创建时并没有编辑书签,这里介绍使用 ABBYY FineReader PDF 15(Win 系统)在 PDF 中自动添加书…

两大国产多模态大模型推荐

GLM-4V 智谱AI 开放平台提供一系列具有不同功能和定价的大模型,包括通用大模型、超拟人大模型、图像大模型、向量大模型等,并且支持使用您的私有数据对模型进行微调。GLM-4V 就是在不牺牲任何NLP任务性能的情况下,实现了视觉语言特征的深度融…

网络编程-TCP/IP

网络概述 网络采用分而治之的方法设计,将网络的功能划分为不同的模块,以分层的形式有机组合在一起。 每层实现不同的功能,其内部实现方法对外部其他层次来说是透明的。每层向上层提供服务,同时使用下层提供的服务 网络体系结构…

【LeetCode】删除排序链表中的重复元素 II

目录 一、题目二、解法完整代码 一、题目 给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head [1,2,3,3,4,4,5] 输出:[1,2,5] 示例 …

WEB前端06-DOM对象

BOM浏览器对象模型 浏览器对象模型:将浏览器的各个组成部分封装成对象。是用于描述浏览器中对象与对象之间层次关系的模型,提供了独立于页面内容、并能够与浏览器窗口进行交互的对象结构。 组成部分 Window:浏览器窗口对象 Navigator&…

win11局域网共享打印机或者文件提示:\\计算机名 无法访问。你可没有权限使用网络资源。请与这台服务器的管理员联系以查明你是香有访问权限。网络不存在或尚未启动。解决方法

win11局域网共享打印机或者文件提示:\\计算机名 无法访问。你可没有权限使用网络资源。请与这台服务器的管理员联系以查明你是香有访问权限。网络不存在或尚未启动。 是因为win11更新会默认关闭不安全的SMB1协议,导致局域网共享不可用。既然这样&#xf…

Web开发:四角线框效果(HTML、CSS、JavaScript)

目录 一、实现效果 二、完整代码 三、页面准备 1、页面结构 2、初始样式 3、现有效果 三、线框实现 1、需求分析 2、线框结构 3、线框大小 4、线框位置 5、线框样式 6、移动线框 7、添加过渡效果 8、使用CSS变量 一、实现效果 如下图所示,当鼠标移动…

项目管理进阶之RACI矩阵

前言 项目管理进阶系列续新篇。 RACI?这个是什么矩阵,有什么用途? 在项目管理过程中,如Team规模超5以上时,则有必要采用科学的管理方式,满足工作需要。否则可能事倍功半。 Q:什么是RACI矩阵 …

SQL面试题练习 —— 查询每个用户最大连续登录天数

目录 1 题目2 建表语句3 题解 1 题目 查询每个用户最大连续登录天数 样例数据如下 login_log: 2 建表语句 --建表语句 create table if not exists login_log (user_id int comment 用户id,login_time date comment 登录时间 ); --数据插入 INSERT overwrit…

N Puzzle (数字推盘游戏)

N Puzzle [数字推盘游戏] 1. 15 Puzzle2. N PuzzleReferences puzzle /ˈpʌzl/:n. 谜,智力游戏,疑问,不解之谜,令人费解的事 vt. 迷惑,使困惑1. 15 Puzzle https://en.wikipedia.org/wiki/15_puzzle The…

Python 在Word表格中插入、删除行或列

Word文档中的表格可以用于组织和展示数据。在实际应用过程中,有时为了调整表格的结构或适应不同的数据展示需求,我们可能会需要插入、删除行或列。以下提供了几种使用Python在Word表格中插入或删除行、列的方法供参考: 文章目录 Python 在Wo…

Qt QProcess 进程间通信读写数据通信

本文介绍了如何使用Qt的QProcess 进行程序开发,包括启动进程间通信、设置环境变量、通用方法;方便在日常开发中使用; 1.使用Qt进行程序开发,可以通过QProcess类用于启动外部程序并与其进行通信.; 进程A(…

【时时三省】tessy 集成测试:小白入门指导手册

目录 1,创建集成测试模块且分析源文件 2,设置测试环境 3,TIE界面设置相关函数 4,SCE界面增加用例 5,编辑数据 6,用例所对应的测试函数序列 7,添加 work task 函数 8,为测试场景添加函数 9,为函数赋值 10,编辑时间序列的数值 11,执行用例 12,其他注意事项…

Hadoop3:MR程序的数据倾斜问题处理

一、数据倾斜 什么是数据倾斜? 学过Redis集群的都知道数据倾斜这个问题。 就是大量数据,分配不均匀的现象。 二、MR数据倾斜 1、怎么判断出现数据倾斜? 数据频率倾斜——某一个区域的数据量要远远大于其他区域。 数据大小倾斜——部分记…

【STM32】RTT-Studio中HAL库开发教程四:DAC+DMA输出波形

文章目录 一、DAC介绍二、HAL库配置初始化三、RTT中初始化四、测试验证 一、DAC介绍 1.DAC作用 DAC(Digital-to-Analog Converter),即为数字/模拟转换模块,又称D/A转换器;作用就是把输入的数字编码,转换成…