防火墙之双机热备篇

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

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

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

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

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.mzph.cn/pingmian/47336.shtml

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

相关文章

JDK、JRE、JVM的区别java的基本数据类型

说一说JDK、JRE、JVM的区别在哪? JDK: Java Delopment kit是java工具包,包含了编译器javac,调试器(jdb)以及其他用于开发和调试java程序的工具。JDK是开发人员在开发java应用程序时候所需要的的基本工具。…

海外社媒矩阵为何会被关联?如何IP隔离?

在当今的数字时代,社交媒体已经成为人们日常生活中不可或缺的一部分。通过社交媒体,人们可以与朋友互动,分享生活,甚至进行业务推广和营销。然而,社交媒体账号关联问题逐渐受到广泛关注。社交媒体账号为何会关联&#…

问题清除指南|成功解决pipmatplotlib因为ConnectTimeoutError更新失败问题

前言:跑baseline需要升级matplotlib和pip,在此记录一个错误和一个「别致」的解决方案。 北京时间 14:00 左右,在终端环境中运行命令python -m pip install --upgrade pip,报错: 多次尝试,未果。 隔天上午 0…

Elasticsearch 企业级实战 01:Painless 脚本如何调试?

在企业级应用中,Elasticsearch 常常被用来处理复杂的数据查询和操作。 Painless 是 Elasticsearch 的内置脚本语言,虽然强大,但调试起来并不容易。 本文将详细介绍如何在实战中有效调试 Painless 脚本,以提高开发和运维效率。 本文…

2.javaWeb_请求和响应的处理(Request,Response)

2.请求和响应的处理 文章目录 2.请求和响应的处理一、动态资源和静态资源javax.servlet(包) 二、Servlet体系1.简介2.HttpServlet3.Servlet生命周期 三、Request对象1.ServletRequest1)ServletRequest主要功能有:2)ServletRequest类的常用方法: 2.HttpServletReques…

通过SchedulingConfigurer 接口完成动态定时任务

通过SchedulingConfigurer 接口完成动态定时任务 一.背景 在Spring中,除了使用Scheduled注解外,还可以通过实现SchedulingConfigurer接口来创建定时任务。它们之间的主要区别在于灵活性和动态性。Scheduled注解适用于固定周期的任务,一旦任…

生成式 AI 的未来,对话系统 (Chat)与自主代理 (Agent)相辅相成

目录 1. 概念解释生成式 AI对话系统 (Chat)自主代理 (Agent) 2. 代码示例对话系统示例 (使用 Python 和 NLTK 库)自主代理示例 (使用 Python 模拟简单的自主学习) 3. 逻辑性分析4. 通俗易懂的解释5. 与其他相似概念的对比6. 常见问题和解答7. 技术挑战与解决方案对话系统的技术…

内容安全(深度行为检测技术、IPS、AV、入侵检测方法)

1、深度行为检测技术 深度行为检测技术:是一种基于深度学习和机器学习的技术,它通过分析用户在网络中的行为模式,识别异常或潜在威胁行为,从而保护网络安全和内容安全 分类: 深度包检测技术(Deep Packet…

Kafka Producer发送消息流程之消息异步发送和同步发送

文章目录 1. 异步发送2. 同步发送 1. 异步发送 Kafka默认就是异步发送,在Main线程中的多条消息,没有严格的先后顺序,Sender发送后就继续下一条,异步接受结果。 public class KafkaProducerCallbackTest {public static void mai…

Unity Apple Vision Pro 开发(四):体积相机 Volume Camera

文章目录 📕教程说明📕教程内容概括📕体积相机作用📕创建体积相机📕添加体积相机配置文件📕体积相机配置文件参数📕体积相机的边界盒大小📕体积相机边界盒大小和应用边界盒大小的区别…

【GraphRAG】微软 graphrag 效果实测

GraphRAG 本文将基于以下来源,对Microsoft GraphRAG分析优缺点、以及示例实测分析。 1. Source 代码仓库: Welcome to GraphRAGhttps://microsoft.github.io/graphrag/ 微软文章1(2024.2.13):GraphRAG: Unlocking…

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

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

Android中OkHttp3中超时时间概述

目录 前言connectTimeoutreadTimeoutwriteTimeoutcallTimeoutpingInterval拓展 前言 可以看到,使用还是很简单的。主要相关的有这五个参数,其中我们常用到是就是connectTimeout、readTimeout和writeTimeout。 再看上图,可以看到默认下connec…

js | Core

http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ Object 是什么? 属性[[prototype]]对象。 例如,下面的,son是对象,foo不是对象。打印出来的son,能看到有一个prototype 对象。 prototype vs _proto_ v…

R语言实现神经网络ANN

# 常用激活函数 # 自定义Sigmoid函数 sigmod <- function(x){return(1/(1exp(-x))) } # 绘制Sigmoid曲线 x <- seq(-10,10,length.out 100) plot(x,sigmod(x),type l,col blue,lwd 2,xlab NA,ylab NA,main Sigmoid函数曲线)# 自定义Tanh函数 tanh <- function(…

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

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

微服务设计原则——高性能:锁

文章目录 1.锁的问题2.无锁2.1 串行无锁2.2 无锁数据结构 3.减少锁竞争参考文献 1.锁的问题 高性能系统中使用锁&#xff0c;往往带来的坏处要大于好处。 并发编程中&#xff0c;锁带解决了安全问题&#xff0c;同时也带来了性能问题&#xff0c;因为锁让并发处理变成了串行操…

海外营销推广:快速创建维基百科(wiki)词条-大舍传媒

一、维基百科的永久留存问题 许多企业和个人关心维基百科是否能永久留存。实际上&#xff0c;只要企业和个人的行为没有引起维基百科管理方的反感&#xff0c;词条就可以长期保存。如果有恶意行为或被投诉&#xff0c;维基百科可能会对词条进行删除或修改。 二、创建维基百科…

TCP与UDP网络编程

网络通信协议 java.net 包中提供了两种常见的网络协议的支持: UDP&#xff1a;用户数据报协议(User Datagram Protocol)TCP&#xff1a;传输控制协议(Transmission Control Protocol) TCP协议与UDP协议 TCP协议 TCP协议进行通信的两个应用进程&#xff1a;客户端、服务端 …

好玩的调度技术-场景编辑器

好玩的调度技术-场景编辑器 文章目录 好玩的调度技术-场景编辑器前言一、演示一、代码总结好玩系列 前言 这两天写前端写上瘾了&#xff0c;顺手做了个好玩的东西&#xff0c;好玩系列也好久没更新&#xff0c;正好作为素材写一篇文章&#xff0c;我真的觉得蛮好玩的&#xff…