目录

一、实验原理

二、实验拓扑

三、实验步骤

四、实验过程

总结


实验难度 3
实验复杂度 5

一、实验原理

VPN的出现是为了实现远程的数据机密性传输,因为传统的以太网方式传输数据都是明文的,数据透露的风险极大,非常不安全。为了解决这个数据安全传输的问题,可以使用VPN(Virtual Private Network,虚拟私有网络)技术来实现。VPN有不同的划分标准,有按VPN的协议分类、按VPN的应用分类、按应用的设备类型分类、按实现的原理分类。

1.按VPN的协议分类:

(1)二层隧道协议:PPTP、L2TP

(2)三层隧道协议:IPSec

2.按VPN的应用分类:

(1)远程接入VPN:客户端到网关,使用公网作为骨干网在设备之间传输VPN数据流量;。

(2)内联网VPN:网关到网关,通过公司的网络架构连接来自同公司的资源。

(3)外联网VPN:连接另一个公司网络。

3.按应用的设备类型分类:

(1)路由器式VPN:在路由器上部署VPN,可以在路由器上添加VPN服务。

(2)交换机式VPN:在交换机上部署VPN,此种方式应用不多。

(3)防火墙式VPN:在防火墙上部署VPN。

4.按实现的原理分类:

(1)重叠VPN:此VPN需要用户自己建立端节点之间的VPN链路,主要包括:GRE、L2TP、IPSec等众多技术。

(2)对等VPN:由网络运营商在主干网上完成VPN通道的建立,主要包括MPLS、VPN技术。

5.IPSec的实现原理

IPSec是IP Security的缩写,即是IP安全协议。IPSec是安全协议集合(框架),它并非单独一个协议。它由两种协议组成:

5.1 IPSec协议

(1)AH协议(Authentication Header,认证报头):它可以同时提供数据完整性确认、数据来源确认、防重放等安全等的特性,但是它没有数据加密的功能,所以这个协议很少使用。

(2)ESP协议(Encasulated  Security Payload,封装安全负荷):它在AH的特性上多了一个数据加密特性,安全性高,使用广泛。

5.2 加密算法

IPSec使用加密算法来实现数据机密性,加密算法主要有两类,一类是对称加密算法(加密与解密密码是一样的),加密效率高,另一类为非对称加密算法(加密与解密是不一样的),加密效率低。IPSec使用三种对称加密算法来加密:

(1)DES(Data Encryption Standard):数据加密标准,它是一种传统的加密算法。

(2)3DES:三重数据加密标准,安全性比DES高。

(3)AES(Advanced Encryption Standard):高级加密标准,它的安全性比DES与3DES还高。

5.3 哈希算法

IPSec使用哈希算法来实现数据的完整性校验,在发送数据包之前,会把数据进行一个哈希过程,最后得到整个数据包的哈希值,对端设备收到数据包后会对数据进行哈希,得到的值会与数据包中的哈希值对比,若相同则表示数据没有被篡改,否则表示数据已经被篡改了。

(1)SHA:(英语:Secure Hash Algorithm,缩写为SHA)是一个密码散列函数家族,是FIPS所认证的安全散列算法。能计算出一个数字消息所对应到的,长度固定的字符串(又称消息摘要)的算法。且若输入的消息不同,它们对应到不同字符串的机率很高。

(2)MD5:一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。它具有不可逆性、雪崩效应等特点。

5.4 工作模式

IPSec的工作模式有两种,一种为传输模式、另一种为隧道模式,但是IPSec协议有两种,它们相互搭配就有4种的可能了(传输模式下的AH或ESP、隧道模式下的AH或ESP)。

(1)传输模式:在IP报头与上层数据的中间插入一个IPSec报头(AH或ESP),在添加AH或ESP报头的前后IP报头不变,加密设备等于通信设备,它主要用于主机与主机之间的安全通信。

传输模式下的AH报头封装:

传输模式下的ESP报头封装:

(2)隧道模式:把原始 IP 数据包整个封装到一个新的 IP 数据包中,在新的 IP 头部和原始 IP 头部之间插入 ESP 头部,并且在最后面加上 ESP 尾部和 ESP 验证数据部分,加密设备不等于通信设备。

隧道模式下的AH报头封装:

隧道模式下的ESP报头封装:

注意:

1.在传输模式下,无论是使用ESP报头封装还是使用AH报头封装,它的IP报头信息是不变的,所以加密设备就是通信设备;

2.在隧道模式下,无论是使用ESP报头封装还是使用AH报头封装,它的IP报头都会使用外网的IP头,所以加密的设备不等于通信设备;

3.在同时存在两个报头的情况下,沿途的路由器只会检查最外面的IP报头,因为多了一个报头,所以目标地址可能与原来的不一致了;

4.传输模式只适用于主机到主机的点到点的加密通信,而隧道模式适用于任何场景,但是在PC到PC的场景还是建议使用传输模式。

5.5 IPSec建立安全连接(SA)过程

若直接通过Internet传输密钥,无疑是不安全的,使用IKE(Internet Key Exchange)解决了在不安全的环境中安全建立或更新共享密钥的问题。

IPSec建立安全连接的过程就两个阶段:

第一阶段:协商创建一个通信信道(IKE SA),且对它进行验证,为双方进一步的IKE通信提供机密性、完整性以及消息源验证服务。

第二阶段:使用已经建立的IKE SA建立IPSec SA。

二、实验拓扑

三、实验步骤

1.搭建如图所示的网络拓扑图;

2.初始化设备,配置相应的IP地址,测试直连网络的连通性;

3.配置默认路由,使得R1与R3可以互通;

4.配置IPSec,实现数据的机密性传输,测试效果。

四、实验过程

1.搭建如图所示的网络拓扑图;

略。

2.初始化设备,配置相应的IP地址,测试直连网络的连通性;

略。

3.配置默认路由,使得R1与R3可以互通;

4.配置IPSec,实现数据的机密性传输,测试效果。

R1:

R3:

效果:

在默认情况下IPSec隧道是不启用的,需要我们发送相应的感兴趣数量触发一下

这里我们可以看到整个隧道都已经启用了,表示这个隧道已经正常加密数据了

我们可以看看第一个阶段的安全连接(SA)是否起来了,这里看到的效果就是正常的,状态是活动的

我们也可以看一下数据的加密情况

代码解释:

配置IKE策略

R1(config)#crypto isakmp policy 10   //创建安全策略,策略号为10
R1(config-isakmp)#encryption 3des   //使用3des算法进行加密数据
R1(config-isakmp)#hash md5    //使用MD5算法来验证数据的完整性
R1(config-isakmp)#authentication pre-share   //使用预共享方式来验证数据的来源是否可靠
R1(config-isakmp)#group 5     //使用加密因子5进行数据加密

R1(config)#crypto isakmp key 0 ccie address 200.1.1.1   //设置身份验证的密码为ccie,验证的远程IP地址为200.1.1.1

配置变换集
R1(config)#crypto ipsec transform-set myset esp-3des esp-md5    //配置IPSec策略(转换集)转换具体数据的策略,名字叫做myside 封装使用ESP。加密使用3des 完整性校验使用md5

R1(cfg-crypto-trans)#mode tunnel    //使用隧道模式来传输数据

配置感兴趣流
R1(config)#access-list 100 permit ip host 100.1.1.1 host 200.1.1.1  //配置感兴趣流

配置加密图
R1(config)#crypto map cmap 10 ipsec-isakmp  //配置加密图
% NOTE: This new crypto map will remain disabled until a peer
        and a valid access list have been configured.

R1(config-crypto-map)#match address 100   //匹配ACL的感兴趣流
R1(config-crypto-map)#set peer 200.1.1.1   //配置远程的IP地址邻居
R1(config-crypto-map)#set transform-set myset   //匹配相应的变换集

应用加密图
R1(config)#interface f0/0
R1(config-if)#crypto map cmap   //应用加密图在接口上

总结

本次的内容难度很大,对于新人来说,理解很吃力,但是没有别的办法,本章最起码要学会怎么配置IPSec,原理这些可以先不理解通透,有时间就研究一下,这些需要消耗时间事情急不来。这个原理本来就是打算单独写的,这样会很详细,但是考虑到内容过于详细就容易冗长了,所以就精简了一下,以实验配置为主。好了,我们在下一个章节再见,加油!

网络安全篇 使用IPSec实现数据的机密性传输-29相关推荐

  1. 网络安全篇 浅谈学习网络安全的看法-00

    目录 一.网络与网络安全的相关概念 二.谈谈对学习网络安全的一些看法 总结 一.网络与网络安全的相关概念 关于网络与网络安全这两个概念,我想有很多朋友或者是工作多年的工程师也说不清楚,因为两个概念在不 ...

  2. 【Spark篇】---Spark解决数据倾斜问题

    [Spark篇]---Spark解决数据倾斜问题 参考文章: (1)[Spark篇]---Spark解决数据倾斜问题 (2)https://www.cnblogs.com/LHWorldBlog/p/ ...

  3. 基于100,000篇演讲的分析数据科学家发现了最佳演讲者的特征——及时解释听众不懂的词语,必要时提高10%的音调,正确和恰当的手势,氛围的营造...

    [TD精选] 基于100,000篇演讲的分析数据科学家发现了最佳演讲者的特征 相信大部分人一定试图寻找过使得自己的演讲变得更加吸引人,更加有气势的方法.现如今,在大数据工具和机器学习技术的辅助下,找到 ...

  4. (转)另一篇:VC导出数据到EXCEL

    另一篇:VC导出数据到EXCEL 2010-08-28 17:03:47|  分类: 默认分类 |  标签: |字号大中小 订阅 我们制作应用软件的时候,经常要把结果以报表的形式输出,当前使用较为广泛 ...

  5. CCIE-LAB-第十一篇-DMVPN+IPSEC+BGP

    CCIE-LAB-第十一篇-DMVPN+IPSEC+BGP 实际中,思科只会给你5个小时去做下面的全部配置 这个是CCIE-LAB的拓扑图 问题 翻译: 根据以下要求纠正导致DC.Branch3和Br ...

  6. 负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解

    负载均衡原理与实践详解 第五篇 负载均衡时数据包流程详解 系列文章: 负载均衡详解第一篇:负载均衡的需求 负载均衡详解第二篇:服务器负载均衡的基本概念-网络基础 负载均衡详解第三篇:服务器负载均衡的基 ...

  7. 一篇入门物联网大数据:TDengine时序数据库

    目录 一.大数据时代 二.TDengine设计思想 三.CAP理论和TDengine的特性 1.CAP理论 2.TDengine特性 四.数据模型 1.数据特点 2.超级表和表 3.数据查询 a. 单 ...

  8. 计算机二级python 知识点篇(文件和数据格式化)

    计算机二级python 知识点篇(文件和数据格式化) 考纲考点 文件的使用: 文件打开. 关闭和读写 数据组织的维度: 一维数据和二维数据 一维数据的处理: 表示. 存储和处理 二维数据的处理: 表示 ...

  9. 服务端指南 数据存储篇 | 选择合适的数据存储方案

    在服务端会经常遇到数据存储的选型问题,是选择使用关系型数据库 MySQL,还是选择内存数据库 Redis,还是选择文档数据库 MongoDB,还是选择列族数据库 HBase, 还是选择全文搜索引擎 E ...

最新文章

  1. 插入blob字段的简单方法
  2. python画代码-一行Python代码画心型
  3. jquery图片延迟加载 lazy-src
  4. inner join on 加条件和where加条件_SQL学习笔记 - GROUP BY / JOIN / UNION
  5. [html] const nums1 = [1, 2, 2, 1], nums2 = [2] 交集是什么?
  6. python字符串为什么不能修改_为什么在Python(\n)中更改字符串中的行不起作用?...
  7. 中科院C语言应聘机试编程题6,中科院计算所保研笔试+机试+面试经验分享
  8. c++ 14 新特性
  9. (2)R包,GO.db调研(数据库构建角度解析)
  10. 计算机机房安全管理问题与措施,机房管理中存在的问题及处理对策
  11. 进行日常记账后,怎样导出表格
  12. 360路由器v2刷第三方固件_不走弯路:小米路由器3G 刷Padavan固件简单教程
  13. Ubuntu 机箱前置耳机没声音的问题(彻底解决)
  14. 小高不太行之前端--JSON
  15. 为什么招聘单位都要求你有ITIL证书,你知道吗?
  16. NetAdvantage
  17. 深度神经网络简单介绍,神经网络设计与实现
  18. 对学生创业的重新认识
  19. 在前端页面中调用本机的摄像头
  20. maven 通过打包命令指定不同环境配置文件

热门文章

  1. vue之封装loading组件
  2. 【matplotlib】可视化解决方案——共享绘图区域问题
  3. 怎么更改计算机用户为管理员账户,Win10如何更改为管理员账户,教您如何更改
  4. 基于单片机的四层电梯仿真设计(#0012)
  5. 四种激光雷达技术的最新发展趋势
  6. 带节点的曲线,可以鼠标拖动节点,类似PS
  7. matlab基础知识与简单操作
  8. CocosCreator之KUOKUO趣味文章:小怪要绕墙 3
  9. Python数据特征分析1-分布分析(极差,频率直方图等)
  10. 刷主板bios改变机器码_主板BIOS升级超完整教程,一学就会!