IPsec-VPN中文解释

一 IPsec-VPN 实操  (点到点)

网络括谱图

IPSec-VPN 配置思路

1 配置IP地址

FWA:IP地址的配置

[FW1000-A]interface  GigabitEthernet  1/0/0 

[FW1000-A-GigabitEthernet1/0/0]ip address  10.1.1.1 24  //配置IP地址

[FW1000-A]interface  GigabitEthernet  1/0/2

[FW1000-A-GigabitEthernet1/0/2]ip address  2.2.2.1 24

FWB:IP地址配置

[FW1000-B]interface  GigabitEthernet  1/0/3

[FW1000-B-GigabitEthernet1/0/3]ip address  10.1.2.1 24

[FW1000-B]interface  GigabitEthernet  1/0/4

[FW1000-B-GigabitEthernet1/0/4]ip add

[FW1000-B-GigabitEthernet1/0/4]ip address  2.2.3.1 24

INTERNET-SW1:将接口开成三层接口

[INTERENT-SW]interface  GigabitEthernet  1/0/1

[INTERENT-SW-GigabitEthernet1/0/1]port link-mode  route  //交换机的模式是三层

[INTERENT-SW-GigabitEthernet1/0/1]ip address  2.2.2.2 24

[INTERENT-SW-GigabitEthernet1/0/1]quit

[INTERENT-SW-GigabitEthernet1/0/3]port link-mode  route

[INTERENT-SW-GigabitEthernet1/0/3]ip address  2.2.3.2 24

2 防火墙的接口加入指定的防火墙区域

(Local

Turst

Untrust

DMZ 

Management)

FWA:配置思路

[FW1000-A]security-zone  name  Trust  //进入对应的区域

[FW1000-A-security-zone-Trust]import  interface  GigabitEthernet  1/0/0

//将接口加入到指定的区域

[FW1000-B-security-zone-Trust]quit

[FW1000-A]security-zone name  Untrust 

[FW1000-A-security-zone-Untrust]import  interface  GigabitEthernet  1/0/2

[FW1000-A-security-zone-Untrust]

FWB配置思路

[FW1000-B]security-zone  name  Trust 

[FW1000-B-security-zone-Trust]import  interface  GigabitEthernet  1/0/3

[FW1000-B-security-zone-Trust]quit

[FW1000-B]security-zone  name  Untrust

[FW1000-B-security-zone-Untrust]import  interface  GigabitEthernet  1/0/4

3 防火墙的接口默认是封 ping的需要解ping

FWA配置思路

[FW1000-A-GigabitEthernet1/0/0]manage  ping  outbound //出口流量解ping

[FW1000-A-GigabitEthernet1/0/0]manage  ping  inbound  //入口流量解ping

[FW1000-A-GigabitEthernet1/0/0]quit

[FW1000-A-GigabitEthernet1/0/2]manage  ping  outbound

[FW1000-A-GigabitEthernet1/0/2]manage  ping  inbound

FWB配置思路

[FW1000-B]interface  GigabitEthernet  1/0/4

[FW1000-B-GigabitEthernet1/0/4]manage  ping  outbound

[FW1000-B-GigabitEthernet1/0/4]manage  ping  inbound

[FW1000-B-GigabitEthernet1/0/4]quit

[FW1000-B]interface  GigabitEthernet  1/0/3

[FW1000-B-GigabitEthernet1/0/3]manage  ping outbound

[FW1000-B-GigabitEthernet1/0/3]manage  ping in

[FW1000-B-GigabitEthernet1/0/3]manage  ping inbound 0/3]

4 防火墙配置静态路由

FWA配置:

[FW1000-A]ip route-static 10.1.2.0 24 2.2.2.2

//配置静态路由 ip route-static 目标地址 掩码 下一条

[FW1000-A]ip route-static 2.2.3.1 24 2.2.2.2

FWB配置:

[FW1000-B]ip route-static 10.1.1.0 24 2.2.3.2

[FW1000-B]ip route-static 2.2.2.1 24 2.2.3.2

5 配置IPsec隧道策略

配置安全策略放行Untrust与Local安全域之间的流量,用于设备之间可以建立IPsec隧道。

FWA

security-policy ip //进入防火墙的策略

rule name ipseclocalout  //给规则命名字

source-zone local //源区域是 local

备注:local区域是指防火墙上的所有对应的接口

destination-zone untrust //目标区域是 不信任区域 指定的是公网区域

备注: untrust 指定的是外网区域,通常指定的是不可信认的区域

source-ip-host 2.2.2.1 //源接口的IP地址

destination-ip-host 2.2.3.1 //目标接口的IP地址

action pass //使用 "action pass" 可以覆盖这一默认行为,允许特定的流量通过。

Quit //退出

rule name ipseclocalin

source-zone untrust

destination-zone local

source-ip-host 2.2.3.1

destination-ip-host 2.2.2.1

action pass

quit

6 配置安全策略从信任的区域到不信任的区域 trust-untrust

rule name trust-untrust

source-zone trust

destination-zone untrust

source-ip-subnet 10.1.1.0 24

destination-ip-subnet 10.1.2.0 24

action pass

quit

解释:

    规则名称:"trust-untrust",这是该规则的标识名称,方便管理和识别。

    源安全域:"trust",表示数据包的发送方所在的网络区域被划分为 "trust" 安全域,通常代表内部网络或受信任的网络。

    目的安全域:"untrust",表示数据包的接收方所在的网络区域被划分为 "untrust" 安全域,通常代表外部网络或不受信任的网络。

    源IP地址范围:"10.1.1.0 24",指定了允许发送数据包的源IP地址范围,即10.1.1.0到10.1.1.255(子网掩码为255.255.255.0)。

    目的IP地址范围:"10.1.2.0 24",指定了允许接收数据包的目的IP地址范围,即10.1.2.0到10.1.2.255。

    动作:"action pass",定义了当数据包符合上述条件时,防火墙将执行的动作,这里是 "pass",即允许数据包通过。

    退出命令:"quit",用于退出当前的安全策略配置模式。

rule name untrust-trust

source-zone untrust

destination-zone trust

source-ip-subnet 10.1.2.0 24

destination-ip-subnet 10.1.1.0 24

action pass

quit

quit

7 配置ACL 规则

配置ACL规则(高级ACL)

acl advanced 3101

rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

quit

解释:

    rule permit:表示这是一个允许(permit)规则。

    ip:指定该规则适用于IP数据包。

    source 10.1.1.0 0.0.0.255:指定源IP地址范围为10.1.1.0到10.1.1.255(子网掩码为255.255.255.0,即24位掩码)。

    destination 10.1.2.0 0.0.0.255:指定目的IP地址范围为10.1.2.0到10.1.2.255(同样是一个24位掩码的子网)。

8 配置IPsec安全提议,协商封装报文使用的各种安全协议

ipsec transform-set tran1

encapsulation-mode tunnel

protocol esp

esp encryption-algorithm aes-cbc-128

esp authentication-algorithm sha1

quit

解释:

  1. 创建IPSec转换集: ipsec transform-set tran1 命令创建了一个名为 tran1 的IPSec转换集,这是一组安全参数,用于定义IPSec隧道的加密和认证方法。
  2. 设置封装模式: encapsulation-mode tunnel 指定了封装模式为隧道模式,这意味着原始数据包将被完全封装在新的IPSec数据包中,包括源IP和目的IP地址。
  3. 选择协议: protocol esp 选择了ESP协议,它是IPSec的两个主要协议之一,用于在IP层提供数据的加密和认证。
  4. 加密算法: esp encryption-algorithm aes-cbc-128 设置了加密算法为AES-CBC-128,即采用128位密钥的高级加密标准(AES)的密码块链(CBC)模式,这是一种常用的、安全性较高的加密方法。
  5. 认证算法: esp authentication-algorithm sha1 设置了认证算法为SHA-1,即安全哈希算法1,用于验证数据的完整性和来源,防止数据在传输过程中被篡改。
  6. 退出命令模式: quit 命令用于退出当前的配置模式,返回到上一级命令行界面。

9 配置IPsec安全策略,建立IPsec隧道,保护需要防护的数据流

ipsec policy map1 10 manual

security acl 3101

transform-set tran1

remote-address 2.2.3.1

sa spi outbound esp 12345

sa spi inbound esp 54321

sa string-key outbound esp simple abcdefg

sa string-key inbound esp simple gfedcbasa

quit

  1. 创建IPSec安全策略: ipsec policy map1 10 manual 创建了一个名为 map1 的IPSec安全策略,序列号为10,并且是手动模式(manual),这意味着IPSec安全关联(SA)需要手动建立。
  2. 引用访问控制列表(ACL): security acl 3101 指定了该IPSec安全策略将使用编号为3101的ACL来确定哪些流量需要通过IPSec进行保护。
  3. 指定IPSec转换集: transform-set tran1 指定了该IPSec安全策略将使用名为 tran1 的转换集,该转换集定义了加密和认证算法等安全参数。
  4. 配置对端IP地址: remote-address 2.2.3.1 指定了IPSec隧道的对端IP地址为2.2.3.1。
  5. 配置安全关联(SA)的SPI值:
    • sa spi outbound esp 12345 为出站(outbound)的ESP协议配置了一个SPI(Security Parameters Index)值为12345。
    • sa spi inbound esp 54321 为入站(inbound)的ESP协议配置了一个SPI值为54321。
  6. 配置SA的密钥:
    • sa string-key outbound esp simple abcdefg 为出站SA配置了一个简单的字符串密钥“abcdefg”。
    • sa string-key inbound esp simple gfedcbasa 为入站SA配置了一个简单的字符串密钥“gfedcbasa”。

10 在接口上应用IPsec安全策略,对接口上的流量进行保护

interface gigabitethernet 1/0/2

ipsec apply policy map1

quit

  1. interface gigabitethernet 1/0/2
    这条命令用于进入名为GigabitEthernet 1/0/2的网络接口配置模式。这个接口可以是物理接口,也可以是逻辑接口,用于连接网络设备和其他设备,如路由器、交换机或终端设备。
  2. ipsec apply policy map1
    这条命令将名为map1的IPSec安全策略应用到GigabitEthernet 1/0/2接口上。这意味着所有通过该接口的、符合策略map1中定义的ACL(访问控制列表)规则的数据流都将被IPSec保护。这包括数据的加密、认证等安全操作,

11 配置IPsec隧道策略

配置安全策略放行Untrust与Local安全域之间的流量,用于设备之间可以建立IPsec隧道。

security-policy ip

rule name ipseclocalout

source-zone local

destination-zone

source-ip-host 2.2.3.1

destination-ip-host 2.2.2.1

action pass

quit

rule name ipseclocalin

source-zone untrust

destination-zone local

source-ip-host 2.2.2.1

destination-ip-host 2.2.3.1

action pass

quit

12 配置安全策略

配置安全策略 trust-untrust  untrust-trust

rule name trust-untrust

source-zone trust

destination-zone untrust

source-ip-subnet 10.1.2.0 24

destination-ip-subnet 10.1.1.0 24

action pass

quit

rule name untrust-trust

source-zone untrust

destination-zone trust

source-ip-subnet 10.1.1.0 24

destination-ip-subnet 10.1.2.0 24

action pass

quit

quit

13 配置ACL规则

acl advanced 3101

rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

quit

14 配置IPsec安全提议,协商封装报文使用的各种安全协议

ipsec transform-set tran1

encapsulation-mode tunnel

protocol esp

esp encryption-algorithm aes-cbc-128

esp authentication-algorithm sha1

quit

15 配置IPsec安全策略,建立IPsec隧道,保护需要防护的数据流

ipsec policy usel 10 manual

security acl 3101

transform-set tran1

remote-address 2.2.2.1

sa spi outbound esp 54321

sa spi inbound esp 12345

sa string-key outbound esp simple gfedcba

sa string-key inbound esp simple abcdefg

quit

16 在接口上应用IPsec安全策略,对接口上的流量进行保护

interface gigabitethernet 1/0/

ipsec apply policy usel

quit

17 查看配置


二 IPsec-VPN 理论

2.1 IPsec简介

IPsec(IP Security,IP安全)是IETF制定的三层隧道加密协议,它为互联网上传输的数据提供了高质量的、基于密码学的安全保证,是一种传统的实现三层VPN(Virtual Private Network,虚拟专用网络)的安全技术。IPsec通过在特定通信方之间(例如两个安全网关之间)建立“通道”,来保护通信方之间传输的用户数据,该通道通常称为IPsec隧道。

2.1.1  IPsec协议框架

IPsec协议不是一个单独的协议,它为IP层上的网络数据安全提供了一整套安全体系结构,包括安全协议AH(Authentication Header,认证头)和ESP(Encapsulating Security Payload,封装安全载荷)、IKE(Internet Key Exchange,互联网密钥交换)以及用于网络认证及加密的一些算法等。其中,AH协议和ESP协议用于提供安全服务,IKE协议用于密钥交换。关于IKE的详细介绍请参见“安全配置指导”中的“IKE”,本节不做介绍。

2.1.2  IPsec提供的安全服务

IPsec提供了两大安全机制:认证和加密。认证机制使IP通信的数据接收方能够确认数据发送方的真实身份以及数据在传输过程中是否遭篡改。加密机制通过对数据进行加密运算来保证数据的机密性,以防数据在传输过程中被窃听。

IPsec为IP层的数据报文提供的安全服务具体包括以下几种:

  1. · 数据机密性(Confidentiality):发送方通过网络传输用户报文前,IPsec对报文进行加密。
  2. · 数据完整性(Data Integrity):接收方对发送方发送来的IPsec报文进行认证,以确保数据在传输过程中没有被篡改。
  3. · 数据来源认证(Data Origin Authentication):接收方认证发送IPsec报文的发送端是否合法。

· 抗重放(Anti-Replay):接收方可检测并拒绝接收过时或重复的IPsec报文。

2.1.3  IPsec的优点

IPsec可为IP层上的数据提供安全保护,其优点包括如下几个方面:

  1. · 支持IKE(Internet Key Exchange,互联网密钥交换),可实现密钥的自动协商功能,减少了密钥协商的开销。可以通过IKE建立和维护SA(Security Association,安全联盟),简化了IPsec的使用和管理。
  2. · 所有使用IP协议进行数据传输的应用系统和服务都可以使用IPsec,而不必对这些应用系统和服务本身做任何修改。
  3. · 对数据的加密是以数据包为单位的,而不是以整个数据流为单位,这不仅灵活而且有助于进一步提高IP数据包的安全性,可以有效防范网络攻击。

2.1.4  安全协议

IPsec包括AH和ESP两种安全协议,它们定义了对IP报文的封装格式以及可提供的安全服务。

  1. · AH协议(IP协议号为51)定义了AH头在IP报文中的封装格式,如图1-3所示。AH可提供数据来源认证、数据完整性校验和抗重放功能,它能保护报文免受篡改,但不能防止报文被窃听,适合用于传输非机密数据。AH使用的认证算法有HMAC-MD5和HMAC-SHA1等。AH协议不支持NAT穿越功能。
  2. · ESP协议(IP协议号为50)定义了ESP头和ESP尾在IP报文中的封装格式,如图1-3所示。ESP可提供数据加密、数据来源认证、数据完整性校验和抗重放功能。与AH不同的是,ESP将需要保护的用户数据进行加密后再封装到IP包中,以保证数据的机密性。ESP使用的加密算法有DES、3DES、AES等。同时,作为可选项,ESP还可以提供认证服务,使用的认证算法有HMAC-MD5和HMAC-SHA1等。虽然AH和ESP都可以提供认证服务,但是AH提供的认证服务要强于ESP。

在实际使用过程中,可以根据具体的安全需求同时使用这两种协议或仅使用其中的一种。设备支持的AH和ESP联合使用的方式为:先对报文进行ESP封装,再对报文进行AH封装。

2.1.5  封装模式

IPsec支持两种封装模式:传输模式和隧道模式。

1. 传输模式(Transport Mode)

该模式下的安全协议主要用于保护上层协议报文,仅传输层数据被用来计算安全协议头,生成的安全协议头以及加密的用户数据(仅针对ESP封装)被放置在原IP头后面。若要求端到端的安全保障,即数据包进行安全传输的起点和终点为数据包的实际起点和终点时,才能使用传输模式。如图1-1所示,通常传输模式用于保护两台主机之间的数据。

2. 隧道模式(Tunnel Mode)

该模式下的安全协议用于保护整个IP数据包,用户的整个IP数据包都被用来计算安全协议头,生成的安全协议头以及加密的用户数据(仅针对ESP封装)被封装在一个新的IP数据包中。这种模式下,封装后的IP数据包有内外两个IP头,其中的内部IP头为原有的IP头,外部IP头由提供安全服务的设备添加。在安全保护由设备提供的情况下,数据包进行安全传输的起点或终点不为数据包的实际起点和终点时(例如安全网关后的主机),则必须使用隧道模式。如图1-2所示,通常隧道模式用于保护两个安全网关之间的数据。

2.1.6  安全联盟

1. SA简介

SA(Security Association,安全联盟)是IPsec的基础,也是IPsec的本质。IPsec在两个端点之间提供安全通信,这类端点被称为IPsec对等体。SA是IPsec对等体间对某些要素的约定,例如,使用的安全协议(AH、ESP或两者结合使用)、协议报文的封装模式(传输模式或隧道模式)、认证算法(HMAC-MD5、HMAC-SHA1或SM3)、加密算法(DES、3DES、AES或SM)、特定流中保护数据的共享密钥以及密钥的生存时间等。

SA是单向的,在两个对等体之间的双向通信,最少需要两个SA来分别对两个方向的数据流进行安全保护。同时,如果两个对等体希望同时使用AH和ESP来进行安全通信,则每个对等体都会针对每一种协议来构建一个独立的SA。

SA由一个三元组来唯一标识,这个三元组包括SPI(Security Parameter Index,安全参数索引)、目的IP地址和安全协议号。其中,SPI是用于标识SA的一个32比特的数值,它在AH和ESP头中传输。

2. SA生成方式

SA有手工配置和IKE自动协商两种生成方式:

· 手工方式:通过命令行配置SA的所有信息。该方式的配置比较复杂,而且不支持一些高级特性(例如定时更新密钥),优点是可以不依赖IKE而单独实现IPsec功能。该方式主要用于需要安全通信的对等体数量较少,或小型静态的组网环境中。

· IKE自动协商方式:对等体之间通过IKE协议自动协商生成SA,并由IKE协议维护该SA。该方式的配置相对比较简单,扩展能力强。在中、大型的动态网络环境中,推荐使用IKE自动协商建立SA。

3. SA老化机制

手工方式建立的SA永不老化。通过IKE协商建立的SA具有生存时间,当生存时间到达时,旧的SA会被删除。

IKE协商建立的SA在生存时间到达前会提前协商一个新的SA来替换旧的SA。从SA建立到启动新SA协商的这段时间是软超时时间。缺省情况下,系统会基于SA的生存时间使用默认算法计算一个软超时时间。系统允许配置一个软超时缓冲来控制软超时时间,计算公式为:软超时时间=生存时间-软超时缓冲。

IKE协商建立的SA有两种形式的生存时间:

· 基于时间的生存时间,定义了一个SA从建立到删除的时间;

· 基于流量的生存时间,定义了一个SA允许处理的最大流量。

可同时存在基于时间和基于流量两种方式的SA生存时间,只要其中一种到达,就会删除旧的SA。

2.1.7  认证与加密

1. 认证算法

IPsec使用的认证算法主要是通过杂凑函数实现的。杂凑函数是一种能够接受任意长度的消息输入,并产生固定长度输出的算法,该算法的输出称为消息摘要。IPsec对等体双方都会计算一个摘要,接收方将发送方的摘要与本地的摘要进行比较,如果二者相同,则表示收到的IPsec报文是完整未经篡改的,以及发送方身份合法。目前,IPsec使用基于HMAC(Hash-based Message Authentication Code,基于散列的消息鉴别码)的认证算法和SM3认证算法。HMAC认证算法包括HMAC-MD5和HMAC-SHA。其中,HMAC-MD5算法的计算速度快,而HMAC-SHA算法的安全强度高。

2. 加密算法

IPsec使用的加密算法属于对称密钥系统,这类算法使用相同的密钥对数据进行加密和解密。目前设备的IPsec使用的加密算法包括:

· DES:使用56比特的密钥对一个64比特的明文块进行加密。

· 3DES:使用三个56比特(共168比特)的密钥对明文块进行加密。

· AES:使用128比特、192比特或256比特的密钥对明文块进行加密。

· SM:使用128比特的密钥对明文块进行加密。

这些加密算法的安全性由高到低依次是:AES/SM、3DES、DES,安全性高的加密算法实现机制复杂,运算速度慢。

3. 加密引擎

IPsec的认证和加/解密处理在设备上既可以通过软件实现,也可以通过硬件加密引擎实现。通过软件实现的IPsec,由于复杂的加密/解密、认证算法会占用大量的CPU资源,将会影响设备整体处理效率;通过硬件加密引擎实现的IPsec,由于复杂的算法处理由硬件完成,因此可以提高设备的处理效率。

若设备支持通过硬件加密引擎进行认证和加/解密处理,则设备会首先将需要处理的数据发送给硬件加密引擎,由硬件加密引擎对数据进行处理之后再发送回设备,最后由设备进行转发。

关于加密引擎的详细介绍请参见“安全配置指导”中的“加密引擎”。

将一台设备上的国密加密卡更换至另一台设备上部署时,国密加密卡上存储的硬件密钥对将失效。

2.1.8  IPsec隧道保护的对象

IPsec隧道可以保护匹配ACL(Access Control List,访问控制列表)的报文、隧道接口上的报文和IPv6路由协议报文。要实现建立IPsec隧道为两个IPsec对等体之间的数据提供安全保护,首先要配置和应用相应的安全策略,这里的安全策略包括IPsec安全策略和IPsec安全框架。有关IPsec安全策略和IPsec安全框架的详细介绍请参见“IPsec安全策略和IPsec安全框架”。

当IPsec对等体根据IPsec安全策略和IPsec安全框架识别出要保护的报文时,就建立一个相应的IPsec隧道并将其通过该隧道发送给对端。此处的IPsec隧道可以是提前手工配置或者由报文触发IKE协商建立。这些IPsec隧道实际上就是两个IPsec对等体之间建立的IPsec SA。由于IPsec SA是单向的,因此出方向的报文由出方向的SA保护,入方向的报文由入方向的SA来保护。对端接收到报文后,首先对报文进行分析、识别,然后根据预先设定的安全策略对报文进行不同的处理(丢弃,解封装,或直接转发)。

 

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

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

相关文章

Windows安全日志分析(事件ID详解)

目录 如何查看Windows安全日志 常见事件ID列表 事件ID 1116 - 防病毒软件检测到恶意软件 事件ID 4624 - 账户登录成功 事件ID 4625 - 账户登录失败 事件ID 4672 - 为新登录分配特殊权限 事件ID 4688 - 新进程创建 事件ID 4689 - 进程终止 事件ID 4720 - 用户账户创建 …

力扣206.反转链表

力扣《反转链表》系列文章目录 刷题次序,由易到难,一次刷通!!! 题目题解206. 反转链表反转链表的全部 题解192. 反转链表 II反转链表的指定段 题解224. 两两交换链表中的节点两个一组反转链表 题解325. K 个一组翻转…

【Go】Go语言切片(Slice)深度剖析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…

Geo.__init__() got an unexpected keyword argument ‘title_color‘

把pyecharts从0.5版升级以后,报错如下: lmportError: cannot import name Geo from pyecharts‘ 参考这个:python画图时,from pyecharts import Geo时出错_cannot import name geo from pyecharts-CSDN博客 改成: fr…

yolov5/8/9/10模型在VOC数据集上的应用【代码+数据集+python环境+GUI系统】

yolov5/8/9/10模型在VOC数据集上的应用【代码数据集python环境GUI系统】 1.背景意义 VOC数据集被广泛应用于计算机视觉领域的研究和实验中,特别是目标检测和图像识别任务。许多知名的目标检测算法都使用VOC数据集进行训练和测试。VOC挑战赛(VOC Challeng…

Chainlit集成LlamaIndex实现知识库高级检索(自动合并检索)

检索原理 自动合并检索 自动合并检索原理,和我的上一篇文章的检索方案: 将文本分割成512大小(一般对应段落大小)和128(一般对句子大小不是严格的句子长度)大小两种分别存储到索引库,再用llama_…

NoSql数据库Redis知识点

数据库的分类 关系型数据库 ,是建立在关系模型基础上的数据库,其借助于集合代数等数学概念和方法来处理数据库 中的数据主流的 MySQL 、 Oracle 、 MS SQL Server 和 DB2 都属于这类传统数据库。 NoSQL 数据库 ,全称为 Not Only SQL &a…

[uni-app]小兔鲜-01项目起步

项目介绍 效果演示 技术架构 创建项目 HBuilderX创建 下载HBuilderX编辑器 HBuilderX/创建项目: 选择模板/选择Vue版本/创建 安装插件: 工具/插件安装/uni-app(Vue3)编译器 vue代码不能直接运行在小程序环境, 编译插件帮助我们进行代码转换 绑定微信开发者工具: 指定微信开…

2024年最新前端工程师 TypeScript 基础知识点详细教程(更新中)

1. TypeScript 概述 TypeScript 是由微软开发的、基于 JavaScript 的一种强类型编程语言。它是在 JavaScript 的基础上添加了静态类型检查、面向对象编程等功能的超集,最终会被编译为纯 JavaScript 代码。由于其扩展了 JavaScript 的功能,TypeScript 特…

解锁亚马逊测评自养号防关联新技术

解锁亚马逊测评自养号防关联的新技术主要包括以下几个方面,这些技术旨在提高测评过程的安全性,降低账号被关联的风险: 1. 独立纯净IP技术 独立纯净IP:采用独立、纯净且未受污染的国外IP地址,确保这些IP未被标记或列入…

240922-MacOS终端访问硬盘

A. 最终效果 B. 操作步骤 在macOS中,可以通过命令行使用Terminal访问硬盘的不同位置。你可以按照以下步骤操作: 打开终端(Terminal): 在应用程序中打开终端,或者使用 Spotlight 搜索“Terminal”来启动。 …

初学者的鸿蒙多线程并发之 TaskPool 踩坑之旅

1. 背景 目标群体:鸿蒙初学者 版本:HarmonyOS 3.1/4.0 背景:鸿蒙 App 的全局路由管理功能,需要在 App 启动时初始化对 raw 下的相关配置文件进行读取、解析并缓存。App 启动时涉及到了大量模块的初始化,好多模块都涉…

巨潮股票爬虫逆向

目标网站 aHR0cDovL3dlYmFwaS5jbmluZm8uY29tLmNuLyMvSVBPTGlzdD9tYXJrZXQ9c3o 一、抓包分析 请求头参数加密 二、逆向分析 下xhr断点 参数生成位置 发现是AES加密,不过是混淆的,但并不影响咱们扣代码 文章仅提供技术交流学习,不可对目标服…

Vue3+Element Plus:使用el-dialog,对话框可拖动,且对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息

【需求】 使用Element Plus中的el-dialog默认是模态的(即它会阻止用户与对话框外部的元素进行交互),对话框弹出时仍然能够在背景页(对话框外部的页面部分)上进行滚动以及输入框输入信息,且对话框可拖动 【…

react hooks--React.memo

基本语法 React.memo 高阶组件的使用场景说明: React 组件更新机制:只要父组件状态更新,子组件就会无条件的一起更新。 子组件 props 变化时更新过程:组件代码执行 -> JSX Diff(配合虚拟 DOM)-> 渲…

STM32精确控制步进电机

目的:学习使用STM32电机驱动器步进电机,进行电机运动精确控制。 测试环境: MCU主控芯片STM32F103RCT6 ;A4988步进电机驱动器模块;微型2相4线步进电机10mm丝杆滑台,金属丝杆安装有滑块。 10mm二相四线微型…

NtripShare测量机器人自动化监测系统测站更换仪器后重新设站

NtripShare测量机器人自动化监测系统投入商业运营已经很久了,在MosBox与自动优化网平差技术的加持下,精度并不让人担心,最近基于客户需求处理了两个比较大的问题。 1、增加对反射片和免棱镜的支持。 2、进一步优化测站更换仪器或重新整平后重…

Qemu开发ARM篇-5、buildroot制作根文件系统并在qemu中进行挂载启动

文章目录 1、 buildroot源码获取2、buildroot配置3、buildroot编译4、挂载根文件系统 在上一篇 Qemu开发ARM篇-4、kernel交叉编译运行演示中,我们编译了kernel,并在qemu上进行了运行,但到最后,在挂载根文件系统时候,挂…

[数据集][目标检测]文本表格检测数据集VOC+YOLO格式6688张5类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):6688 标注数量(xml文件个数):6688 标注数量(txt文件个数):6688 标注…

Fyne ( go跨平台GUI )中文文档-绘图和动画(三)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章: Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…