防火墙到防火墙的高可用知识汇总

目录​​​​​​​

防火墙

防火墙的分类:

 防火墙的发展史

传统防火墙(包过滤防火墙)—— 一个严格的规则表

传统防火墙(应用代理防火墙)—— 每个应用添加代理

传统防火墙(状态检测防火墙)—— 首次检查建立会话表

入侵检测系统(IDS)—— 网络摄像头

入侵防御系统(IPS) —— 抵御2-7层已知威胁

防病毒网关(AV)—— 基于网络侧识别病毒文件

 Web应用防火墙(WAF)—— 专门用来保护web应用

统一威胁管理(UTM)—— 多合一安全网关

 下一代防火墙(NGFW)—— 升级版的UTM

 防火墙的其他功能

 防火墙的组网

 安全策略

例1 需求:DMZ区存在两台服务器,现在要求生产区的设备仅能在办公时间(9:00 - 18:00) 访问

防火墙的状态检测和会话表

 状态检测防火墙访问过程

1,会话表;2,状态检测

1,会话表

2,状态检测技术

数据通过防火墙的流程 

 ASPF

FTP --- 文件传输协议

 主动模式

被动模式

像FTP这种使用多个端口号的协议叫做多通道协议(双通道协议)

ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包,之后,将端 口算出,将结果记录在sever-map表中,相当于开辟了一条隐形的通道。

防火墙的用户认证

用户认证的分类

认证方式

认证策略

防火墙的NAT

三元组

防火墙的智能选路

策略路由 --- PBR

智能选路 --- 全局路由策略

基于链路带宽的负载分担

 基于链路质量进行负载分担

 基于链路权重进行负载分担

基于链路优先级的主备备份

 DNS透明代理

 防火墙的可靠性

接口故障切换场景

HRP --- Huawei Redundancy Protocol --- 华为冗余协

第一种备份方式 --- 自动备份

第二种备份方式 --- 手工备份

第三种备份方式 --- 快速备份

各场景过程分析

1,主备形成场景

 2,主备模式下,接口故障切换场景

 3,主备场景,主设备故障切换 --- 主故障之后,将无法周期发送HRP心跳报文,则备设备监听超时,进行设备状态的切换。

 4,主备场景,主设备接口故障恢复切换         没有开启抢占 --- 没有抢占则原主设备保持备份状态。        开启抢占:

 5,负载分担

 6,负载分担接口故障场景


防火墙

防火墙的主要职责在于:控制和防护 --- 安全策略 --- 防火墙可以根据安全策略来抓取流量之后做出对应的动作。

防火墙的分类:

吞吐量:防火墙同一时间处理的数据

 防火墙的发展史

防火墙发展进程

传统防火墙(包过滤防火墙)—— 一个严格的规则表

1,很多安全风险集中在应用层的,所以,仅关注三四层的数据无法做到完全隔离安全风险
2,逐包进行包过滤检测,将导致防火墙的转发效率过低,成为网络中的瓶颈。

在ACL列表中,华为体系下,末尾是没有隐含规则的,即如果匹配不到ACL列表,则认为ACL列 表不存在,之前可以通过,则还可以通过;但是,在防火墙的安全策略中,为了保证安全,末 尾会隐含一条拒绝所有的规则,即只要没有放通的流量,都是不能通过的。

传统防火墙(应用代理防火墙)—— 每个应用添加代理

 1,因为需要防火墙进行先一步安全识别,所以,转发效率会降低(原来的三层握手就会变成 6次握手)。
2,可伸缩性差:每一种应用程序需要代理的话,都需要开发对应对应的代理功能,如果没有 开发,则无法进行代理。

传统防火墙(状态检测防火墙)—— 首次检查建立会话表

"会话表技术" —— 首包检测

入侵检测系统(IDS)—— 网络摄像头

 IDS —— 一种侧重于风险管理的安全机制 —— 滞后性

入侵防御系统(IPS) —— 抵御2-7层已知威胁

防病毒网关(AV)—— 基于网络侧识别病毒文件

 Web应用防火墙(WAF)—— 专门用来保护web应用

 因为众多的专用设备导致企业在部署安全防护时需要同时不是大量的设备进行防护,则设备维 护成本大大提高,所有设备都需要对流量进行检测,所以,效率很低。

统一威胁管理(UTM)—— 多合一安全网关

在UTM中,各功能模块是串联工作,所以,检测效率并没有得到提升。但是,因为继承在了一台设备中,所以,维护成本得到降低。

 下一代防火墙(NGFW)—— 升级版的UTM

改进点核心:相较于之前UTM中各模块的串联部署,变为了并联部署,仅需要一次检测,所有 功能模块都可以做出对应的处理。大大提高了工作效率。

 防火墙的其他功能

  1. 访问控制
  2. 地址转换
  3. 网络环境支持
  4. 带宽管理功能
  5. 入侵检测和攻击防御
  6. 用户认证
  7. 高可用性

 防火墙的组网

物理接口
      二层口 --- 不能配IP
                普通的二层口 接口对 --- “透明网线” --- 可以将两个接口绑定成为接口对,如果流量从一
                个接口进入,则 必定从另一个接口出去,不需要查看MAC地址表。 --- 其实一个接口也
                可以做接口对,从该 接口进再从该接口出
                旁路检测接口 --- 主要用于防火墙的旁路部署,用于接收镜像口的流量。
      三层口 --- 可以配IP

虚拟接口
        换回接口
        子接口
        链路聚合
        隧道接口
        。。。

虚拟系统 --- VRF技术,相当于逻辑上将一台设备分割为多台设备,平行工作,互不影响。需要通过接口区分虚拟系统的范围。
管理口和其余物理接口默认不在同一个虚拟系统中。

不同的虚拟空间之间通信使用的虚拟接口,只需要配置IP地址即可。新创建一个虚拟系统会自 动生成一个虚拟的接口。

安全区域:

Trust --- 一般企业内网会被规划在trust区域中
Untrust --- 一般公网区域被规划在untrust区域中
             我们将一个接口规划到某一个区域,则代表该接口所连接的所有网络都被规划到该区域。
Local --- 指设备本身。凡是由设备构造并主动发出的报文均可以认为是从local区域发出的, 凡是需要设备响应并处理的报文均可以认为是由Local区接受。我们无法修改local区的配置, 并且我们无法将接口划入该区域。接口本身属于该区域。
Dmz --- 非军事化管理区域 --- 这个区域主要是为内网的服务器所设定的区域。这些服务器本 身在内网,但是需要对外提供服务。他们相当于处于内网和外网之间的区域。所以,这个区域 就代表是严格管理和松散管理区域之间的部分管理区域。
优先级 --- 1 - 100 --- 越大越优 --- 流量从优先级高的区域到优先级低的区域 ——出方向(outbound)
                                                     流量从优先级低的区域到优先级高的区域 —— 入方向(inbound)

 安全策略

传统的包过滤防火墙 --- 其本质为ACL列表,根据数据报中的特征进行过滤,之后对比规制, 执行动作。
五元组 --- 源IP,目标IP,源端口,目标端口,协议

安全策略 --- 相较于ACL的改进之处在于,首先,可以在更细的颗粒度下匹配流量,另一方面 是可以完成内容安全的检测。

 安全策略 --- 1,访问控制(允许和拒绝)
                     2,内容检测 --- 如果允许通过,则可以进行内容检测

例1 
需求:DMZ区存在两台服务器,现在要求生产区的设备仅能在办公时间(9:00 - 18:00) 访问

 以上部分均为流量匹配条件 每一项之间的关系为“与”关系,如果不进行选择,则默认为any; 多选的里面,每一项之间的关系为“或”

防火墙的状态检测和会话表

基于流的流量检测 --- 即设备仅对流量的第一个数据包进行过滤,并将结果作为这一条数据流 的“特征”记录下来(记录在本地的“会话表”),之后,该数据流后续的报文都将基于这个 特征来进行转发,而不再去匹配安全策略。这样做的目的是为了提高转发效率。

 状态检测防火墙访问过程

当web服务器给PC进行回报时,来到防火墙上,防火墙会将报文中的信息和会话表的信 息进行性比对,如果,发现报文中的信息与会话表中的信息相匹配,并且,符合协议规 范对后续报文的定义,则认为该数据包属于PC,可以允许该数据包通过。

1,会话表;2,状态检测

1,会话表

会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算 HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效 率。1,会话表 --- 会话表本身也是基于5元组来区分流量,会话表在比对时,会通过计算 HASH来比较五元组。因为HASH定长,所以,可以基于硬件进行处理,提高转发效 率。

因为会话表中的记录只有在流量经过触发时才有意义,所以,如果记录长时间不被触 发,则应该删除掉。即会话表中的记录应该存在老化时间。如果会话表中的记录被删除 掉之后,相同五元组的流量再通过防火墙,则应该由其首包重新匹配安全策略,创建会 话表,如果无法创建会话表,则将丢弃该数据流的数据。

如果会话表的老化时间过长:会造成系统资源的浪费,同时,有可能导致新的会话表项 无法正常建立
如果会话表的老化时间过短:会导致一些需要长时间首发一次的报文连接被系统强行中 断,影响业务的转发。

不同协议的会话表老化时间是不同

USG6000V1]display firewall session table --- 查看会话表
[USG6000V1]display firewall session table verbose -- 查看会话表详情

2,状态检测技术

状态检测主要检测协议逻辑上的后续报文,以及仅允许逻辑上的第一个报文通过后创建 会话表。可以选择开启或者关闭该功能。

数据通过防火墙的流程 

 ASPF

FTP --- 文件传输协议

FTP协议是一个典型的C/S架构的协议
Tftp --- 简单文件传

1,FTP相较于Tftp存在认证动作
2,FTP相较于Tftp拥有一套完整的命令集

FTP工作过程中存在两个进程,一个是控制进程,另一个是数据的传输进程,所以,需要使用 两个端口号20,21
并且,FTP还存在两种不同的工作模式 --- 主动模式,被动模式

 主动模式

被动模式

像FTP这种使用多个端口号的协议叫做多通道协议(双通道协议)

ASPF --- 针对应用层的包过滤 --- 用来抓取多通道协议中协商端口的关键数据包,之后,将端 口算出,将结果记录在sever-map表中,相当于开辟了一条隐形的通道。

 默认FTP协议开启了ASPF

防火墙的用户认证

防火墙管理员登录认证 --- 检验身份的合法性,划分身份权限

用户认证 --- 上网行为管理的一部分
用户,行为,流量 --- 上网行为管理三要素

用户认证的分类

上网用户认证 --- 三层认证 --- 所有的跨网段的通信都可以属于上网行为。正对这些行 为,我们希望将行为和产生行为的人进行绑定,所以,需要进行上网用户认证。

入网用户认证 --- 二层认证 --- 我们的设备在接入网络中,比如插入交换机或者接入wifi 后,需要进行认证才能正常使用网络。

接入用户认证 --- 远程接入 --- VPN --- 主要是校验身份的合法性的

认证方式

本地认证 --- 用户信息在防火墙上,整个认证过程都在防火墙上执行。
服务器认证 --- 对接第三方服务器,防火墙将用户信息传递给服务器,之后,服务器将认证结果返
                        回,防火墙执行对应的动作即可。
单点登录 --- 和第三方服务器认证类似。

 认证域 --- 可以决定认证的方式和组织结构

登录名 --- 作为登录凭证使用,一个认证域下不能重复。
显示名 --- 显示名不能用来登录,只用来区分和标识不同的用户。如果使用登录名区分,则也 可
                以不用写显示名。显示名可以重复。
​​​​​​​账号过期时间 --- 可以设定一个时间点到期,但是,如果到期前账号已登录,到期后,防火墙 不
                           会强制下线该用户。
允许多人同时使用该账号登录
​​​​​​​        私有用户 --- 仅允许一个人使用,第二个人使用时,将顶替到原先的登录。
        公有用户 --- 允许多个人同时使用一个账户。

IP/MAC绑定 --- 用户和设备进行绑定(IP地址/MAC地址)
​​​​​​​        单向绑定 --- 该用户只能在这个IP或者这个MAC或者这个IP/MAC下登录,但是,其他用户
        可以在该设备下登录。
        双向绑定 --- 该用户只能在绑定设备下登录,并且该绑定设备也仅允许该用户登录。

安全组和用户组的区别 --- 都可以被策略调用,但是,用户组在调用策略后,所有用户组成员 以及子用户组都会生效,而安全组仅组成员生效,子安全组不生效。

认证策略

Portal --- 这是一种常见的认证方式。我们一般见到的网页认证就是portal认证。我们做上网 认证
                ,仅需要流量触发对应的服务时,弹出窗口,输入用户名和密码进行认证。

免认证 --- 需要在IP/MAC双向绑定的情况下使用,则对应用户在对应设备上登录时,就可以 选
                择免认证,不做认证。

匿名认证 --- 和免认证的思路相似,认证动作越透明越好,选择匿名认证,则登录者不需要输入
                用户名和密码,直接使用IP地址作为其身份进行登录。

认证域

如果这里的上网方式选择protal认证,则认证策略里面也要选择portal认证。
如果这里的上网方式选择免认证或者单点登录,则认证策略中对应动作为免认证。
如果认证策略中选择的是匿名认证,则不触发这里的认证动作。

不同的认证域之间是或的关系

防火墙的NAT

静态NAT --- 一对一
动态NAT --- 多对多
NAPT --- 一对多的NAPT --- easy ip
​​​​​​​           --- 多对多的NAPT
服务器映射

源NAT --- 基于源IP地址进行转换。我们之前接触过的静态NAT,动态NAT,NAPT都属于源
               NAT,都是针对源IP地址进行转换的。源NAT主要目的是为了保证内网用户可以访问公网
目标NAT --- 基于目标IP地址进行转换。我们之前接触过的服务器映射就属于目标NAT。是为了
                保证公网用户可以访问内部的服务器。
双向NAT --- 同时转换源IP和目标IP地址。

 源NAT是在安全策略之后执行。

 配置黑洞路由 --- 黑洞路由即空接口路由,在NAT地址池中的地址,建议配置达到这个地址指 向空接口的路由,不然,在特定环境下会出现环路。(主要针对地址池中的地址和出接口地址 不再同一个网段中的场景。)


决定了使用的是动态NAT还是NAPT的逻辑。

高级
NAT类型 --- 五元组NAT --- 针对源IP,目标IP,源端口,目标端口,协议 这五个参数识别出的数
                                           据流进行端口转换.
                   三元组NAT --- 针源IP,源端口,协议 三个参数识别出的数据流进行端口转换.

 在保留地址中的地址将不被用于转换使用

动态NAT创建完后,触发访问流量后会同时生成两条server-map的记录,其中一条是反向记 录。反向记录小时前,相当于是一条静态NAT记录,外网的任意地址,在安全策略放通的情况 下,是可以访问到内网的设备。
基于端口的NAT转换,是不会生成server-map表的。

三元组

P2P --- peer to peer

因为P2P应在端口转换的情况下,识别五元组,将导致P2P客户端之间无法直接访问,不符合 五元组的筛选条件,所以,这种场景下可以使用三元组NAT,放宽筛选条件,保证P2P客户端 之间可以正常通信。

防火墙的智能选路

就近选路 --- 我们希望在访问不同运营商的服务器是,通过对应运营商的链路。这样可以提高 通信效率,避免绕路。

策略路由 --- PBR

传统的路由,仅基于数据包中的目标IP地址查找路由表。仅关心其目标,所以,在面对 一些特殊的需求时,传统路由存在短板,缺乏灵活性,适用场景比较单一。 策略路由本身也是一种策略,策略主要先匹配流量,再执行动作。策略路由可以从多维 度去匹配流量,之后,执行的动作就是定义其转发的出接口和下一跳。策略路由末尾隐 含一条不做策略的规则,即所有没有匹配上策略路由的流量,都将匹配传统路由表进行 转发。

如果存在多条策略路由,则匹配规则也是自上而下,逐一匹配,如果匹配上了,则按照 对应动作执行,不再向下匹配;

 DSCP优先级 --- 相当于在数据包中设定其转发的优先级(利用的是IP头部中tos字段),之后下游设备会根据优先级来差异化保证流量的通过。

动作:
转发 --- 可以定义其转发的方式
转发其他虚拟系统 --- VRF
不做策略路由

监控 --- 当策略是单出口时,如果这里写的下一跳和出接口不可达,报文将直接被FW丢弃。为了提高可靠性,我们可以配置针对下一跳的监控,即使下一跳不可达,也可以继 续查找本地路由表,而不是直接丢弃。

智能选路 --- 全局路由策略

基于链路带宽的负载分担

基于链路带宽的负载分担会按照多条链路的带宽比例来分配流量。并且,如果配置的过 载保护阈值,则一条链路达到过载保护阈值之后,除了已经创建会话表的流量依然可以 从该接口通过外,该接口将不再参与智能选路,需要新建会话表的流量将从其余链路中 按照比例转发。

会话保持 --- 开启该功能后,流量首次通过智能选路的接口后,会创建会话表,后续命 中会话表的流量都将通过同一个接口来进行转发,选择源IP和目的IP的效果时,所有相 同源IP或者目标IP的流量将通过同一个接口转发。 --- 应对于不希望链路频繁切换的场景。

 在链路接口中可以配置就近选路。

 基于链路质量进行负载分担

丢包率 --- FW会发送若干个探测报文(默认5个),将统计丢包的个数。丢包率等于回 应报文个数除以探测报文个数。丢包率是最重要的评判依据。
时延 --- 应答报文接受时间减去探测报文发送时间。FW会发送若干个探测报文,取平均 时延作为结果进行评判
延时抖动 --- 两次探测报文时延差值的绝对值。FW会发送若干个探测报文,取两两延抖动的平均值。

首次探测后会将结果记录在链路质量探测表中,之后,将按照表中的接口来进行选路。 表中的老化时间结束后,将重新探测。

 基于链路权重进行负载分担

 权重是由网络管理员针对每一条链路手工分配的,分配之后,将按照权重比例分配流量。

基于链路优先级的主备备份

优先级也是由网络管理员针对每一条链路手工分配的。
执行逻辑:
1,接口没有配置过载保护:
        优先使用优先级最高的链路转发流量,其他链路不工作。直到优先级最高的链路故 障,则
        优先级次高的链路开始转发流量。其余链路依旧不工作。
2,接口配置了过载保护:
        优先使用优先级最高的链路转发流量,其他链路不工作;如果最高的链路达到或超 过保护
        阈值,则优先级次高的链路开始工作。

 DNS透明代理

 DNS透明代理的前提是开启就近选路

 防火墙的可靠性

防火墙和路由器在进行可靠性备份时,路由器备份可能仅需要同步路由表中的信息就可以了, 但是,防火墙是基于状态检测的,所以,还需要同步记录状态的会话表等。所以,防火墙需要 使用到双机热备技术
        双机 --- 目前防火墙的双机热备技术仅支持两台设备
        热备 --- 两台设备同时运行,在一台设备出现故障的情况下,另一台设备可以立即替代原设备。

VRRP技术
        虚拟路由器冗余协议 --- “实的不行来虚的”
        Initialize --- 在VRRP中,如果一个接口出现故障之后,则这个接口将进入到该过渡状态。

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

VGMP ---- VRRP Group Management Protocol
        华为私有协议 --- 这个协议就是将一台设备上的多个VRRP组看成一个组,之后统一进行
        管理,统一切换的协议。以此来保证VRRP组状态的一致性。

接口故障切换场景

在防火墙的双机热备中,我们不论时VRRP组还是VGMP组,主备的叫法发生了变化,主 统一被称为Active,备被称为Standby

1,假设主设备的下联口发生故障,则这个接口的vrrp状态将由原来的Active状态切换为 initialize状态。(这种情况下,按照VRRP自己的机制,主设备将无法发送周期保活报文, 则备设备在超过超时时间后将切换为主的状态。但是,因为这里启用VGMP在,则VRRP 切换状态将由VGMP接管,VRRP的机制名存实亡。)

2,VGMP组发现VRRP组出现变化,将降低自身的优先级。(说明,在VGMP组中,也 存在优先级的概念。一开始,每台设备中都会存在两个VGMP组,一个叫做Active组, 另一个叫做Standby组。Active组初始的默认优先级为65001,Standby组初始的默认 优先级为65000(不同版本的防火墙,这个优先级的定义不同)。一开始,我们FW1将 两个VRRP组都拉入VGMP_ACTIVE组中,因为ACTIVE组的状态时active,所以,里面 两个vrrp组的状态也是active(VGMP组的状态决定了VRRP组的状态),FW2同理。当 一个VRRP组的状态变为initialize,则VGMP则的优先级-2。)之后,原主设备会发送一 个VGMP请求报文给对端,里面包含了自己当前变化后的优先级。

3,当原备设备接收到请求报文后,看到里面的优先级时64999,而低于自身的65000,则会将自己的VGMP_STANDBY组的状态由原来的standby切换为active。同时,发送 一个同意请求报文给原主设备。

4,原主设备接收到对方的应答报文之后,将会把自身VGMP_ACTIVE组的状态由原来的 ACTIVE切换为STANDBY。

5,在原备设备发送应答报文的同时,因为其VGMP组的状态切换,所以,其内部的 VRRP组状态也将由原来的standby转换为avtive。原主设备在接受到对方的应答报文之 后,因为将其VGMP组状态切换,所以,同时将其内部的VRRP组状态由原来的active状 态切换为standby状态(注意,故障接口依旧保持init的状态。)。

6,原备设备会通过接口向上下联链路发送免费ARP报文,切换交换机的MAC地址表。 流量将被切换到原被设备上。

HRP --- Huawei Redundancy Protocol --- 华为冗余协

这是一款华为的私有协议 --- 备份配置信息和状态信息。

HRP备份有一个前提,就是两台设备之间必须专门连一根用于备份的线路,这跟线路我 们称为心跳线(广义上,任何两台设备之间的链路都可以叫做心跳线)
心跳线的接口必须是一个三层接口,需要配置对应的IP地址。这条备份数据的链路不受 路由策略限制(直连场景。非直连场景依然需要配置安全策略。)

HRP协议本身算是VGMP协议的一部分
HRP的心跳线也会传递心跳报文,用于检测对端是否处于工作状态。这个周期时间默认1s,逻辑和vrrp一样,只有主设备会周期发送,备设备仅监听即可,如果在三个周期内,都没有收到HRP的心跳报文,则将认定原主设备故障,则将进行失效判断,认定自身为主。
VGMP的报文也是通过这条心跳线发送的。

配置信息 --- 策略,对象,网络里面的一些配置都属于配置信息。(接口IP地址,路由之类的不同步,因为这些是需要在双机组建之前配置的)

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

第一种备份方式 --- 自动备份

        默认开启自动备份,可以实时备份配置信息。但是,自动备份不能立即同步状态信息。 一
        般是在主设备上状态生成后一段时间(10s左右)同步到备设备上。 Hrp standby config
        enable --- 这个命令可以让备设备上的配置同步到主设备上。

第二种备份方式 --- 手工备份

        由管理员手工触发,可以立即同步配置信息以及状态信息。

第三种备份方式 --- 快速备份

        该模式仅使用在负载分担的工作方式下。 因为负载分担的场景下,两台设备都需要处于工
        作状态,为了避免因为状态信息同步不 及时,导致业务流量中断,所以,该场景下,默认
​​​​​​​        开启快速备份。 快速备份可以实时同步状态信息。但是,该方式不同步配置信息。

各场景过程分析

1,主备形成场景

 2,主备模式下,接口故障切换场景

 3,主备场景,主设备故障切换 --- 主故障之后,将无法周期发送HRP心跳报文,则备设备监听超时,进行设备状态的切换。
 4,主备场景,主设备接口故障恢复切换
        没有开启抢占 --- 没有抢占则原主设备保持备份状态。
        开启抢占:

 5,负载分担

 6,负载分担接口故障场景

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

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

相关文章

责任链模式在java中的实现

1 总览 2 概念 避免请求发送者与接收者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种对象行为型模式。 3 实现 公共部分,一个系…

Windows、Linux、Mac数据库的安装(mysql、MongoDB、Redis)

数据库的安装 作为数据存储的重要部分,数据库同样是必不可少的,数据库可以分为关系型数据库和非关系型数据库。 关系型数据库如 SQLite、MySQL、Oracle、SQL Server、DB2 等,其数据库是以表的形式存储;非关系型数据库如 MongoDB…

wsl-ubuntu 安装 nginx

wsl-ubuntu 安装 nginx 1. 安装 nginx2. 确认 nginx 启动状态3. 重启 nginx4. 停止 nginx 1. 安装 nginx sudo apt install nginx2. 确认 nginx 启动状态 systemctl status nginx3. 重启 nginx systemctl restart nginx4. 停止 nginx systemctl stop nginx完成!…

CRM系统多少钱一套?

CRM系统多少钱一套? 相信这是企业普遍关心的一个问题。 我们公司也使用过CRM客户关系管理系统,经验就是,建议在开发前先进行一次详细的需求分析,确定采用哪种开发方式,估量所需的工作量;然后在此基础上&a…

【软考问题】-- 5 - 知识精讲 - 项目进度管理

一、基本问题 项目进度管理(按时完成) 1:紧前关系绘图法? 定义:它是创建进度模型的一种技术。别称: PDM、前导图法、单代号网络图(只有节点需要编号)、活动节点图(AON&a…

Habitat环境学习二:导航任务中的Habitat-sim基础Habitat-sim Basics for Navigation

导航任务在Habitat-sim任务中的实现 官方教程概述重要概念1、Hello World程序1.0.1 基础设置Basic settings1.0.2 模拟器设置Configurations for the simulator1.0.3 创建模拟器实例1.0.4 初始化Agent1.0.5 导航和探索 官方教程 Habitat是一个高效的真实的3D模拟器&#xff0c…

iTunes Connect 中修改后的内购(IPA)审核所需的时间

引言 在 iOS 开发过程中,将应用上传到 App Store 是一个重要的步骤。应用审核和 IAP 商品审核是分开的,审核一般需要等待一周左右。如果审核通过,我们会收到 Apple 发来的反馈邮件,根据邮件中的指示进行后续操作。如果已经上架的…

客户点赞,“信”任满满 | 竹云喜获近百封感谢信!

玉兔辞旧岁,威龙迎新春 在新春佳节来临之际 一封封感谢信、表扬信 纷至沓来 纸短情长 每一封感谢信的背后 都记载着一个动人的故事 字里行间情真意切 激励着竹云继续前行! 国家电投 竹云项目组成员凭借丰富的业务、技术经验、专业的职业素养和较…

从换脸到克隆:IP Adapter FaceID的技术突破与应用

引言 换脸技术,一直以来都是数字图像处理领域的热门话题。从最早的传统方法到现在的AI驱动技术,换脸技术已经经历了多次重大的技术革新。近年来,随着深度学习和计算机视觉技术的发展,换脸技术开始向更加智能化、自动化的方向演进…

Springboot自定义线程池实现多线程任务

1. 在启动类添加EnableAsync注解 2.自定义线程池 package com.bt.springboot.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.concurrent.ThreadPoolTask…

移动端深度编辑产品技术解决方案

视频编辑已经成为企业宣传、教育、娱乐等多个领域的重要工具。美摄科技凭借其深厚的技术积累和对市场需求的敏锐洞察,开发出业界领先的移动端深度编辑产品,为企业提供高效、专业的视频编辑解决方案。 美摄科技移动端深度编辑产品方案,基于多…

思维导图:大神教你如何画思维导图

思维导图是什么? 思维导图是一种图形化的工具,用于组织和展示思维过程、概念关系和信息结构。它以一个中心主题为起点,通过分支和连接的方式,将相关的想法、概念、关键词等呈现在一个图形化的结构中。 思维导图通常以中心节点开始…

自动化测试——selenium工具(web自动化测试)

1、自动化测试 优点:通过自动化测试有效减少人力的投入,同时提高了测试的质量和效率。 也用于回归测试。随着版本越来越多,版本回归的压力越来越大,仅仅通过人工测试 来回归所以的版本肯定是不现实的,所以…

备战蓝桥杯--数据结构及STL应用(基础)

今天轻松一点&#xff0c;讲一讲stl的基本操作吧&#xff01; 首先&#xff0c;让我们一起创建一个vector容器吧&#xff01; #include<bits/stdc.h> using namespace std; struct cocoack{ int coco,ck; } void solve(){vector<cocoack> x;for(int i0;i<5;i){…

springboot3+vue3支付宝在线支付案例-渲染产品列表页面

springboot3vue3支付宝在线支付案例-渲染产品列表页面&#xff01;今天折腾了半天&#xff0c;完成了vue3前端项目的产品列表选染。 我们使用到了技术有axios&#xff08;发送跨域的请求获取产品&#xff09;。pinia&#xff08;绑定数据&#xff09;, import { ref } from vu…

203.移除链表元素(力扣LeetCode)

文章目录 203.移除链表元素题目描述原链表删除元素虚拟头节点 203.移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head …

redis-4 集群

应用场景 为什么需要redis集群&#xff1f; 当主备复制场景&#xff0c;无法满足主机的单点故障时&#xff0c;需要引入集群配置。 一般数据库要处理的读请求远大于写请求 &#xff0c;针对这种情况&#xff0c;我们优化数据库可以采用读写分离的策略。我们可以部 署一台主服…

网安文件包含漏洞

文件包含概念&#xff1a; 开发人员通常会把可重复使用的函数写到单个文件中&#xff0c;在使用某些函数时&#xff0c;直接调用此文件&#xff0c;而无需再次编写&#xff0c;这种调用文件的过程一般被称为包含。为了使代码更加灵活&#xff0c;通常会将被包含的文件设置为变…

【C/C++ 01】初级排序算法

排序算法通常是针对数组或链表进行排序&#xff0c;在C语言中&#xff0c;需要手写排序算法完成对数据的排序&#xff0c;排序规则通常为升序或降序&#xff08;本文默认为升序&#xff09;&#xff0c;在C中&#xff0c;<algorithm>头文件中已经封装了基于快排算法的 st…

Python采集学习笔记-读取excel数据

表格格式 方法一:使用xlrd import xlrd 1.读取Excel文件 workbook xlrd.open_workbook(plc.xlsx) 2.读取第一个表 sheet workbook.sheet_by_index(0) 3.获取表格总行数 total_rows sheet.nrows 4.创建列表,存储表格一行中每一列信息 plc_info [] for row in range(1…