晚上好,我的网工朋友。

今天点开的人都是学习的真爱粉哈哈哈,玩得开心了,晚上回来抽空学习学习,稳赚不赔啊。

在网工这行久了,应该都听过 IPSec 吧,算是比较复杂的协议之一了。

你可能知道,IPSec可以实现某些需求,保护数据的安全,但不知道IPSec具体是怎么工作的。

今天就给你系统梳理一下,从概念到封装模式,再到实验案例,学起来啊。


今日文章阅读福利:《 IPSec:新一代因特网安全标准.pdf 》

IPSec VPN技术原理:你一定要知道的几个真相_网络工程师

IPSec相关的经典好书,给你找来了完整的pdf书籍,可以转存下。私信我,备注“IPSec”,即可限时领取该资源。


01 IPSec概念

IPSec(Internet Protocol Security)是IETF定义的一个协议组。

通信双方在IP层通过加密、完整性校验、数据源认证等方式,保证了IP数据报文在网络上传输的机密性、完整性和防重放。

  • 机密性:对数据进行加密保护,用密文的形式传送数据
  • 完整性:指对接收的数据进行认证,以判定报文是否被篡改
  • 防重放:防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。
  • 应用场景:企业分支通过IPSec隧道接入企业总部

IPSec VPN技术原理:你一定要知道的几个真相_华为认证_02


02 IPSec VPN应用场景及协议


01 IPSec VPN的应用场景分为3种

IPSec VPN技术原理:你一定要知道的几个真相_IP_03


1. Site-to-Site(站点到站点或者网关到网关):

如弯曲评论的3个机构分布在互联网的3个不同的地方,各使用一个商务领航网关相互建立VPN隧道,企业内网(若干PC)之间的数据通过这些网关建立的IPSec隧道实现安全互联。


2. End-to-End(端到端或者PC到PC):

两个PC之间的通信由两个PC之间的IPSec会话保护,而不是网关。


3. End-to-Site(端到站点或者PC到网关):

两个PC之间的通信由网关和异地PC之间的IPSec进行保护。


02 IPSec 协议

VPN只是IPSec的一种应用方式,IPSec其实是IP Security的简称,它的目的是为IP提供高安全性特性,VPN则是在实现这种安全特性的方式下产生的解决方案。

IPSec是一个框架性架构,具体由下面协议组成:

IPSec VPN技术原理:你一定要知道的几个真相_VPN_04

IPSec VPN体系结构主要由下面这些协议套件组成:

AH(Authentication Header)

ESP(Encapsulating Security Payload)

IKE(Internet Key Exchange)

  • AH协议(使用较少):提供的功能有数据源验证、数据完整性校验和防报文重放功能。
  • ESP协议(使用较广):提供AH协议的所有功能外(ESP的数据完整性校验不包括IP头),还提供对IP报文的加密功能
  • IKE协议:自动协商AH和ESP所使用的密码算法

为何AH使用较少呢?

因为AH无法提供数据加密,所有数据在传输时以明文传输,而ESP提供数据加密;

其次AH因为提供数据来源确认(源IP地址一旦改变,AH校验失败),所以无法穿越NAT。

当然,IPSec在极端的情况下可以同时使用AH和ESP实现最完整的安全特性,但是此种方案极其少见。


03 安全联盟SA

SA(Security Association)安全联盟定义了IPSec通信对等体间将使用的数据封装模式、认证和加密算法、秘钥等参数。

说说建立SA的两种方式:手工和IKE动态协商。


1. 手工方式

安全联盟所需的全部信息都必须手工配置。优点不依赖IKE而单独实现IPSec功能。

在小型静态环境中,可手工配置SA。


2. IKE动态协商方式

通信对等体间配置好IKE协商参数,由IKE自动协商来创建和维护SA。

中、大型的动态网络环境中,推荐使用IKE协商建立SA。


04 IPSec协议的封装模式

介绍完IPSec VPN的场景和IPSec协议组成,再来看一下IPSec提供的两种封装模式(传输Transport模式和隧道Tunnel模式)。


01 IPsec传输模式

在IP报文头和高层协议之间插入AH或ESP头。

传输模式中的AH或ESP主要对上层协议数据提供保护。


1.传输模式中的AH:

在IP头部之后插入AH头,对整个IP数据包进行完整性校验

IPSec VPN技术原理:你一定要知道的几个真相_数据_05


2. 传输模式中的ESP:

在IP头部之后插入ESP头,在数据字段后插入尾部以及认证字段。

对高层数据和ESP尾部进行加密,对IP数据包中的ESP报文头,高层数据和ESP尾部进行完整性校验

IPSec VPN技术原理:你一定要知道的几个真相_华为认证_06

3. 传输模式中的AH+ESP:

在IP头部之后插入AH和ESP头,在数据字段后插入尾部以及认证字段

IPSec VPN技术原理:你一定要知道的几个真相_VPN_07


02 IPSec隧道模式

AH或ESP头封装在原始IP报文头之前,并另外生成一个新的IP头封装到AH或ESP之前。

隧道模式可以完全地对原始IP数据报进行认证和加密,而且可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。


1. 隧道模式中的AH:

对整个原始IP报文提供完整性检查和认证,认证功能优于ESP

IPSec VPN技术原理:你一定要知道的几个真相_数据_08


2. 隧道模式中的ESP:

对整个原始IP报文和ESP尾部进行加密,对ESP报文头、原始IP报文和ESP尾部进行完整性校验

IPSec VPN技术原理:你一定要知道的几个真相_IP_09

3. 隧道模式中的AH+ESP:

对整个原始IP报文和ESP尾部进行加密,AH、ESP分别会对不同部分进行完整性校验

IPSec VPN技术原理:你一定要知道的几个真相_网络工程师_10


05 IPSec VPN配置步骤及实验


01 IPSec VPN配置步骤

(1) 配置网络可达

(2) 配置ACL感兴趣流

(3) 创建安全提议

(4) 创建安全策略

(5) 应用安全策略


02 IPSec VPN实验案例

IPSec VPN技术原理:你一定要知道的几个真相_华为认证_11

(1) 配置网络可达

[AR1]int g0/0/1
[AR1-GigabitEthernet0/0/1]ip add 10.1.1.254 24
[AR1]int g0/0/0
[AR1-GigabitEthernet0/0/0]ip add 12.1.1.1 24
[AR2]int g0/0/0
[AR2-GigabitEthernet0/0/0]ip add 12.1.1.2 24
[AR2]int g0/0/1
[AR2-GigabitEthernet0/0/1]ip add 23.1.1.2 24
[AR3]int g0/0/0
[AR3-GigabitEthernet0/0/0]ip add 23.1.1.3 24
[AR3]int g0/0/1
[AR3-GigabitEthernet0/0/1]ip add 10.2.1.254 24
[AR1]ospf 1
[AR1-ospf-1]area 0
[AR1-ospf-1-area-0.0.0.0]network 12.1.1.1 0.0.0.0
[AR2]ospf 1
[AR2-ospf-1]area 0
[AR2-ospf-1-area-0.0.0.0]network 23.1.1.2 0.0.0.0
[AR2-ospf-1-area-0.0.0.0]network 12.1.1.2 0.0.0.0
[AR3]ospf 1

[AR3-ospf-1]area 0
[AR3-ospf-1-area-0.0.0.0]network 23.1.1.3 0.0.0.0
[AR3]ip route-static 10.1.1.0 255.255.255.0 12.1.1.1


(2) 配置ACL感兴趣流

[AR1]acl number 3000
[AR1-acl-adv-3000]rule 5 permit ip source 10.1.1.0 0.0.0.255 destination 10.2.1.0 0.0.0.255
[AR3]acl number 3000
[AR3-acl-adv-3000]rule 5 permit ip source 10.2.1.0 0.0.0.255 destination 10.1.1.0 0.0.0.255


(3) 创建安全提议

[AR1]ipsec proposal 1
[AR3]ipsec proposal 1


(4) 创建安全策略

[AR1]ipsec policy shida 1 manual
[AR1-ipsec-policy-manual-shida-1]security acl 3000
[AR1-ipsec-policy-manual-shida-1]proposal 1
[AR1-ipsec-policy-manual-shida-1]tunnel local 12.1.1.1
[AR1-ipsec-policy-manual-shida-1]tunnel remote 23.1.1.3
[AR1-ipsec-policy-manual-shida-1]sa spi inbound esp 12345
[AR1-ipsec-policy-manual-shida-1]sa string-key inbound esp simple 123
[AR1-ipsec-policy-manual-shida-1]sa spi outbound esp 54321
[AR1-ipsec-policy-manual-shida-1]sa string-key outbound esp simple 123

[AR3]ipsec policy shida 1 manual
[AR3-ipsec-policy-manual-shida-1]security acl 3000
[AR3-ipsec-policy-manual-shida-1]proposal 1
[AR3-ipsec-policy-manual-shida-1]tunnel local 23.1.1.3
[AR3-ipsec-policy-manual-shida-1]tunnel remote 12.1.1.1
[AR3-ipsec-policy-manual-shida-1]sa spi inbound esp 54321
[AR3-ipsec-policy-manual-shida-1]sa string-key inbound esp simple 123
[AR3-ipsec-policy-manual-shida-1]sa spi outbound esp 12345
[AR3-ipsec-policy-manual-shida-1]sa string-key outbound esp simple 123

(5) 应用安全策略

[AR1]int g0/0/0

[AR1-GigabitEthernet0/0/0]ipsec policy shida

[AR3]int g0/0/0

[AR3-GigabitEthernet0/0/0]ipsec policy shida


整理:老杨丨10年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部