第25节 IPsec虚拟专网工作原理与配置详解


本文仅用于学习交流。

1 加密技术概述

(1)对称加密算法

  • 1)密钥:加密与解密使用相同的密钥。
  • 2)特点:秘钥是通信双方协商生成的,生成过程时明文通信,导致密钥容易泄露。但是速度快。
  • 3)常用算法:DES、3DES、AES。

(2)非对称加密算法

  • 1) 使用公私钥加密数据。
  • 2)公私钥成对生成、互为加解密关系
  • 3)公私钥不能互相推算。
  • 4)双方交换公钥。
  • 5)使用对方公钥加密以实现机密性
  • 6)使用自己的私钥进行签名以实现身份验证
  • 7)特点:安全但是速度慢。
  • 8)常见算法:RSA、DH。

(3)完整性算法/hash值算法:MD5、SHA。

(4)详细请参考《PKI公钥基础设施及部署HTTPS服务器》

2 虚拟专网(VPN)概述

(1)VPN:Virtual Private Network,虚拟专有网络,简称虚拟专网。
(2)作用:VPN可以实现在不安全的网络上,安全地传输数据,就好像专线网络一样。
(3)专线网络的优点:稳定、可靠、安全。VPN仅能实现”安全“这一优点。
(4)VPN只是一个技术,使用PKI技术来保证数据的安全三要素(机密性、完整性、身份验证及操作的不可否认性)。
(5)条件:要求路由器支持VPN。企业级路由器及防火墙一般支持VPN。

tips:
1)实现安全连接有两种方法:①拉专线,配专网;②连接互联网,但采用虚拟专网。当总部与分部之间需要满足稳定、可靠和安全传输数据时(如需要流量大、延迟低的视频业务),可拉专线,但是费钱;当只需要满足安全需求时,可以使用VPN,既省钱又满足需求。
2)手机、电脑等都需支持VPN。

3 虚拟专网(VPN)分类

VPN分为远程访问VPN点到点VPN

3.1 远程访问VPN

(1) 远程访问VPN:Remote Access VPN
(2)适用性:一般用于个人安全连接到企业内部。
(3)使用情况:一般出差员工/在家办公,安全连接内网时使用。
(4)一般需要公司部署VPN服务器,员工在外拨号连接VPN即可
(5)常见RA-VPN协议:PPTPVPN、L2TP VPN、SSTP VPN、EZVPN/easyVPN(思科私有)、SSL VPN(最常用)。

tips:
访问国外网站用的最多的是PPTPVPN和L2TP VPN。

3.2 点到点VPN

(1)适用性:一般用在企业企业的安全连接。
(2)一般需要在两个企业总出口设备之间建立VPN通道。出口设备可以为路由器或防火墙。
(3)常见的点到点VPN协议:IPsecVPN。

4 IPsecVPN技术

4.1 IPsecVPN概述

(1)定义:指采用IPSec协议来实现远程接入的一种VPN技术,IPSec全称为Internet Protocol Security,在公网上为两个私有网络提供安全通信通道,通过加密通道保证连接的安全——在两个公共网关间提供私密数据封包服务。可以使两家企业之间安全通信。

(2)IPsecVPN优点

  • 1)安全性。
  • 2)合并两家企业内网。

(3)IPsecVPN技术重新封装技术+加密认证技术。

  • 1)传输模式只加密上层数据(4层+5层),不加密私有IP包头与公有IP包头。速度相对快。
  • 2)隧道模式(默认、常用):加密整个私有IP包,包括IP包头,不加密公有IP包头。相对安全,速度相对慢。
  • 3)需要两家公司都购买静态公有IP地址。如果只有一家是静态,则只能由动态公有IP地址所在端主动向静态公有IP地址所在端发起通信。

4.2 IPsecVPN传输模式加密形式

(1)两家企业或公司在两地的分部网络连接如下图所示,两分部在各自总路由出口端接口均设置IPsecVPN。假设A的IP为192.168.1.1,B的IP为172.16.1.1,两分部的总路由出口公网IP分别为100.1.1.1和200.1.1.1,当A向B发送发送数据时。
在这里插入图片描述

(2)主机A向主机B发送数据,经内部层层封装后,数据帧结构如下图所示。其中源IP地址是主机A的IP地址192.168.1.1,目标IP地址是主机B的IP地址172.16.1.1。
在这里插入图片描述

(3)数据帧传到路由器,路由器识别到MAC地址是本身后对数据帧解封装并送入路由器内部,路由器根据路由表将数据路由至出口端,IPsecVPN对数据进行处理并封装。①先对四层和五层数据利用PKI技术进行加密;②在数据段前后加上标签,表示加密开始和结束;③将源IP地址(192.168.1.1)和目标IP地址(172.16.1.1)放到可选项中隐藏起来,将IP包头中的源IP和目标IP更换成两家公司总路由的公网IP(100.1.1.1和200.1.1.1)
在这里插入图片描述
(4)当数据帧经过互联网传达到另一家分部的总路由器时,该路由器判断数据是否是发给自己,是则对数据帧解封装,并利用IPsecVPN技术开始对数据帧重新封装和进行解密验证(重新封装和进行解密验证过程为:①识别IP包头,将两家公司的公网IP包头替换为可选项中的私有IP包头;②将数据进行解密并验证数据的安全性,如没问题则封装并路由。),再路由给主机B所在接口。
在这里插入图片描述

(5)数据帧安全送达主机B,实现两个私有地址之间直接通信。主机B对A进行回包,则是将IP对换位置,其余过程一致。
(6)注意上述过程每次封装后,MAC帧头与帧尾都会发送变化。这种模式由于私有IP包头没有加密,黑客可以篡改私有IP包头(如TTL和段偏移量),因此仍不是很安全。

4.3 IPsecVPN隧道模式加密形式

(1)当以上例子中主机A向B发送数据时,数据帧到达A公司路由器出口端时,路由器对数据帧解封装后路由至出接口后,应用IPsecVPN技术进行加密和重新封装。加密和重新封装过程如下:①对整个IP包进行加密;②封装上VPN头与尾。
在这里插入图片描述

(2)数据帧经过互联网传达到另一分部路由器时,该路由器对数据帧解封装,该路由器判断数据是否是发给自己,是则对数据帧解封装,并利用IPsecVPN技术开始对数据帧解封装和进行解密验证。解密与封装过程为:①去掉VPN头与尾;②解密验证数据的安全性;③按原来的IP包头封装并路由到主机B对应的接口上。
在这里插入图片描述

4.4 路由器工作顺序

内网—to—外网:路由–NAT–VPN–出去。
当路由器上已配置了NAT与VPN时,路由器对数据帧逐个匹配,先匹配NAT、再匹配VPN最后发出去。当某数据帧要走VPN时,到达路由器出接口时,先匹配NAT,那么当条件匹配时路由器会将源IP地址转换成公网IP,再送去匹配VPN,此时VPN可能就匹配不上了。因此部署NAT时需要考虑VPN的网段需求,在NAT的匹配表中加上一条Deny,即NAT豁免技术

5 IPsecVPN配置步骤详解—以思科为例

由于大部分时间是在传输数据,在数据传输阶段可以采用对称算法进行加密(速度快),但为了使对称加密算法秘钥不容易泄露,可以在数据传输前先利用非对称加密算法让双方协商对称加密算法的秘钥,毕竟对称加密算法的安全性没有非对称加密算法的高,因此可以每隔一段时间通过协商更换一次秘钥。

5.1 第一阶段:管理连接

(1)目的:利用非对称加密算法加密对称加密算法所使用的对称秘钥以达到安全地协商对称加密算法秘钥的目的。(安全的得到对称加密算法密钥)
(2)命令:配置在路由器外网接口处。

en
conf t
  crypto isakmp policy 策略表号(1)		#进入传输及策略配置模式,配置策略集1号。isakmp(IKE,网络密钥交换协议)
  encryption des/3des/aes		#指定对称加密算法,常用aes
  hash md5/sha                  #指定哈希算法
  group 1/2/5					#指定非对称加密算法,默认采用DH算法,1 2 5指定公私钥长度。
  authentication pre-share	    #指定身份验证算法,使用“预共享密钥”算法验证身份,预共享密钥需要在两家公司的设备上配置,不能泄露。
  lifetime 秒					#指定秘钥更新周期。可以不配,默认是86400秒即一天。两家公司设备宜设置一致,如不一致以间隔时间短的为准。
  exit
crypto isakmp key 预共享密钥 addresss 对方的公网IP地址

(3)当总部与分部需要建立VPN通信时,总部可能一般不止一个表。总部路由器发送给分部路由器所有表,分部路由器将这些表与自己的表相匹配,有一致的,才能协商出对称密钥。
(4)当两公司需要建立IPsecvpn时,两公司的路由器上都需要配置这些命令,除了以下三个外:①表号;②秘钥更新间隔时间建议一致,有些设备要求一定要一致。③公网IP写对方的。其他都必须一致。

5.2 第二阶段:数据连接

(1)目的:利用上一阶段产生的对称加密算法秘钥,采用对称加密算法加密实际所要传输的私网数据。
(2)命令

en
conf t
# 定义VPN触发条件,用于限定哪些流量走VPN。
access-list 100 permit ip 192.168.0.0 0.0.255.255 172.16.0.0 0.0.255.255		#ACL表用于匹配,表示当源IP为192.168开头,目标IP为172.16开头的数据帧走VPN。

# 定义加密及认证方式,通信双方需要完全一致。
crypto ipsec transform-set 传输模式名 esp-des/3des/aes esp/ah-md5/sha-hmac
# esp-des/3des/aes定义了加密方式,esp/ah-md5/sha-hmac定义了身份验证及完整性验证。
# des/3des/aes,三选一。阶段一无论用哪个算法产生的秘钥,三个都可用。
# esp/ah,二选一。
# md5/sha二选一。
# md5/sha-hmac:表示将阶段一中的预共享密钥作为哈希算法的部分内容,一起算hash值。可验证身份。
# 传输模式名表示自定义名,建议英文名,当调用该模式时就是调用后面的加密认证方式。
# 例子
conf t
crypto ipsec transform-set zztran esp-aes esp-sha-hmac

(3)ESP:支持加密及身份认证(身份验证+完整性)
(4)AH:只支持认证(身份验证+完整性),AH的认证强度比ESP强。

5.3 创建MAP映射表并应用到外网接口上

(1)目的:阶段一创建了传输集,阶段二定义了ACL表与加密验证模式,将阶段一和阶段二的内容统一放到MAP映射表中,然后应用到路由器外网接口上。
(2)命令

'''创建并定义map映射表'''
en
conf t
crypto map map名 表号(如1) ipsec-isakmp  #创建map映射表,定义表命及表号,并进入MAP表配置模式。isakmp表示应用阶段一配置的所有策略集。
set peer 对方公网IP1             #指定需要与谁建立VPN隧道,peer是“对端”
match address 100				#指定匹配的ACL表,应用阶段二的ACL表,表号是100的那个。
set stansform-set 传输模式名		#指定应用的IPsec传输模式,此处的传输模式名为阶段二定义的那个。
exit

crypto map map组名 2 ipsec-isakmp	#在这个一个map表组里,可以有多个表号。以支持同时对多个公司开通VPN。
set peer 对方公网IP2            #指定需要与谁建立VPN隧道
match address 150				#不同map表号的ACL表规则应该相互独立,不然数据帧将不知听谁指挥。
set stansform-set 传输模式名
exit

'''将map映射表应用到外网接口上'''
int f0/1						#假设f0/1就是接外网的接口
crypto map map组名				#应用该map表。
exit

(3)注意一个接口只能应用一个map组名,用不同map表号来同时与多个公司建立VPN。
(4)对以上各阶段表号的理解:

  • 1)一个接口上仅能应用一个map组名,一个map组可以对应多个map表号,一个map表号就是一张完整的map表,不同map表的用于与不同分部间建立VPN。
  • 2)数据帧传输至路由器外网接口后,应用该map组名,在该map组中众多map表中匹配属于自己的那一个。
  • 3)该表中属于阶段一的策略集含有多个策略,公司双方需要在阶段一明确该策略,在阶段二利用阶段一生成的秘钥进行通信。

5.4 查看相关命令

en
show crypto isakmp sa      #查看阶段一(与对方的密钥交换)状态
show crypto ipsec sa       #查看阶段二的状态
show crypto isakmp policy  #查看第一阶段策略配置集
show crypto ipsec transform-set  #查看第二阶段的传输模式

6 归纳总结

(1)了解加密技术的种类(对称加密算法和非对称加密算法)及这两种加密算法的常用算法;
(2)了解VPN技术的作用及分类(分为远程访问VPN及点到点VPN);
(3)理解掌握两种IPsecVPN模式(IPsecVPN传输模式及IPsecVPN隧道模式)的工作原理;
(4)理解并掌握IPsecVPN的配置步骤,理解各步骤之间是如何起作用的;
(5)理解map表组、map表号、ACL表号、策略集之间的关系;

参考文章

[1] 《虚拟专有网络原理及配置命令》
[2] 视频传送门

  • 10
    点赞
  • 72
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值