网络安全 Day28-运维安全项目-加密隧道

运维安全项目-加密隧道

  • 1. 加密隧道服务概述
  • 2. openVPN应用场景
  • 3. 虚拟机环境准备
    • 3.0 准备知识
    • 3.1 添加网卡![请添加图片描述](https://img-blog.csdnimg.cn/f155ca2804d84118b89a69da3688911e.png)
    • 3.2 配置内网(LAN区段)
    • 3.3 虚拟机选择LAN区段
    • 3.4 书写eth1网卡配置文件
  • 4. OpenVPN服务端配置
    • 4.1 环境准备简介
    • 4.2 证书准备流程
      • 4.2.1 安装证书创建工具
      • 4.2.2 创建ca证书
        • 4.2.2.1 充当权威机构 修改vars文件
        • 4.2.2.2 充当权威机构 创建ca证书
      • 4.2.3 创建server端证书和私钥文件
      • 4.2.4 创建dh-pem 算法文件和目录汇总
      • 4.2.5 创建client证书
      • 4.2.6 汇总
      • 4.2.7 小结
    • 4.3 服务端配置文件
      • 4.3.1 书写openvpn服务端配置文件
      • 4.3.2 准备服务端需要的文件
      • 4.3.3 修改systemctl配置文件
      • 4.3.4 启动
      • 4.3.5 检查进程与端口
  • 5. 排障流程
  • 6. 客户端配置文件
    • 6.1 安装客户端
    • 6.2 书写配置文件
    • 6.3 准备配置文件需要的文件
    • 6.4 复制对应的文件到config目录下
    • 6.5 启动客户端![在这里插入图片描述](https://img-blog.csdnimg.cn/e255af3d977542758232fd528ca12f40.png#pic_center)

1. 加密隧道服务概述

  • 两点如何传输数据最安全
  • 方案1: 专线(成本高)
  • 方案2: 硬件设备3层路由器 , 硬件vpn设备 vpn virtual private network 虚拟专有网络 深信服VPN
  • 方案3: 开源软件
    • pptp (不推荐) 使用最简单,不是很稳定,依赖于网络设备的支持.
    • OpenVPN 实现用户/运维/开发,访问网站内网.

2. openVPN应用场景

  • 运营:通过OpenVPN实现网站安全登录:(后台管理地址,设置为只能能通过vpn访问.)
  • 开发:通过OpenVPN让开发与测试人员连接网站,进行开发测试(在家的时候)
  • 运维:通过OpenVPN让各种用户(运维)连接网站内网服务器,或者是连接JMS
    请添加图片描述

3. 虚拟机环境准备

3.0 准备知识

  • LAN区段
    • 没有外网IP,可以理解为一个LAN区段,作为一个虚拟的交换机连接内内网的设备让其进行通信
    • 在堡垒机中作为内网IP与此同时此虚拟机也有外网IP
    • 在配置好VPN之后,VPN客户端就会访问内网了

3.1 添加网卡请添加图片描述

3.2 配置内网(LAN区段)

在这里插入图片描述
在这里插入图片描述

3.3 虚拟机选择LAN区段

在这里插入图片描述

3.4 书写eth1网卡配置文件

  1. 编辑与创建新的网卡配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-eth1 
    
    TYPE=Ethernet
    BOOTPROTO=none
    IPADDR=172.16.1.61
    PREFIX=24
    NAME=eth1
    DEVICE=eth1
    ONBOOT=yes
    
  2. 然后重启network:systemctl restart network
  3. 检查ip:ip a(如果和配置文件中的IP一致就对了)

4. OpenVPN服务端配置

4.1 环境准备简介

  • m01 10.0.0.61
环境准备说明
oldboy-baoopenvpn server服务端
windows 笔记本openvpn 客户端

4.2 证书准备流程

1️⃣创建CA证书 ca.crt 公章
2️⃣server密钥 server.crt server.key服务端使用的毕业证书
3️⃣client密钥
4️⃣OpenVPN服务端配置文件

4.2.1 安装证书创建工具

  1. 检查是否可以访问网络:ping baidu.com 结果中只要有time表示可以链接
  2. openvpn 服务端安装:yum install -y openvpn easy-rsa
  3. 检查是否完成安装:rpm -qa openvpn

4.2.2 创建ca证书

4.2.2.1 充当权威机构 修改vars文件

  • 创建指令(学安全现阶段没必要弄懂)
    #准备目录
    mkdir -p   /opt/easy-rsa
    #已有的内容复制过去
    cp -a /usr/share/easy-rsa/3.0.8/*    /opt/easy-rsa/
    #准备配置文件
    cp  /usr/share/doc/easy-rsa-3.0.8/vars.example    /opt/easy-rsa/vars
    #书写配置内容
    cat  >/opt/easy-rsa/vars<<'EOF'
    if [ -z "$EASYRSA_CALLER" ]; then
    	echo "You appear to be sourcing an Easy-RSA 'vars' file." >&2
    	echo "This is no longer necessary and is disallowed. See the section called" >&2
    	echo "'How to use this file' near the top comments for more details." >&2
    	return 1
    fi
    
    set_var EASYRSA_DN "cn_only"
    set_var EASYRSA_REQ_COUNTRY "CN"
    set_var EASYRSA_REQ_PROVINCE "Beijing"
    set_var EASYRSA_REQ_CITY "Beijing"
    set_var EASYRSA_REQ_ORG "oldboylinux"
    set_var EASYRSA_REQ_EMAIL "oldboy@qq.com"
    set_var EASYRSA_NS_SUPPORT "yes"
    EOF
    
  • 检查指令
    ##创建var后 检查  权威机构信息  
    cd /opt/easy-rsa
    tree 
    .
    ├── easyrsa
    ├── openssl-easyrsa.cnf
    ├── vars           #var ca权威机构信息  
    └── x509-types
        ├── ca
        ├── client
        ├── code-signing
        ├── COMMON
        ├── email
        ├── kdc
        ├── server
        └── serverClient
    
    1 directory, 11 files
    

4.2.2.2 充当权威机构 创建ca证书

  1. 初始化,在当前目录创建PKI目录,用于存储证书
    1. 命令和结果
      cd /opt/easy-rsa
      ./easyrsa init-pki  #初始化,第1次的时候运行,后面不需要重复运行。
      
      结果
      Note: using Easy-RSA configuration from: /opt/easy-rsa/vars  #正在使用来自于vars 
      init-pki complete; you may now create a CA or requests.      #初始化完成  显示你可以尝试创建 CA证书
      Your newly created PKI dir is: /opt/easy-rsa/pki             #初始化后的目录在 pki下面 
      
    2. 检查是否成功:tree结果中多了个pki目录即可。
  2. 创建根证书,会提示设置密码,用于ca对之后生成的server和client证书签名时使用,其他可默认
    1. 命令和结果
       ./easyrsa build-ca
      
      结果
      Note: using Easy-RSA configuration from: /opt/easy-rsa/vars
      Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
      
      Enter New CA Key Passphrase:                       #输入密码 并保存好  4-1023位 
      Re-Enter New CA Key Passphrase:                    #输入密码 并保存好
      Generating RSA private key, 2048 bit long modulus
      .....................................+++
      ................................+++
      e is 65537 (0x10001)
      You are about to be asked to enter information that will be incorporated
      into your certificate request.
      What you are about to enter is what is called a Distinguished Name or a DN.
      There are quite a few fields but you can leave some blank
      For some fields there will be a default value,
      If you enter '.', the field will be left blank.
      -----
      Common Name (eg: your user, host, or server name) [Easy-RSA CA]:oldboylinux.cn   #域名即可
      
      CA creation complete and you may now import and sign cert requests.
      Your new CA certificate file for publishing is at:
      /opt/easy-rsa/pki/ca.crt
      
    2. 检查是否成功:检查是否有这个文件即可/opt/easy-rsa/pki/ca.crt

4.2.3 创建server端证书和私钥文件

  1. 请求盖章命令和结果
    ./easyrsa gen-req server nopass
    
    Note: using Easy-RSA configuration from: /opt/easy-rsa/vars
    Using SSL: openssl OpenSSL 1.0.2k-fips  26 Jan 2017
    Generating a 2048 bit RSA private key
    ....................................+++
    .................+++
    writing new private key to '/opt/easy-rsa/pki/easy-rsa-2426.tjsuP4/tmp.wLJyRY'
    -----
    You are about to be asked to enter information that will be incorporated
    into your certificate request.
    What you are about to enter is what is called a Distinguished Name or a DN.
    There are quite a few fields but you can leave some blank
    For some fields there will be a default value,
    If you enter '.', the field will be left blank.
    -----
    Common Name (eg: your user, host, or server name) [server]:
    
    Keypair and certificate request completed. Your files are:
    req: /opt/easy-rsa/pki/reqs/server.req                    #server.req 用于 创建证书(证书资料)
    key: /opt/easy-rsa/pki/private/server.key                 #server私钥文件
    
  2. 给server端证书签名,首先是对一些信息的确认,可以输入yes,然后创建ca根证书时设置的密码:./easyrsa sign server server
  3. 检查是否操作成功(有结果就成功了)
    ll /opt/easy-rsa/pki/issued/server.crt
    ll /opt/easy-rsa/pki/private/server.key
    

4.2.4 创建dh-pem 算法文件和目录汇总

  1. 创建Diffie-Hellman文件,秘钥交换时的Diffie-Hellman算法:/easyrsa gen-dh(用于存放在服务端,生成一次即可)
  2. 检查结果:/opt/easy-rsa/pki/dh.pem

4.2.5 创建client证书

  1. 创建client端证书和私钥文件
    1. 创建client端证书和私钥文件,nopass表示不加密私钥文件,其他可默认:./easyrsa gen-req client nopass
    2. 给client端证书签名,首先是对一些信息的确认,可以输入yes,然后创建ca根证书时设置的密码:./easyrsa sign client client
  2. 检查是否成功:ll /opt/easy-rsa/pki/private/client.key /opt/easy-rsa/pki/issued/client.crt

4.2.6 汇总

服务端使用的文件客户端使用的文件
/opt/easy-rsa/pki/ca.crt/opt/easy-rsa/pki/ca.crt
/opt/easy-rsa/pki/dh.pem
/opt/easy-rsa/pki/issued/server.crt/opt/easy-rsa/pki/issued/client.crt
/opt/easy-rsa/pki/private/server.key/opt/easy-rsa/pki/private/client.key
服务端配置文件客户端配置文件
  • 目录汇总
    [root@m01 /opt/easy-rsa]# tree 
    .
    ├── easyrsa
    ├── openssl-easyrsa.cnf
    ├── pki
    │   ├── ca.crt                        #ca证书 
    │   ├── dh.pem                        #df算法文件 
    │   ├── certs_by_serial
    │   │   ├── 9F69296953C7B7F6DC39C539706A4CA5.pem
    │   │   └── C98F71084F5C70CCBFEEA9FCB5E94912.pem
    │   ├── index.txt
    │   ├── index.txt.attr
    │   ├── index.txt.attr.old
    │   ├── index.txt.old
    │   ├── issued
    │   │   ├── client.crt     			  #client证书         
    │   │   └── server.crt                 #server证书
    │   ├── openssl-easyrsa.cnf
    │   ├── private
    │   │   ├── ca.key
    │   │   ├── client.key                 #客户端私钥 
    │   │   └── server.key                 #服务端私钥
    │   ├── renewed
    │   │   ├── certs_by_serial
    │   │   ├── private_by_serial
    │   │   └── reqs_by_serial
    │   ├── reqs
    │   │   ├── client.req
    │   │   └── server.req
    │   ├── revoked
    │   │   ├── certs_by_serial
    │   │   ├── private_by_serial
    │   │   └── reqs_by_serial
    │   ├── safessl-easyrsa.cnf
    │   ├── serial
    │   └── serial.old
    ├── vars
    └── x509-types
        ├── ca
        ├── client
        ├── code-signing
        ├── COMMON
        ├── email
        ├── kdc
        ├── server
        └── serverClient
    14 directories, 29 file
    

4.2.7 小结

  • 创建vars文件创建ca证书 build-ca
  • 创建server证书和私钥
    • gen-req server nopass
    • sign server server
  • dh.pem 文件
  • 创建client证书和私钥
    • gen-req client nopass
    • sign client client

4.3 服务端配置文件

#服务端配置文件
#配置文件中 各种路径默认相对于 /etc/openvpn

4.3.1 书写openvpn服务端配置文件

  • 查看配置文件

    [root@m01 ~] tree -F /etc/openvpn/
    /etc/openvpn/
    ├── client/
    └── server/
    
    2 directories, 0 files
    
  • 配置文件

    vim /etc/openvpn/server/server.conf
    
    port 1194                               
    proto udp                               
    dev tun                                 
    ca   ca.crt                               
    cert server/server.crt                         
    key server/server.key                          
    dh server/dh.pem                               
    server 10.8.0.0 255.255.255.0           
    push "route 172.16.1.0 255.255.255.0"   
    #ifconfig-pool-persist ipp.txt           
    keepalive 10 120                        
    max-clients 100                         
    status /var/log/openvpn-status.log               
    log /var/log/openvpn.log                
    verb 3                                  
    client-to-client                        
    persist-key     
    persist-tun     
    duplicate-cn  
    
  • 配置文件详解

    [root@web01 openvpn]# vim /etc/opnvpn/server/server.conf
    port 1194                               #端口
    proto udp                               #协议
    dev tun                                 #采用路由隧道模式tun 
    ca ca.crt                               #ca证书文件位置   /etc/openvpn/ca.crt  
                                              
    cert server/server.crt                  #服务端公钥名称 /etc/openvpn 
    key server/server.key                   #服务端私钥名称 /etc/openvpn 
    dh server/dh.pem                        #加密算法文件, 交换证书 校验算法 
    #/etc/openvpn/server/dh.pem
    
    
    server 10.8.0.0 255.255.255.0           #给客户端分配地址池(ip地址范围),注意:不能和VPN服务器内网网段有相同
    push "route 172.16.1.0 255.255.255.0"   #客户端连接后,推送给客户端的路由规则
                                            #客户端想访问 172.16.1.0/24 网段联系openvpn服务端 
    
    #ifconfig-pool-persist ipp.txt           #地址池记录文件位置 未来让openvpn 客户端固定ip地址使用的.
    keepalive 10 120                        #存活时间,10秒ping一次,120 如未收到响应则视为断线
    max-clients 100                         #最多允许100个客户端连接
    status /var/log/openvpn-status.log      #日志记录位置  openvpn状态 
    log /var/log/openvpn.log                #openvpn日志记录位置
    verb 3                                  #verbose  日志输出级别   数字越大越详细 最多11(debug)
    client-to-client                        #客户端与客户端之间支持通信
    persist-key     #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys  对私钥进行缓存.
    persist-tun     #检测超时后,重新启动VPN,一直保持tun是linkup的。否则网络会先linkdown然后再linkup
    duplicate-cn    #客户端密钥(证书和私钥)是否可以重复
    

4.3.2 准备服务端需要的文件

  • 复制证书及密钥
    cd /opt/easy-rsa/pki/
    \cp  ca.crt /etc/openvpn/
    \cp dh.pem   /etc/openvpn/server/
    \cp   issued/server.crt   private/server.key    /etc/openvpn/server/
    
  • 检查是否操作成功
    [root@oldboy-bao pki]# tree -F /etc/openvpn/
    /etc/openvpn/
    ├── ca.crt
    ├── client/
    └── server/
        ├── dh.pem
        ├── server.conf
        ├── server.crt
        └── server.key
    
    2 directories, 5 files
    

4.3.3 修改systemctl配置文件

  • 修改openvpn的systemctl配置文件
    vim   /usr/lib/systemd/system/openvpn@.service
    
    修改ExecStart这行  
    在%i前面加上 %i/即可。
    修改后的样子
    ExecStart=/usr/sbin/openvpn --cd /etc/openvpn/ --config %i/%i.conf
    
    %i表示 server或 client 
    
  • 让linux系统重新加载systemctl配置文件:systemctl daemon-reload

4.3.4 启动

systemctl enable openvpn@server
systemctl start openvpn@server 

4.3.5 检查进程与端口

检查端口
ss -lntup |grep  1194

检查进程
 ps -ef |grep openvpn 

检查ip
ip  a  s  tun0

5. 排障流程

  • 检查配置文件书写与相关的文件是否存在。
  • 查看日志/var/log/openvpn.log.
  • 如果不存在查看/var/log/messages

6. 客户端配置文件

6.1 安装客户端

  • 默认安装到C:\Program Files\OpenVPN\

6.2 书写配置文件

存到临时目录
client.ovpn
client                  
dev tun                 
proto udp               
remote 10.0.0.61 1194   
resolv-retry infinite   
nobind                  
ca   ca.crt             
cert client.crt         
key client.key          
verb 3                  
persist-key             


########配置说明###################################
client                  #指定当前VPN是客户端
dev tun                 #使用tun隧道传输协议
proto udp               #使用udp协议传输数据
remote 10.0.0.61 1194   #openvpn服务器IP地址端口号
resolv-retry infinite   #断线自动重新连接,在网络不稳定的情况下非常有用
nobind                  #不绑定本地特定的端口号
ca ca.crt               #指定CA证书的文件路径
cert client.crt         #指定当前客户端的证书文件路径
key client.key          #指定当前客户端的私钥文件路径
verb 3                  #指定日志文件的记录详细级别,可选0-9,等级越高日志内容越详细
persist-key             #通过keepalive检测超时后,重新启动VPN,不重新读取keys,保留第一次使用的keys

6.3 准备配置文件需要的文件

sz /opt/easy-rsa/pki/ca.crt 
sz /opt/easy-rsa/pki/issued/client.crt 
sz /opt/easy-rsa/pki/private/client.key 

上传到windows桌面,避免直接上传到c盘openvpn目录。

请添加图片描述

6.4 复制对应的文件到config目录下

  • C:\Program Files\OpenVPN
    请添加图片描述
    请添加图片描述

6.5 启动客户端在这里插入图片描述

在这里插入图片描述

  • 屏幕输出,过一会会消失
    在这里插入图片描述

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

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

相关文章

Mysql 和Oracle的区别

、mysql与oracle都是关系型数据库&#xff0c;Oracle是大型数据库&#xff0c;而MySQL是中小型数据库。但是MySQL是开源的&#xff0c;但是Oracle是收费的&#xff0c;而且比较贵。 1 2 mysql默认端口&#xff1a;3306&#xff0c;默认用户&#xff1a;root oracle默认端口&…

Vue.js2+Cesium1.103.0 九、淹没分析效果

Vue.js2Cesium1.103.0 九、淹没分析效果 Demo <template><divid"cesium-container"style"width: 100%; height: 100%;"><spanid"button"style"position: absolute; right: 50px; top: 50px; z-index: 999; font-size: 24px…

使用gewe框架进行微信群组管理(一)

友情链接&#xff1a;geweapi.com 点击访问即可。 管理员操作 小提示&#xff1a; 添加、删除、转让多个wxid时仅限于添加/删除管理员&#xff0c;1添加 2删除 3转让 请求URL&#xff1a; http://域名地址/api/group/admin 请求方式&#xff1a; POST 请求头&#xff1a…

c#设计模式-行为型模式 之 观察者模式

定义&#xff1a; 又被称为发布-订阅&#xff08;Publish/Subscribe&#xff09;模式&#xff0c;它定义了一种一对多的依赖关系&#xff0c;让多个观察者 对象同时监听某一个主题对象。这个主题对象在状态变化时&#xff0c;会通知所有的观察者对象&#xff0c;使他们能够自 …

使用Git进行项目版本控制

文章目录 1、什么是Git&#xff1f;2、安装Git3、Git汉化3.1 Git Bash汉化3.2 Git GUI汉化(了解) 4、快速上手Git基本命令5、Git是怎么运作的&#xff1f;6、工作区、暂存区、本地仓库、远程仓库的区别6.1 工作区6.2 暂存区6.3 本地仓库6.4 远程仓库6.4 总结 7、 Git具体工作流…

[QT编程系列-41]:Qt QML与Qt widget 深入比较,快速了解它们的区别和应用场合

目录 1. Qt QML与Qt widget之争 1.1 出现顺序 1.2 性能比较 1.3 应用应用领域 1.4 发展趋势 1.5 QT Creator兼容上述两种设计风格 2. 界面描述方式的差别 3. QML和Widgets之间的一些比较 4. 选择QML和Widgets之间的Qt技术时&#xff0c;可以考虑以下几个因素&#xff…

纯前端 -- html转pdf插件总结

一、html2canvasjsPDF&#xff08;文字会被截断&#xff09;&#xff1a; 将HTML元素呈现给添加到PDF中的画布对象&#xff0c;不能仅使用jsPDF&#xff0c;需要html2canvas或rasterizeHTML html2canvasjsPDF的具体使用链接 二、html2pdf&#xff08;内容显示不全文字会被截断…

Linux:Shell编程之正则表达式

目录 绪论 1、正则表达式 1.1 通配符 1.2 正则表达式分类 1.3 基本正则 1.4 正则表达式中表示次数的表达式 1.5 位置锚定 1.5.1 词首锚定和词尾锚定 1.6 分组&#xff08;&#xff09; 1.7 逻辑或 1.8 扩展正则 绪论 正则表达式&#xff1a;有一类特殊字符以及文本…

Apache Paimon 流式数据湖 V 0.4 与后续展望

摘要&#xff1a;本文整理自阿里云开源大数据表存储团队负责人、阿里巴巴高级技术专家&#xff0c;Apache Flink PMC&#xff0c;Paimon PPMC 李劲松&#xff08;之信&#xff09;在 Apache Paimon Meetup 的分享。本篇内容主要分为四个部分&#xff1a; 湖存储上的难点深入 Ap…

STM32 LL库+STM32CubeMX--LED呼吸灯

一、前期准备 硬件&#xff1a;STM32F103C8T6开发板调试工具&#xff1a;DAPLink(本次使用)或USB-TTL开发环境&#xff1a;STM32CubeMX、Keil、Vscode(可选)LED&#xff1a;使用PA0(TIM2_CH1)输出PWM&#xff0c;LED的阴极接GND 二、使用定时器中断产生PWM STM32F103C8T6在72…

图像的平移变换之c++实现(qt + 不调包)

1.基本原理 设dx为水平偏移量&#xff0c;dy为垂直偏移量&#xff0c;则平移变换的坐标映射关系为下公式&#xff0c;图像平移一般有两种方式。 1.不改变图像大小的平移&#xff08;一旦平移&#xff0c;相应内容被截掉&#xff09; 1&#xff09;当dx > width、dx < -wi…

《华为认证》L2TP VPN配置

配置接口ip地址&#xff0c;并且将防火墙的接口加入对应的安全区域 。 LNS的G1/0/0 IP为202.1.1.1 1、配置LNS的缺省路由&#xff1a; ip route-static 0.0.0.0 0.0.0.0 202.1.1.2 2、通过WEB 界面配置防火墙的 L2TP VPN 浏览器输入&#xff1a; https://202.1.1.1:8443/def…

【脚踢数据结构】深入理解栈

(꒪ꇴ꒪ )&#xff0c;Hello我是祐言QAQ我的博客主页&#xff1a;C/C语言,Linux基础,ARM开发板&#xff0c;软件配置等领域博主&#x1f30d;快上&#x1f698;&#xff0c;一起学习&#xff0c;让我们成为一个强大的攻城狮&#xff01;送给自己和读者的一句鸡汤&#x1f914;&…

群晖7.X版安装cpolar内网穿透

群晖7.X版安装cpolar内网穿透套件 文章目录 群晖7.X版安装cpolar内网穿透套件前言1. 下载cpolar的群晖系统套件1.1 在“套件中心” 选择“手动安装”1.2 完成套件安装 2. 进入cpolar软件信息页3. 点击“免费注册”轻松获得cpolar账号 前言 随着群晖系统的更新换代&#xff0c;…

taro Swiper组件--异形滚动

效果 <SwiperindicatorDots{false}previousMargin50pxnextMargin50pxautoplay{false}interval100onChange{onChangeSwiper} >{[1,2,3].map((item, index) > {return (<SwiperItemkey{item-${index}}><View className{demo-item ${currentIndex index ? ac…

功能上新|全新GPU性能优化方案

GPU优化迎来了全新的里程碑&#xff01;我们深知移动游戏对高品质画面的追求日益升温&#xff0c;因此UWA一直着眼于移动设备GPU性能优化&#xff0c;以确保您的游戏体验尽善尽美。然而&#xff0c;不同GPU芯片之间的性能差异及可能导致的GPU瓶颈问题&#xff0c;让优化工作变得…

sentinel---滑动窗口的实现原理

sentinel有多种规则&#xff0c;包括&#xff1a;降级、限流、热点等等规则&#xff0c;这些规则均会涉及到时间因素&#xff0c;既在单位时间内的请求量满足各种条件之后的各种动作。 这里我们一起来探针一下sentinel中滑动窗口的实现 如上是一个滑动窗口的示意图。 这里先不…

内生安全构建数据存储

一、数据安全成为防护核心&#xff0c;存储安全防护不容有失 1、数据作为企业的核心资产亟需重点保护&#xff0c;数据安全已成网络空间防护核心 2、国家高度重视关键信息基础设施的数据安全&#xff0c;存储安全已成为审核重点 二、存储安全是数据安全的关键一环&#xff0c;应…

腾讯云CVM服务器竞价实例是什么?和按量计费有什么区别?

腾讯云服务器CVM计费模式分为包年包月、按量计费和竞价实例&#xff0c;什么是竞价实例&#xff1f;竞价实例和按量付费相类似&#xff0c;优势是价格更划算&#xff0c;缺点是云服务器实例有被自动释放风险&#xff0c;腾讯云服务器网来详细说下什么是竞价实例&#xff1f;以及…

Electron + Vue3 + Vite + TS 构建桌面应用

之前是使用React、Electron、TS和webpack来构建桌面应用的。虽然功能齐全,但是打包等等开发的体验不太理想,总感觉太慢了。作为一个开发者,我们总是希望,执行构建命令后,可以快速打包或者启动本地应用,且通过更少的配置,来完成开发体验。 现在的vite已经得到广泛的应用…