当前位置: 首页 > news >正文

防火墙的ALG、NAT、双机热备知识点详解

具体的NAT和双机热备实验请到:NAT与双机热备实验

目录

1、ALG

2、NAT ALG

3、NAT域间双向转换

4、NAT域内双向转换

5、双出口NAT

6、防火墙的双机热备

解决方案1:VGMP

6.1 双机热备份技术产生的背景:

6.2 VRRP在多区域防火墙组网中的应用

6.3 VRRP在防火墙中应用的缺陷:

6.4 VGMP的基本原理

6.5 VGMP组管理

解决方案2:HRP

6.6 备份内容:会话表备份,配置备份

6.7 备份方向:

6.8 备份通道:

6.9 防火墙双机热备份主备切换的故障场景


1、ALG

应用网关,用来处理上述应用层在nat转换场景转换问题。

ALG 作用之一:观测多通道协议的协商包

2、NAT ALG

某些协议会在应用层携带通信ip(即,没有有nat转换前的ip),这个ip用于下一阶段通信。但是nat的地址转换并不是转应用层而是转三层ip,这就是导致某些协议的通信阶段在nat场景下失败。

问题1:由于nat在转发过程中破坏了源ip的完整性

所以需要使用server-map创建一条隐形通道用来让nat地址进出

问题2:TCP的校验和检验ip的源目IP地址

NAT转换的动作:把IP改掉,然后去TCP的校验和中把修改后的校验和再校验一遍(未首部校验)

NAT转换不仅仅和IP首部,还有TCP的首部

防火墙的解决方案:

1、创建一个nat 

2、创建server-map隐形通道

注意:防火墙设置nat只写真实地址

    服务映射NAT:外->内 目标写内网服务器ip    

    内->外 源写本地主机ip

3、NAT域间双向转换

外网访问内网服务器,内网服务器访也需要问外网的场景;

4、NAT域内双向转换

使用场景:内网的人要想访问内网的服务器,但是dns解析需要到外网解析,然后pc的访问与服务器的响应路径不一致的问题;

5、双出口NAT

双NAt会出现nat地址转换错乱

解决方案:

启动防火墙多出口选项,网关、缺省、源进源出路由控制三种必须启用。不管是多出口是在一个安全区域还是多个安全区域都是如此做法

原理就是通过上述手段把路由与NAT转换通过系一条做了关联

注意:在防火墙图形化配置ip时一定要写默认网关,然后记着勾着多出口选项;

6、防火墙的双机热备

解决方案1:VGMP

6.1 双机热备份技术产生的背景:

当内部用户和和外部用户的交互式报文全部通过防火墙A。如果防火墙A出现故障,则内部网络中所有以防火墙A作为默认网关的通讯将会中断,通讯可靠性无法保证。

为了防止一台设备出现意外故障而导致网络中断业务中断,可以采用两台防火墙形成双机备份

6.2 VRRP在多区域防火墙组网中的应用

为了防止多个区域提供双机如被功能时,需要在每一台防火墙上配置多个VRRP备份组

6.3 VRRP在防火墙中应用的缺陷:

使用传统的VRRP方式无法实现主、备防火墙状态信息和多组VRRP状态的一致性

6.4 VGMP的基本原理

为了保证所有的VRRP备份组切换的一致性,在VRRP的基础上进行了扩展,推出了VGMP(VRRP组协议管理协议)来弥补次局限。将同一台防护墙上的多个VRRP备份组都加入到一个VGMP管理组,由管理组统一管理所有VRRP备份组的状态,来保证管理组内的所有VRRp备份状态都是一致的;

  • 防火墙VGMP组状态分为三类:load-balance负载均衡  Active、standy;

  • 防火墙VGMP组通过发送VGMP报文通告自身的运行状态,从而根据hello优先级决定主备设备,主设备VGMP组的状态为Active,备设备的状态为standby;

  • 当防火墙上的VGMP组为Active/standby时,组内的所有VRRP备份组的状态都是Active/standby;

  • 当发生故障时,VGMP统一切换到VRRP备份组1与VRRP备份组2的状态。当VGMP组状态为Active时,VRRP备份组的状态都是Master;当VGMP组状态都是backup

6.5 VGMP组管理

状态一致性管理:VGMP管理组控制所有的VRRP备份组统一切换,VRRP备份组加入到管理组后状态不能单独切换

抢占管理:

  • 当原来出现故障的主设备故障恢复时,其VGMP管理组优先级也会恢复,此时可以重新将自己的VGMP管理组状态抢占为主;

  • 当VRRP备份组加入到VGMP管理组后,备份组上原来的抢占功能将失效,抢占行为发生与否必须由VGMP管理组统一决定

通道管理:所谓通道管理,就是为了确定双机热备的两台防火墙之间有哪些接口是可用的,VGMP、HRP模块将自动选用可用接口来发送VGMP、HRP报文。

注:

  • VGMP自己选举主备;

  • VRRP的主备由VGMP选举产生;

解决方案2:HRP

HRP(huawei redundancy protocol)协议,用来实现防火墙双机之间状态信息和关键配置命令的动态备份

6.6 备份内容:会话表备份,配置备份

  • 策略: 安全策、NAT策略、认证策略、攻击防范和ASPF等;

  • 对象: 地址、地区、服务、应用、用户、认证服务器、时间段地址池、URL分类、关键字组、邮件地址组、签名和安全配置文件等;

  • 网络: 新建逻辑接口、安全区域、DNS、静态路由(配置hrpauto-sync config static-route后才可以备份)、IPSec和SSLVPN等

  • 系统:管理员、虚拟系统、日志配置等。

  • 状态信息:会话表、Sever-map表、黑白名单、地址映射表、MAC表、用户表、IPSec安全联盟和隧道等。

6.7 备份方向:

  • 支持备份的配置命令默认只能在配置主设备上执行,这些命令会自动备份到备设备上,例如:安全策略配置命令、NAT策略配置命令等

  • 主备备份组网中,只有主备份会处理业务,主设备上生成业务表项,并向备份设备备份。负载均衡分担组网中,两台防火墙设备都会处理业务,都会生成业务表项并向对端设备备份

6.8 备份通道:

  • 配置和状态需要网络管理员指定备份通道接口进行备份。一般情况下,在两台设备上直连的端口作为备份通道,有时候也称为“心跳线”

备份方式:

  • 自动备份

  • 手动批量备份

  • 设备重启主备防火墙的配置自动同步

  • 会话快速备份

6.9 防火墙双机热备份主备切换的故障场景

  • 业务线路故障

  • 整机故障

  • 心跳线故障

相关文章:

防火墙的ALG、NAT、双机热备知识点详解

具体的NAT和双机热备实验请到:NAT与双机热备实验 目录 1、ALG 2、NAT ALG 3、NAT域间双向转换 4、NAT域内双向转换 5、双出口NAT 6、防火墙的双机热备 解决方案1:VGMP 6.1 双机热备份技术产生的背景: 6.2 VRRP在多区域防火墙组网中的…...

传染病模型

title: 传染病模型 date: 2023-7-24 10:55:00 updated: 2023-7-24 10:55:00 tags: 算法数学建模传染病模型matlab categories: 数学建模 传染病模型中的符号表示 SI模型(艾滋传染模型) %% 直接求微分方程的解析解 dsolve(Dx1 -0.1 * x1 * x2 / 1000, D…...

一百三十七、Hive——HQL运行报错(持续更新中)

一、timestamp字段与int字段相加 (一)场景 change_time字段是timestamp字段,代表一个红绿灯周期的开始时间(先是绿灯、再是黄灯、最后红灯),而green是int字段,代表绿灯的秒数,现在…...

Spring Boot配置加密实践

Spring Boot配置加密实践 使用Java技术栈的时候,Spring Boot几乎已经成为了标配。Spring Boot帮助我们简化了各种技术的整合,我们只需要在application.yml配置文件中增加一点点的配置即可。 虽然Spring Boot简化了我们的工作,但是也隐藏了底…...

SwiftUI-基础

应用入口 Main函数与App结构体的绑定,遵循App协议 main struct BaseApp: App {var body: some Scene {WindowGroup {ContentView()}} } 兼容UIApplicationDelegate main struct BasicApp: App {UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate…...

vue。cli怎么使用自定义组件,会有哪些问题

在Vue CLI中使用自定义组件的步骤如下: 通过仔细检查以上问题并按照正确的步骤使用自定义组件,大多数问题都可以解决。此外,查看开发者工具的控制台输出和Vue警告信息,可以帮助你进一步调试和解决可能出现的问题 创建自定义组件&a…...

linux----vim的使用

vi和vim是Linux下的一个文本编辑工具,最小化安装只有vi vim,需要额外安装,比vi更强大一些 # vim 操作文件,有三种模式:普通模式,编辑模式,命令模式 -vim 文件名刚进来----》普通模式--》只…...

95. Python基础教程:异常处理try...except语句

【目录】 文章目录 1. try...except语法解析2. 程序异常3. except的4种使用方式3.1 单独的except3.2 except 异常名称3.3 except 异常类型 as 别名3.4 except (异常类型1,异常类型2) as 别名 4. 总结 【正文】 1. try…except语法解析 try[traɪ]:尝试。 except[…...

详解rocketMq通信模块升级构想

本文从开发者的角度深入解析了基于netty的通信模块, 并通过简易扩展实现微服务化通信工具雏形, 适合于想要了解netty通信框架的使用案例, 想了解中间件通信模块设计, 以及微服务通信底层架构的同学。希望此文能给大家带来通信模块架构灵感。 概述 网络通信是很常见的需求&#…...

【BOOST程序库】对字符串的处理

基本概念这里不解释了&#xff0c;代码中详细解释了BOOST程序库中对于字符串每一个方法的详细用法&#xff1a; 注意&#xff1a;这里每实践一个方法&#xff0c;都将上面实践过的方法进行了注释&#xff0c;如果全部取消注释&#xff0c;会出现重命名的问题。 #include <…...

(学习笔记-内存管理)虚拟内存

单片机是没有操作系统的&#xff0c;每次写完代码&#xff0c;都需要借助工具把程序烧录进去&#xff0c;这样程序才能跑起来。另外&#xff0c;单片机的CPU是直接操作内存的[物理地址]。 在这种情况下&#xff0c;要想在内存中同时运行两个程序是不可能的。如果第一个程序在 2…...

JVM理论(七)性能监控与调优

概述 性能优化的步骤 性能监控&#xff1a;就是通过以非强行或入侵方式收集或查看应用程序运行状态,包括如下问题 GC频繁CPU过载过高OOM内存泄漏死锁程序响应时间较长性能分析&#xff1a;通常在系统测试环境或者开发环境进行分析 通过查看程序日志以及GC日志,或者运用命令行工…...

复现YOLOv8改进最新MPDIoU:有效和准确的边界盒回归的损失,打败G/E/CIoU,效果明显!!!

MPDIoU: A Loss for Efficient and Accurate Bounding Box Regression 论文简介MPDIoU核心设计思路论文方法实验部分加入YOLOv5代码论文地址:https://arxiv.org/pdf/2307.07662.pdf 论文简介 边界盒回归(Bounding box regression, BBR)广泛应用于目标检测和实例分割,是目标…...

LT6911C 是一款HDMI 1.4到双端口MIPIDSI/CSI或者LVDS加音频的一款高性能芯片

LT6911C 1.描述&#xff1a; LT6911C是一款高性能的HDMI1.4到MIPIDSI/CSI/LVDS芯片&#xff0c;用于VR/智能手机/显示器应用程序。对于MIPIDSI/CSI输出&#xff0c;LT6911C具有可配置的单端口或双端口MIPIDSI/CSI&#xff0c;具有1个高速时钟通道和1个~4个高速数据通道&#…...

vue动态引入静态资源

vue动态引入静态资源 静态资源位置&#xff08;../../assets/piecture/page404.jpg&#xff09;或者&#xff08;/assets/piecture/page404.jpg&#xff09; 错误引入方式 错误引入方式&#xff08;一&#xff09; <template><div><img :src"../../asset…...

perl 强制覆盖拷贝文件

如果你想在Perl中进行文件拷贝时强制覆盖目标文件&#xff08;如果目标文件已经存在&#xff09;&#xff0c;你可以使用标准模块File::Copy提供的cp函数&#xff0c;它允许你指定是否覆盖目标文件。 以下是一个示例&#xff0c;展示了如何在Perl中进行强制覆盖拷贝文件&#…...

C语言每日一题之整数求二进制1的个数

今天分享一道题目&#xff0c;用三种方法来求解 二进制1的个数 方法1 我们的十进制除10和取余数就可以得到我们每一位的数字&#xff0c;那我们的二进制也可 以 #include<stdio.h> int num_find_1(unsigned int n) {int count 0;while (n){if (1 n % 2){count;}n / 2…...

AcWing 4443.无限区域

原题链接&#xff1a;AcWing 4443.无限区域 题目来源&#xff1a;夏季每日一题2023 给定一个无限大的二维平面&#xff0c;设点 S 为该平面的中心点。 设经过点 S 的垂直方向的直线为 P&#xff0c;如果直线 P 是一个圆的切线&#xff0c;且切点恰好为点 S&#xff0c;那么&a…...

2D坐标系下的点的转换矩阵(平移、缩放、旋转、错切)

文章目录 1. 平移 &#xff08;Translation&#xff09;2. 缩放 &#xff08;Scaling&#xff09;3. 旋转 &#xff08;Rotation&#xff09;4. 错切 &#xff08;Shearing&#xff09;5. 镜像 &#xff08;Reflection&#xff09; 1. 平移 &#xff08;Translation&#xff09…...

【Rabbitmq】报错:ERROR CachingConnectionFactory Channel shutdown: channel error;

报错内容 ERROR CachingConnectionFactory Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code406, reply-textPRECONDITION_FAILED - unknown delivery tag 1, class-id60, method-id80) 原因 默认是自动ack&#xff0c;然后你代码…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

Oracle查询表空间大小

1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统&#xff0c;可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析&#xff1a;自动解析Markdown文档结构PPT模板分析&#xff1a;分析PPT模板的布局和风格智能布局决策&#xff1a;匹配内容与合适的PPT布局自动…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

vue3+vite项目中使用.env文件环境变量方法

vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量&#xff0c;这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中&#xff0c;我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道&#xff0c;它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

go 里面的指针

指针 在 Go 中&#xff0c;指针&#xff08;pointer&#xff09;是一个变量的内存地址&#xff0c;就像 C 语言那样&#xff1a; a : 10 p : &a // p 是一个指向 a 的指针 fmt.Println(*p) // 输出 10&#xff0c;通过指针解引用• &a 表示获取变量 a 的地址 p 表示…...