前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >华为ensp中路由器IPSec VPN原理及配置命令(超详解)

华为ensp中路由器IPSec VPN原理及配置命令(超详解)

作者头像
神秘泣男子
发布于 2024-06-03 10:25:37
发布于 2024-06-03 10:25:37
4.3K00
代码可运行
举报
文章被收录于专栏:运维知识运维知识
运行总次数:0
代码可运行
虚拟专用网络(VPN)是一种通过公用网络建立安全连接的技术。它可以使您的设备看起来像是连接到另一个网络,例如公司或家庭网络,即使您实际上位于其他位置。
VPN的工作原理

虚拟专用网络(VPN)通过在您的设备和远程服务器之间创建加密隧道来工作。该隧道可保护您的互联网流量免受窥探,即使您使用的是公共 Wi-Fi 网络。

VPN 的优点

使用 VPN 有很多优点,包括:

  • 保护您的在线隐私:VPN 可以隐藏您的 IP 地址并加密您的互联网流量,这可以帮助您保护您的在线隐私并防止黑客窃取您的数据。
  • 绕过地理限制:VPN 可用于访问受地理限制的网站和服务。例如,如果您在美国,可以使用 VPN 访问仅在英国可用的网站。
  • 安全地连接到公司网络:VPN 可用于安全地连接到公司网络,即使您不在办公室。这对于远程工作或访问公司资源非常有用。
  • 护您的 Wi-Fi 连接保:如果您经常使用公共 Wi-Fi 网络,VPN 可以帮助保护您的连接免受窥探。
VPN的模式

VPN 有两种主要模式:隧道模式和传输模式。

隧道模式

隧道模式是 VPN 的最常见模式。在这种模式下,VPN 设备会将整个数据包(包括 IP 头部和有效载荷)封装在一个新的 IP 数据包中,然后通过安全隧道路由。这将隐藏您的原始 IP 地址并加密您的数据。 隧道模式通常用于以下情况:

  • 连接两个或多个网络,例如公司总部和分支机构。
  • 保护敏感数据,例如信用卡信息和医疗记录。
  • 绕过地理限制。

传输模式

传输模式主要用于保护端到端通信。在这种模式下,VPN 设备只会加密和解密数据包的有效载荷,而不会修改数据包的头部信息。这可以降低 VPN 的开销,但会泄露您的原始 IP 地址。 传输模式通常用于以下情况:

  • 保护两台设备之间的通信,例如笔记本电脑和服务器。
  • 远程访问公司网络。

特性

隧道模式

传输模式

加密

加密整个数据包

只加密有效载荷

开销

较高

较低

安全性

较高

较低

典型用途

连接网络、保护敏感数据、绕过地理限制

保护端到端通信、远程访问网络

VPN的加密和验证

加密算法可以分为两大类:对称加密算法和非对称加密算法。

对称加密算法

对称加密算法是指加密和解密使用相同密钥或相关密钥的加密算法。这意味着,如果知道加密密钥,就可以轻松地计算出解密密钥。因此,在使用对称加密算法时,密钥的安全性至关重要。 对称加密算法通常具有以下特点:

  • 加密和解密速度快
  • 计算量小
  • 易于实现

举例:

DES

数据加密标准 (DES) 是一种由美国国家标准技术研究所 (NIST) 发布的对称加密算法,曾是广泛使用的标准加密算法。DES 使用 64 位密钥,将明文分成 64 位的块进行加密和解密。

然而,DES 的密钥长度只有 64 位,安全性已不再满足现代需求。在 1997 年,DES 被破解,因此不再被推荐用于新的应用。

3DES

三重数据加密标准 (3DES) 是为了增强 DES 安全性而提出的改进算法。3DES 使用 DES 算法对明文进行三次加密和解密,每次使用不同的密钥。3DES 使用 168 位密钥,安全性比 DES 高得多。

3DES 的安全性仍然被认为是足够的,但其加密速度和计算量都比现代加密算法要高。

AES

高级加密标准 (AES) 是美国国家标准技术研究所 (NIST) 发布的一种对称加密算法,是目前最流行的对称加密算法之一。AES 使用 128 位、192 位或 256 位密钥,将明文分成 128 位的块进行加密和解密。

AES128、256 和 512 是 AES 的三种密钥长度版本。它们的区别在于密钥长度的不同。

  • AES128 使用 128 位密钥,是 AES 的最常见版本。
  • AES256 使用 192 位密钥,具有更高的安全性。
  • AES512 使用 256 位密钥,具有最高的安全性。
非对称加密算法

非对称加密算法是指加密和解密使用不同密钥的加密算法。这意味着,即使知道公钥(用于加密),也无法计算出私钥(用于解密)。因此,非对称加密算法可以用于安全地交换密钥。 非对称加密算法通常具有以下特点:

  • 加密和解密速度慢
  • 计算量大
  • 难以实现

举例:

Diffie-Hellman 密钥交换 (DH)

Diffie-Hellman 密钥交换是一种非对称加密协议,用于安全地在公共信道上交换密钥。

DH 协议的优点是:可以安全地在公共信道上交换密钥,不需要预先共享密钥

DH 协议的缺点是:加密和解密速度慢,计算量大

group1、2、5、7 是 DH 协议中常用的素数群。素数群是指由一个素数 p 和其所有非零模 p 剩余的元素组成的集合。在 DH 协议中,素数群用于计算公钥和共享密钥。

group 的数字越大,安全性越高,但计算量也越大。在实际应用中,应根据安全性和性能需求选择合适的 group。

特性

对称加密算法

非对称加密算法

密钥

加密和解密使用相同密钥或相关密钥

加密和解密使用不同密钥

加密/解密速度

计算量

易用性

易于实现

难以实现

典型应用

数据加密、通信加密

密钥交换、数字签名

IPSec 安全关联

IPSec 安全关联 (SA) 是 IPSec 协议中用于建立安全通信通道的基本单元。SA 包含用于加密和解密数据包的密钥、算法和其他参数。

SA 的类型

IPSec SA 有两种类型:传输模式和隧道模式

SA 的建立通常需要以下步骤:

  1. IKE 阶段 1:**IKE 阶段 1 用于建立用于身份验证和密钥交换的安全通道。
  2. IKE 阶段 2:**IKE 阶段 2 用于协商 SA 的具体参数,例如加密算法、密钥长度和生存时间。

SA 的安全性取决于以下因素:

  • 加密算法:应使用强加密算法,例如 AES-256。
  • 密钥长度:密钥长度应足够长,以防止被破解。
  • 生存时间:SA 的生存时间应设置得合理,既要保证安全,又要避免频繁的 SA 重建。

总结

IPSec 安全关联是 IPSec 协议中用于建立安全通信通道的基本单元。SA 的安全性对于保护网络通信至关重要。

实验拓扑

配置VPN将192.168.1.0 区域和 192.168.2.0 区域可以互相访问

AR1的基本配置

基本的ip和路由配置很简

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Huawei>sys
Enter system view, return user view with Ctrl+Z.
[Huawei]un in en
Info: Information center is disabled.
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 192.168.1.1 24
[Huawei-GigabitEthernet0/0/0]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 100.0.0.1 24
[Huawei-GigabitEthernet0/0/1]q
[Huawei]ip route0s	
[Huawei]ip route-s	
[Huawei]ip route-static 0.0.0.0 0 100.0.0.2
[Huawei]

配置acl策略

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[huawei]acl 3000
[Huawei-acl-adv-3000]rule deny ip source 192.168.1.0 0.0.0.255 destination 192.1
68.2.0 0.0.0.255
[Huawei-acl-adv-3000]rule permit ip source any destination any 
[Huawei-acl-adv-3000]q
[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]nat outbound 3000

  • rule deny ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 :此规则拒绝来自 192.168.1.0 至 192.168.1.255(含)范围内的 IP 地址的流量,这些 IP 地址的发往 192.168.2.0 至 192.168.2.255(含)范围内的 IP 地址。
  • rule permit ip source any destination any :此规则允许所有其他流量(任何源 IP 和任何目标 IP)。

此配置定义了一个 IKE 提案,其中 SHA-1 用于身份验证,预共享密钥用于身份验证方法,AES-CBC 具有 128 位密钥用于加密,DH 组 2 用于密钥交换。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]ike proposal 10 
[Huawei-ike-proposal-10]authentication-algorithm sha1
[Huawei-ike-proposal-10]authentication-method pre-share 
[Huawei-ike-proposal-10]encryption-algorithm aes-cbc-128
[Huawei-ike-proposal-10]dh group2
[Huawei-ike-proposal-10]q

  • [Huawei]ike proposal 10: Creates an IKE proposal named "10".
  • [Huawei-ike-proposal-10] :进入 IKE 提案 10 的配置模式。
  • authentication-algorithm sha1 :将 IKE 的身份验证算法设置为 SHA-1。此算法用于在 IKE 协商期间验证其他设备的身份。
  • authentication-method pre-shared :将IKE的认证方法设置为预共享密钥。这意味着两个路由器必须共享一个预配置的密钥才能建立连接。
  • encryption-algorithm aes-cbc-128 :使用 128 位密钥将 IKE 数据的加密算法设置为 AES-CBC。此算法对 IKE 协商期间交换的数据进行加密。
  • dh group2 :将 Diffie-Hellman (DH) 组设置为组 2。DH 是一种密钥交换协议,用于安全地建立用于加密的共享密钥。组 2 提供中等级别的安全性。

该配置提供了在华为路由器上设置IPSec VPN对端连接的基本示例。请记住替换弱预共享密钥,并考虑使用 IKEv2 在实际场景中实现更安全的通信。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]ike peer r1-r3 v1
[Huawei-ike-peer-r1-r3]pre-shared-key cipher abc-123
[Huawei-ike-peer-r1-r3]remote-address 101.0.0.2
[Huawei-ike-peer-r1-r3]ike-proposal 10
[Huawei-ike-peer-r1-r3]q

  • [Huawei]ike peer r1-r3 v1 :使用 IKEv1 创建名为“r1-r3”的 IPSec VPN 对等连接
  • [Huawei-ike-peer-r1-r3] :进入对等连接“r1-r3”的配置模式。
  • pre-shared-key cipher abc-123 :将用于身份验证的预共享密钥设置为“abc-123”。注意:这是一个非常弱的键,仅用于演示目的。在实际场景中,应使用强随机预共享密钥。
  • remote-address 101.0.0.2 :将远程对等体的 IP 地址指定为 101.0.0.2。
  • ike-proposal 10 :引用之前配置的名为“10”的 IKE 建议(假设您遵循了上一个提示中的配置)。该提案定义了在VPN建立期间用于安全通信的特定算法和参数。
  • [Huawei-ike-peer-r1-r3]q :退出对等连接“r1-r3”的配置模式。

配置acl允许流量通过

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]acl 3001
[Huawei-acl-adv-3001]rule permit ip source 192.168.1.0 0.0.0.255 destination 192
.168.2.0 0.0.0.255
[Huawei-acl-adv-3001]q

此配置定义了一个名为“aqty1”的 IPSec 提案,该提案使用 SHA-1 进行 ESP 身份验证,使用 AES-128 进行 ESP 加密。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]ipsec proposal aqty1
[Huawei-ipsec-proposal-aqty1]esp authentication-algorithm  sha1
[Huawei-ipsec-proposal-aqty1]esp encryption-algorithm aes-128

  • [Huawei-ipsec-proposal-aqty1] :进入 IPSec 提案“aqty1”的配置模式。
  • esp authentication-algorithm sha1 :将 ESP(封装安全负载)标头的身份验证算法设置为 SHA-1。该算法用于确保VPN隧道内传输的数据包的完整性。
  • esp encryption-algorithm aes-128 :使用 128 位密钥将 ESP 有效负载的加密算法设置为 AES。此算法对 VPN 隧道内的数据包进行加密以确保机密性。

该配置定义了IPSec策略,并将其应用于华为路由器上的接口。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]ipsec policy  aqcl 10 isakmp 
[Huawei-ipsec-policy-isakmp-aqcl-10]ike-peer r1-r3	
[Huawei-ipsec-policy-isakmp-aqcl-10]proposal aqty1
[Huawei-ipsec-policy-isakmp-aqcl-10]security acl 3001
[Huawei-ipsec-policy-isakmp-aqcl-10]q
[Huawei]int g0/0/1	
[Huawei-GigabitEthernet0/0/1]ipsec policy aqcl
[Huawei-GigabitEthernet0/0/1]q

  • [Huawei]ipsec policy aqcl 10 isakmp :创建策略 ID 为 10 的名为“aqcl”的 IPSec 策略,并指定用于密钥交换 (isakmp) 的 IKEv1。
  • [Huawei-ipsec-policy-isakmp-aqcl-10] :进入IPSec策略“aqcl”的配置模式。
  • ike-peer r1-r3 :引用以前定义的名为“r1-r3”的 IKE 对等连接。这将与 VPN 隧道的远程对等体建立关联。
  • proposal aqty1 :引用之前配置的名为“aqty1”的 IPSec 提案。该提案定义了用于 VPN 隧道内 ESP 身份验证和加密的特定算法。
  • security acl 3001 :将名为“3001”的 ACL(访问控制列表)与此 IPSec 策略相关联。此 ACL 可能定义了 VPN 隧道将保护的流量(假设您事先配置了 ACL 3001)。
  • [Huawei-GigabitEthernet0/0/1]ipsec policy aqcl :将名为“aqcl”的 IPSec 策略应用于此接口。这将在接口上启用 IPSec 功能,并且与关联的 ACL (3001) 匹配的任何流量都将使用与对等体“r1-r3”建立的 IPSec 隧道进行保护。
AR2的基本配置
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[Huawei]int g0/0/0
[Huawei-GigabitEthernet0/0/0]ip add 100.0.0.2 24

[Huawei]int g0/0/1
[Huawei-GigabitEthernet0/0/1]ip add 101.0.0.1 24
[Huawei]int lo0
[Huawei-LoopBack0]ip add 200.0.0.1 24

AR3同理命令就不过多介绍

注意IP地址默认路由和ACL策略有所不同 分清楚源IP和目标IP

查看配置

AR1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Huawei>dis ike peer

显示IKE的配置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Huawei>display ipsec proposal

显示IPSec安全提议的配置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Huawei>display ipsec policy

显示IpSec安全策略的配置信息

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<Huawei>display ipsec statistics esp

显示数据包的统计信息

其余的自己查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
显示IKE SA
display ike sa

显示IPSec SA
display ipsec sa
测试

服务器的IP配置

访问成功

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
fastapi
fastapi
回复回复点赞举报
推荐阅读
基于百度地图api获取某一点的详细信息 逆向解析地址
本章您将能学到:使用百度地图api动态获取到地图上某一点的中文地址详细信息与对应的坐标轴信息。
啦啦啦啦
2023/02/27
8090
百度地图api根据坐标搜索附近信息_最简单app制作
  这几天比较空闲,就接触了下百度地图的API(开发者中心链接地址:http://developer.baidu.com),发现调用还是挺方便的。只要简单几步注册下,就可以获得一个Key,就能直接调用(PS:好像1.3版本前的无需注册获取key,就能直接调用api)。   想着能结合到自己的项目中去,那也挺不错的。看了园子中的几篇文章,感觉甚好,想自己也动手试试。 在调用百度地图API的时候,经纬度的获取必然是关键,那么怎么样获取到经纬度的值呢?这是一个最首要解决的问题。 通过查询资料,看了几个例子,得知了调用的方法(感谢与时俱进的实例,给予很大的帮助)。站着巨人的肩膀上,就能比较快的实现功能。   闲话不多,下面就直接给大家介绍下,具体要怎么调用百度地图API。   首先新建一张html页面。然后引用上API:
全栈程序员站长
2022/09/20
1K0
百度地图api根据坐标搜索附近信息_最简单app制作
百度地图设置显示公司地址
在百度地图开放平台(http://lbsyun.baidu.com/)登录账号新建应用,应用类型选择浏览器端,建立完成后我们会得到应用AK。
泽泽社长
2023/04/17
8770
百度地图设置显示公司地址
百度地图API的使用示例
刚刚工作的时候写过百度地图API文档,那时候没有记录到技术博客里面,今天在群里看见有个姑娘在问这个问题,重温了一遍,这个API还算好用。百度地图API,集成简单好用,全面,兼容问题,文档全面;
王小婷
2018/08/10
1.3K0
百度地图API的使用示例
【python】【Djang】GPS/北斗串口数据实时定位百度地图
本项目为从串口读取GPS/北斗设备接收数据,进行处理后使用百度地图api实时显示定位。
一点儿也不潇洒
2018/12/13
7K2
【python】【Djang】GPS/北斗串口数据实时定位百度地图
百度地图电子围栏功能的实现
最近公司项目需求,要做一个百度地图电子围栏的功能,在网上查了一下资料,看了很多博客,大多数都写的不是很详细,我看的云里雾里的,最后终于集合所有的几篇资料,自己做出了一个简单的demo,下面将过程记录和分享一下,希望给予有需要同学一些帮助,我这个人说话比较啰嗦,所以写的一定会很详细的,哈哈!闲言少叙,开始了。
CherishTheYouth
2019/07/30
3.6K0
百度地图电子围栏功能的实现
百度地图上,路线轨迹的3D动画展示
效果展示 http://mpvideo.qpic.cn/0bf2v4aauaaa2aaeoxeiobpfbl6dbkxqacqa.f10002.mp4?dis_k=86dfca79527145d2c6
double
2020/05/08
3.5K1
高质量编码-在地图上调整Excel位置经纬度(前端开发)
省略说明html和css,下面介绍一下js中各部分函数负责的功能。 image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png image.png im
MiaoGIS
2021/07/14
8140
高质量编码-在地图上调整Excel位置经纬度(前端开发)
JQuery实现坐标拾取和地址模糊查询
本文详细讲解了如何使用 JQuery+HTML+JavaScript 实现移动端页面中的地图位置选取功能。本文逐步展示了如何构建基本的地图页面,如何通过点击地图获取经纬度和地理信息,以及如何实现模糊查询地址并在地图上标注。最后,提供了完整的代码示例,并总结了基于地图API进行地图位置选点的开发过程,帮助开发者快速上手并应用到实际项目中。
Damon小智
2024/08/11
2340
JQuery实现坐标拾取和地址模糊查询
Vue.js实现百度地图定位、搜索及获取经纬度
百度地图官方给出的SDK没有vue版本,我们可以引入百度地图的js,去实现百度地图定位,并实现搜索、以及获取经纬度,其实现方法和纯html+js是一样的,只不过是多了一层vue的方法(methods)。 当打开页面的时候,百度地图自动定位当前位置,给出一个搜索框,搜索我们所想要寻找的目标地址,百度地图会列出相关检索结果,点击检索结果,并在地图上定位,然后获取到经纬度。 1.在 public/index.html 中引入百度地图SDK的JS文件
子润先生
2021/06/23
3.1K0
简单明了实现Java地图小程序项目
地图技术就是使用地图服务来完成各种业务的一种技术,如:基于经纬度定位、查询出行路线、导航、搜索附近的商场等。随着移动互联网的发展,移动终端可以更方便的获取用户的位置数据,地图技术的应用也得到了广泛的应用,如:网约车、智能穿戴、智能物流、智能景区、互联网房产、在线旅游、车用数据服务等。
苏州程序大白
2022/09/16
1.6K0
简单明了实现Java地图小程序项目
前端切图:调用百度地图API
原型图 图片发自简书App <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <s
王小婷
2018/06/01
1.3K0
angularJs集成百度地图
app.controller('mapSignController',function($scope,$rootScope,Message, $window,$uibModalInstance){
JQ实验室
2022/02/09
3700
百度地图使用记录
loadBaiduMap.js export default function loadBaiduMap(ak) { return new Promise(function (resolve, reject) { // window.onload = function () { // resolve(BMapGL) // } window.init = function(){ resolve(BMapG
tianyawhl
2022/12/21
6030
百度地图电子围栏功能
今年疫情以来,工作都比较紧凑,没能抽出时间来记录工作日常了。最近接触一个项目需要使用到百度地图的围栏功能,作为前期调研,先探探路。 经过一番搜搜,找到一篇不错的文章。专门介绍,百度地图围栏的。地址如下:https://www.cnblogs.com/CherishTheYouth/p/CherishTheYouth_20190416.html
用户5640963
2020/10/26
4.2K0
百度地图电子围栏功能
利用python和百度地图API实现数据地图标注
地址:http://developer.baidu.com/map/jsdemo.htm#c1_19
IT派
2018/07/30
4.9K0
利用python和百度地图API实现数据地图标注
webGIS,基于百度地图的HelloWord实现
随着前端技术的不断发展,WebGIS普及度也越来越广,本篇将主要讲解基于百度地图JavaScript API GL v1.0
啦啦啦啦
2023/02/27
4290
webGIS,基于百度地图的HelloWord实现
百度地图AP1「建议收藏」
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116471.html原文链接:https://javaforall.cn
全栈程序员站长
2022/01/21
6740
地图的折腾
一个纯后台人员折腾前端,最近有个地图的小需求。然后去折腾了一把百度地图。其中一个要求就是在地图按数字标注目标位置。
BUG弄潮儿
2021/09/10
7750
地图的折腾
百度地图简单对接
地位越高,自我评价就越高,自信心多强,能力就有多强。我们总能表现出与环境的和谐平等。——赫兹里特 效果如下 跟着官网一步一步来即可 申请成为开发者 然后在应用管理里创建应用 填写信息 点击复制AK 然后复制代码 <!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <meta http-equiv="Content-Type"
阿超
2022/08/16
4370
百度地图简单对接
相关推荐
基于百度地图api获取某一点的详细信息 逆向解析地址
更多 >
LV.8
公众号:赵KK日常技术记录AIGC生成式
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档