IPSec VPN与NQA联动实现主备对等体和主备链路快速切换案例

知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系!

厦门微思网络​​​​​​https://www.xmws.cn
华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom
Linux\RHCE\RHCE 9.0\RHCA\
Oracle OCP\CKA\K8S\
CISP\CISSP\PMP\

如图1所示,IPSec VPN利用Internet构建VPN的方式,允许用户以任意方式接入VPN,并且不受地理因素的限制,无论用户在哪里,只需要从当地接入Internet即可。IPSec VPN不仅适用于移动办公用户、商业伙伴接入,而且适用于企业总部和分支机构之间互连互通。

站点之间的数据流通过IPSec隧道进行安全保护传送,虽然是在公网上传输,但都得到加密保护。

图1 IPSec VPN基本组网图

如图2所示,为了保证总部设备的可靠性,总部使用两台或两台以上的设备进行VRRP组网,总部与分支建立IPSec隧道。分支网关需在一个对等体下配置2个地址或域名与总部网关建立IPSec。分支网关首先采用第一个地址或域名与总部网关建立IPSec,若第一个IPSec建立失败或对等体存活检测结果为失败,采用第二个地址或域名建立IPSec。但是,这个切换过程耗时较长,且当故障恢复后,流量也无法回切到原对等体。

此时,可以通过部署IPSec与NQA联动,根据探测结果确定对等体地址是否失效,如果失效,则触发流量快速向另一个地址的对等体切换,进而实现对等体的快速切换,确保一个总部网关故障时流量能及时切换到另一个总部网关。另外,也可配置对等体回切功能,使原总部网关故障恢复后流量能够回切回来。

同时,为了提高分支链路的可靠性,分支网关使用两个接口接入Internet进行主备链路组网。分支网关首先使用主链路与总部网关建立IPSec,若主链路故障,采用备份链路与总部网关建立IPSec。由于这个切换过程也耗时较长,且故障恢复后,流量也无法回切到主链路。因此,也可以通过部署IPSec与NQA联动,根据探测结果确主链路否失效,如果失效,则触发流量快速向备份链路切换。而且,主链路故障恢复后流量能够回切回来。

图2 IPSec与NQA联动实现主备快速切换组网图

配置注意事项
  1. 保证同一备份组的设备上配置相同的备份组号。
  2. 分支和总部的认证算法和加密算法需一致。
  3. 分支的ACL需要与总部ACL互为镜像,当对等体间ACL规则非互为镜像时,只有发起方的ACL规则定义的范围是响应方的子集时,SA才能成功建立。
  4. 当IPSec与NAT配置在同一台设备时,要确认经过IPSec封装的数据流是否还需要进行NAT转换。
    • 如果需要进行NAT转换,则Security ACL要匹配NAT后的地址。
    • 如果不需要进行NAT转换,则Security ACL要匹配NAT前的地址,且NAT的ACL中要将经过IPSec隧道的数据流的动作配置为Deny
  1. 配置IPSec时需保证公网路由可达,这里不详细介绍。
组网需求

如图3所示,HQ1和HQ2都为总部网关,AR1为分支网关。DNS服务器为解析域名的服务器,DDNS服务器为更新域名对应IP地址的服务器。

为了提高企业总部网关的可靠性,企业总部HQ1和HQ2进行VRRP组网,其中HQ1为Master。同时,为了提高分支链路的可靠性和业务的安全性,分支AR1接入两条链路与总部建立IPSec VPN,其中3G拨号链路为备份链路。现企业要求如下:

  • 企业希望当总部主链路(HQ1到AR1之间的链路)故障时,VRRP备份组可以感知并进行主备切换,启用HQ2承担业务转发,以减小链路故障对业务转发的影响。
  • 企业希望HQ1故障时,AR1能快速切换与HQ2协商建立IPSec隧道,以减少流量的丢失,同时HQ1故障恢复后流量能够回切回来。
  • 企业希望AR1主链路故障时,IPSec隧道能快速切换到备份链路,以减少业务流量的丢失,同时当主链路恢复后流量能快速回切回来。

图3 IPSec与NQA联动实现主备快速切换组网图

配置思路

为了满足企业上述需求,采用如下思路进行配置:

  1. 为了实现网关的主备备份,需在HQ1和HQ2上配置VRRP备份组。其中HQ1的优先级为120,抢占延时为20秒,作为Master设备;HQ2的优先级为90,作为Backup设备。
  2. 为了保证VRRP备份组及时切换,减少业务丢失,可以配置VRRP与NQA联动功能,实时监测总部主链路的连通状况。当NQA探测失败时,数据流量及时从HQ1切换到HQ2进行转发。
  3. 为了实现分支和总部的业务安全互通,需在HQ1、HQ2和AR1上配置IPSec。
  4. 为了实现分支与总部主备对等体快速切换,减少业务丢失,需在AR1配置IPSec与NQA联动功能,实时监测对等体地址是否失效,确保一个总部网关故障时流量能及时切换到另一个总部网关。另外,也可配置对等体回切功能,使原总部网关故障恢复后流量能够回切回来。
  5. 为了分支主备链路快速切换,减少业务丢失,需在AR1上配置IPSec与NQA联动功能,实时监测IPSec隧道联通状况,确保分支主链路故障时,流量能快速切换到备份链路。当主链路故障恢复后流量能够回切回来。
数据规划

配置文件
  • 配置HQ1

sysname HQ1

#

dns resolve //使能DNS域名解析功能来解析总部网关地址

dns server 5.1.1.2 //配置DNS服务器的IP地址

#

ddns policy ddnspolicy1 //配置DDNS策略来更新域名对应IP地址

url oray://username1:password1@phddnsdev.oray.net //配置DDNS服务器的URL

#

ipsec proposal def //配置IPSec提议

esp authentication-algorithm sha2-256

esp encryption-algorithm aes-192

#

ike proposal 1 //配置IPSec IKE提议

encryption-algorithm aes-cbc-128 //V200R008及之后的版本,aes-cbc-128参数修改为aes-128

authentication-algorithm sha2-256

#

ike peer branch v2 //配置IKE对等体及其使用的协议时,不同的软件版本间的配置有差异:V200R008之前的版本命令为ike peer peer-name [ v1 | v2 ]。V200R008及之后的版本命令为ike peer peer-name和version { 1 | 2 },如果对等体IKEv1和IKEv2版本同时启用,设备发起协商时会使用IKEv2协议,响应协商时则同时支持IKEv1协议和IKEv2协议。自V200R008版本到V200R021版本,缺省情况下,对等体IKEv1和IKEv2同时启用。如果设备需要使用IKEv1协议,则可以执行命令undo version 2;V200R021及之后版本,缺省情况下,启用对等体IKEv2版本。如果设备需要使用IKEv1协议,需要先执行命令version 1,再执行命令undo version 2。

pre-shared-key cipher %^%#JvZxR2g8c;a9~FPN~n'$7`DEV&=G(=Et02P/%\*!%^%# //配置预共享密钥认证字为“YsHsjx_202206”,以密文显示,该命令在V2R3C00以前的版本中为“pre-shared-key YsHsjx_202206”,以明文显示

ike-proposal 1

nat traversal //使能NAT穿越功能。V200R008版本,设备默认使能NAT穿越功能,不支持配置此命令;但V200R008之后版本,支持配置此命令

dpd type periodic //指定检测模式为周期性地进行检测

dpd retransmit-interval 10 //设置DPD报文重传间隔为10秒

#

ipsec policy-template use1 10 //配置IPSec策略模板

ike-peer branch

proposal def

#

ipsec policy branch 1 isakmp template use1 //指定安全策略中引用策略模板

#

interface Dialer0 //配置拨号口相关参数

link-protocol ppp

ppp pap local-user user@huawei.com password cipher %@%@ZX}=YK.{rUa.K#7W\==O)+[c%@%@

ip address ppp-negotiate

dialer user huawei

dialer bundle 1 //指定共享DCC的Dialer接口使用的Dialer bundle

dialer-group 1 //将接口置于一个拨号访问组中

ddns policy ddnspolicy1 //拨号口上应用DDNS策略,使其接口IP地址发生变化时,能向DDNS服务器发送动态更新

ipsec policy branch //绑定IPSec策略

#

interface GigabitEthernet1/0/0

pppoe-client dial-bundle-number 1 //绑定拨号口,建立PPPoE会话

#

interface GigabitEthernet2/0/0

ip address 10.1.0.1 255.255.255.0

vrrp vrid 1 virtual-ip 10.1.0.10 //配置VRRP组1的虚地址10.1.0.10

vrrp vrid 1 priority 120 //配置路由器在备份组中的优先级

vrrp vrid 1 preempt-mode timer delay 20 //配置备份组中路由器的抢占延迟时间

vrrp vrid 1 track nqa user test reduced 40 //配置VRRP与NQA联动功能来快速检测总部主链路的连通性

#

dialer-rule //配置拨号访问组,指定允许所有的IPv4报文通过

dialer-rule 1 ip permit

#

ip route-static 0.0.0.0 0.0.0.0 Dialer0 //配置静态路由

#

nqa test-instance user test //NQA测试例

test-type icmp //配置NQA测试例的测试类型为ICMP

destination-address ipv4 5.1.1.2

frequency 20 //配置NQA测试例自动执行测试的时间间隔

probe-count 5 //配置一次测试的探针数

source-interface Dialer0 //配置发送测试报文的源接口

start now //立即启动执行当前测试例

  • 配置HQ2

sysname HQ2

#

dns resolve //使能DNS域名解析功能来解析总部网关地址

dns server 5.1.1.2 //配置DNS服务器的IP地址

#

ddns policy ddnspolicy1 //配置DDNS策略来更新域名对应IP地址

url oray://username1:password1@phddnsdev.oray.net //配置DDNS服务器的URL

#

ipsec proposal def //配置IPSec提议

esp authentication-algorithm sha2-256

esp encryption-algorithm aes-192

#

ike proposal 1 //配置IPSec IKE提议

encryption-algorithm aes-cbc-128

authentication-algorithm sha2-256

#

ike peer branch v2 //配置IKE对等体及其使用的协议时,不同的软件版本间的配置有差异:V200R008之前的版本命令为ike peer peer-name [ v1 | v2 ]。V200R008及之后的版本命令为ike peer peer-name和version { 1 | 2 },如果对等体IKEv1和IKEv2版本同时启用,设备发起协商时会使用IKEv2协议,响应协商时则同时支持IKEv1协议和IKEv2协议。自V200R008版本到V200R021版本,缺省情况下,对等体IKEv1和IKEv2同时启用。如果设备需要使用IKEv1协议,则可以执行命令undo version 2;V200R021及之后版本,缺省情况下,启用对等体IKEv2版本。如果设备需要使用IKEv1协议,需要先执行命令version 1,再执行命令undo version 2。

pre-shared-key cipher %^%#JvZxR2g8c;a9~FPN~n'$7`DEV&=G(=Et02P/%\*!%^%# //配置预共享密钥认证字为“YsHsjx_202206”,以密文显示,该命令在V2R3C00以前的版本中为“pre-shared-key YsHsjx_202206”,以明文显示

ike-proposal 1

nat traversal //使能NAT穿越功能。V200R008版本,设备默认使能NAT穿越功能,不支持配置此命令;但V200R008之后版本,支持配置此命令

dpd type periodic //指定检测模式为周期性地进行检测

dpd retransmit-interval 10 //设置DPD报文重传间隔为10秒

#

ipsec policy-template use1 10 //配置IPSec策略模板

ike-peer branch

proposal def

#

ipsec policy branch 1 isakmp template use1 //指定安全策略中引用策略模板

#

interface Dialer0 //配置拨号口相关参数

link-protocol ppp

ppp pap local-user user@huawei.com password cipher %@%@ZX}=YK.{rUa.K#7W\==O)+[c%@%@

ip address ppp-negotiate

dialer user huawei

dialer bundle 1 //指定共享DCC的Dialer接口使用的Dialer bundle

dialer-group 1 //将接口置于一个拨号访问组中

ddns policy ddnspolicy1 //拨号口上应用DDNS策略,使其接口IP地址发生变化时,能向DDNS服务器发送动态更新

ipsec policy branch //绑定IPSec策略

#

interface GigabitEthernet1/0/0

pppoe-client dial-bundle-number 1 //绑定拨号口,建立PPPoE会话

#

interface GigabitEthernet2/0/0

ip address 10.1.0.2 255.255.255.0

vrrp vrid 1 virtual-ip 10.1.0.10 //配置VRRP组1的虚地址10.1.0.10

vrrp vrid 1 priority 90 //配置VRRP组1的优先级为90,使HQ2成为Backup

vrrp vrid 1 track nqa user test reduced 40 //配置VRRP与NQA联动功能来检测总部备链路的连通性

#

dialer-rule //配置拨号访问组,指定允许所有的IPv4报文通过

dialer-rule 1 ip permit

#

ip route-static 0.0.0.0 0.0.0.0 Dialer0 //配置静态路由

#

nqa test-instance user test //NQA测试例

test-type icmp //配置NQA测试例的测试类型为ICMP

destination-address ipv4 5.1.1.2

frequency 20 //配置NQA测试例自动执行测试的时间间隔

probe-count 5 //配置一次测试的探针数

source-interface Dialer0 //配置发送测试报文的源接口

start now //立即启动执行当前测试例

  • 配置AR1

sysname AR1

#

dns resolve //使能DNS域名解析功能来解析总部网关地址

dns server 5.1.1.2 //配置DNS服务器的IP地址

#

acl number 3000 //配置ACL

rule 0 permit ip source 10.1.1.0 0.0.0.255 destination 10.1.0.0 0.0.0.255

#

ipsec proposal def //配置IPSec提议

esp authentication-algorithm sha2-256

esp encryption-algorithm aes-192

#

ike proposal 1 //配置IPSec IKE提议

encryption-algorithm aes-cbc-128

authentication-algorithm sha2-256

#

ike peer center v2 //配置IKE对等体及其使用的协议时,不同的软件版本间的配置有差异:V200R008之前的版本命令为ike peer peer-name [ v1 | v2 ]。V200R008及之后的版本命令为ike peer peer-name和version { 1 | 2 },如果对等体IKEv1和IKEv2版本同时启用,设备发起协商时会使用IKEv2协议,响应协商时则同时支持IKEv1协议和IKEv2协议。自V200R008版本到V200R021版本,缺省情况下,对等体IKEv1和IKEv2同时启用。如果设备需要使用IKEv1协议,则可以执行命令undo version 2;V200R021及之后版本,缺省情况下,启用对等体IKEv2版本。如果设备需要使用IKEv1协议,需要先执行命令version 1,再执行命令undo version 2。

pre-shared-key cipher %^%#IRFGEiFPJ1$&a'Qy,L*XQL_+*Grq-=yMb}ULZdS6%^%# //配置预共享密钥认证字为“YsHsjx_202206”,以密文显示,该命令在V2R3C00以前的版本中为“pre-shared-key YsHsjx_202206”,以明文显示

ike-proposal 1

nat traversal //使能NAT穿越功能。V200R008版本,设备默认使能NAT穿越功能,不支持配置此命令;但V200R008之后版本,支持配置此命令

dpd type periodic //指定检测模式为周期性地进行检测

dpd retransmit-interval 10 //设置DPD报文重传间隔为10秒

remote-address store1.huawei.com track nqa user test1 up //指定当NQA测试例状态为Up时,可使用本域名作为对端的地址进行协商

remote-address store2.huawei.com track nqa user test1 down //指定当NQA测试例状态为Down时,可使用本域名作为对端的地址进行协商

switch-back enable

#

ipsec policy center1 1 isakmp //配置IPSec策略

security acl 3000

ike-peer center

proposal def

connect track nqa user test up //指定当NQA测试例的状态为Up时,使用此安全策略建立IPSec隧道

disconnect track nqa user test down //指定当NQA测试例的状态为Down时,拆除使用该安全策略建立的IPSec隧道

#

ipsec policy center2 1 isakmp //配置IPSec策略

security acl 3000

ike-peer center

proposal def

connect track nqa user test down //指定当NQA测试例的状态为Down时,使用此安全策略建立IPSec隧道

disconnect track nqa user test up //指定当NQA测试例的状态为Up时,拆除使用该安全策略建立的IPSec隧道

#

interface GigabitEthernet1/0/0

ip address 10.2.1.2 255.255.255.0

ipsec policy center1 //绑定IPSec策略

#

interface GigabitEthernet2/0/0

ip address 10.1.1.1 255.255.255.0

#

interface Cellular0/0/0

dialer enable-circular

dialer-group 1

dialer timer idle 180

dialer timer autodial 10

dialer number *99#

ipsec policy center2

ip address negotiate

#

ip route-static 0.0.0.0 0.0.0.0 Cellular0/0/0 preference 200 //配置静态路由使其为备份路由

ip route-static 0.0.0.0 0.0.0.0 10.2.1.1 track nqa user test //配置静态路由使其为主路由,并配置NQA检测

ip route-static 5.1.1.2 255.255.255.0 10.2.1.1 //配置静态路由使得与5.1.1.2地址互通

#

dialer-rule //配置拨号访问组,指定允许所有的IPv4报文通过

dialer-rule 1 ip permit

#

nqa test-instance user test //NQA测试例

test-type icmp //配置NQA测试例的测试类型为ICMP

destination-address ipv4 5.1.1.2 //指定公网稳定的IP地址用于检测连通性

frequency 20 //配置NQA测试例自动执行测试的时间间隔

probe-count 5 //配置一次测试的探针数

source-interface GigabitEthernet1/0/0 //配置发送测试报文的源接口

nqa test-instance user test1

test-type icmp

destination-address ipv4 3.1.1.1 // 指定HQ1公网地址

frequency 20

probe-count 5

#

return

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

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

相关文章

java设计模式:策略模式

在平常的开发工作中,经常会用到不同的设计模式,合理的使用设计模式,可以提高开发效率,提高代码质量,提高代码的可拓展性和维护性。今天来聊聊策略模式。 策略模式是一种行为型设计模式,运行时可以根据需求动…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目,需要在 conf.d 目录中增加一个 .conf 配置文件: server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录(需要修改 n…

redis布隆过滤器(Bloom)详细使用教程

文章目录 布隆过滤器1. 原理2. 结构和操作3. 特点和应用场景4. 缺点和注意事项 应用-redis插件布隆过滤器使用详细过程安装以及配置springboot项目使用redis布隆过滤器下面是布隆过滤器的一些基础命令 扩展 布隆过滤器 Bloom 过滤器是一种概率型数据结构,用于快速判…

AcWing算法学习笔记:贪心(区间问题 + Huffman树 + 排序不等式 + 绝对值不等式 + 推公式)

贪心 一、区间问题①区间选点②最大不相交区间数量③区间分组④区间覆盖 二、Huffman树(合并果子)三、排序不等式(排队打水)四、绝对值不等式(货仓选址)五、推公式(耍杂技的牛) 一、…

常见API

文章目录 Math类1.1 概述1.2 常见方法 System类2.1 概述2.2 常见方法 Runtime3.1 概述3.2 常见方法 Object类4.1 概述4.2 常见方法 Objects类5.1 概述5.2 常见方法 BigInteger类6.1 引入6.2 概述6.3 常见方法6.4 底层存储方式: 7 BigDecimal类7.1 引入7.2 概述7.3 常…

leetcode 1.两数之和(C++)DAY1(待补充哈希表法)

文章目录 1.题目描述示例提示 2.解答思路3.实现代码结果4.总结 1.题目描述 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是&…

猫用空气净化器真的能除菌吗?除毛可以用宠物空气净化器吗?

猫咪给我们带来了无尽的欢乐,但它们换毛时家里到处都是猫毛。我们会在地板、沙发上发现一大堆,甚至衣服也难逃其影响。这些浮毛中可能携带着微生物和尘螨等。对于免疫力较低的老年人、孩子和孕妇来说,他们更容易感染这些微生物。而对于鼻炎患…

openlayers加载天地图

申请天地图key 官方:https://www.tianditu.gov.cn/ 申请key:https://sso.tianditu.gov.cn/login?servicehttps%3A%2F%2Fconsole.tianditu.gov.cn%2F 进去之后,先登录,如果没账号先注册一个就行。 可以创建个应用,…

Unity制作随风摇摆的植物

今天记录一下如何实现随风摇摆的植物,之前项目里面的植物摇摆实现是使用骨骼动画实现的,这种方式太消耗性能,植物这种东西没必要,直接使用顶点动画即可。 准备 植物不需要使用标准的PBR流程,基础的颜色贴图加上法向贴…

153基于matlab的滚动轴承故障诊断

基于matlab的滚动轴承故障诊断,基于小波包分解,得到数据峭度值,以正常与故障数据峭度差值进行最大尺度重构,对重构信号进行包络谱分析。程序已调通,可直接运行。 153matlab 信号重构 包络谱分析 故障诊断 (xiaohongshu…

网络流数据集处理(深度学习数据处理基础)

一、数据集处理 处理数据集是一个文件夹 一个文件夹处理的,将原网络流数据集 放入一个文件夹 处理转换成 Json文件。(数据预处理)然后将这些文件处理成目标文件格式 再分割成训练集和测试集。每次运行只会处理一个文件夹。 运行train.py 导入…

html,css,js速成

准备&#xff1a;vscode配好c&#xff0c;python&#xff0c;vue环境&#xff0c;并下载live server插件。 1. html hypertext markup language(超文本标记语言) 1. 基础语法 一个html元素由开始标签&#xff0c;填充文本&#xff0c;结束标签构成。 常见标签说明<b>…

VC++中使用OpenCV绘制直线、矩形、圆和文字

VC中使用OpenCV绘制直线、矩形、圆和文字 在VC中使用OpenCV绘制直线、矩形、圆和文字非常简单&#xff0c;分别使用OpenCV中的line、rectangle、circle、putText这四个函数即可。具体可以参考OpenCV官方文档&#xff1a;https://docs.opencv.org/4.x/index.html 下面的代码展…

微信小程序实现时间轴效果

目录 引言时间轴效果的应用场景微信小程序的优势时间轴效果的设计思路时间轴界面布局数据结构设计实现时间轴效果WXML结构设计WXSS样式设计JavaScript逻辑实现说明引言 时间轴效果的应用场景 时间轴效果作为一种独特且直观的信息展示形式,已经被广泛应用于各种场景中,提供了…

【EI会议征稿通知】第四届光学与图像处理国际学术会议(ICOIP 2024)

第四届光学与图像处理国际学术会议&#xff08;ICOIP 2024&#xff09; 2024 4th International Conference on Optics and Image Processing 光学器件的实用化、图像处理的更优化等话题深受国内外专家、学者们关注。为推动光学与图像处理的发展&#xff0c;促进该领域学术交…

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…

命名空间(namespace)及其应用技巧

C 命名空间及其应用技巧 文章目录 C 命名空间及其应用技巧引言代码案例一&#xff1a;不同命名空间的变量和自定义类型代码案例二&#xff1a;命名空间的嵌套和using的使用代码案例三&#xff1a;不连续的同名命名空间代码案例四&#xff1a;命名空间和局部、全局变量的优先级总…

使用Ettus USRP X440对雷达和EW系统进行原型验证

概览 无论是保障己方平台的生存能力&#xff0c;还是扰乱敌方频谱使用&#xff0c;以电磁(EM)频谱为主导都是任务成功的主要因素。电磁频谱操作(Electromagnetic Spectrum Operation, EMSO)需要使用战术系统来监测敌方的频谱活动、定位其发射器并帮助己方制定行动计划。软件无…

大数据 - Spark系列《二》- 关于Spark在Idea中的一些常用配置

上一篇&#xff1a; 大数据 - Spark系列《一》- 从Hadoop到Spark&#xff1a;大数据计算引擎的演进-CSDN博客 目录 1. &#x1f959;Idea中配置Live Templates来快速生成代码片段 2. &#x1f959;Idea中配置文件模板自定义初始代码 3.&#x1f959;设置spark-submit提交程…

【stm32】hal库学习笔记-FSMC连接TFT_LCD

【stm32】hal库学习笔记-FSMC连接TFT LCD 触摸屏结构与原理 LCD模块接口原理图 LCD 接口连接在 FSMC 总线上面&#xff0c;图中的 T_MISO/T_MOSI/T_PEN/T_SCK/T_CS 连接在 MCU 的 PB2/PF11/PB1/PB0/PC13 上&#xff0c;这些信号用来实现对液晶触摸屏的控制&#xff08;支持电阻…