IPSec VPN的原理与配置

目录

IPSec 是什么:

IPSec VPN 的应用场景:

IPSec架构:

安全联盟SA

IPSec传输模式

IPSec隧道模式

IPSec VPN的配置步骤(案例)

步骤:

项目需求:

案例TOPO图如下:

第一步:需要检查报文发送方和接收方之间的网络层可达性,确保双方只有建立IPSecVPN隧道才能进行IPSec通信。

第二步是定义数据流。

第三步是配置IPSec安全提议。

第四步是配置IPSec安全策略。

第五步是在一个接口上应用IPSec安全策略。

配置验证:


IPSec 是什么

IPSec(InternetProtocolSecurity)作为一种开放标准的安全框架结构,可以用来保证IP数据报文在网络上传输的机密性、完整性和防重放。企业对网络安全性的需求日益提升,而传统的TCP/IP协议缺乏有效的安全认证和保密机制。

IPSec VPN 的应用场景:

1、企业分支可以通过IPSecVPN接入到企业总部网络。
2、IPSec是IETF定义的一个协议组。通信双方在IP层通过加密、完整性校验、数据源认证等方式,保证了IP数据报文在网络上传输的机密性、完整性和防重放。
(1)机密性(Confidentiality)指对数据进行加密保护,用密文的形式传送数据。
(2)完整性(Dataintegrity)指对接收的数据进行认证,以判定报文是否被篡改。
(3)防重放(Anti-replay)指防止恶意用户通过重复发送捕获到的数据包所进行的攻击,即接收方会拒绝旧的或重复的数据包。
3、企业远程分支机构可以通过使用IPSecVPN建立安全传输通道,接入到企业总部网络。

IPSec架构:

1、IPSec不是一个单独的协议,它通过AH和ESP这两个安全协议来实现IP数据报文的安全传送。
IKE协议提供密钥协商,建立和维护安全联盟SA等服务。
2、IPSecVPN体系结构主要由AH(AuthenticationHeader)、ESPEncapsulatingSecurityPayload)和IKE(InternetKeyExchange)协议套件组成。
(1)AH协议:主要提供的功能有数据源验证、数据完整性校验和防报文重放功能。然而,AH并不加密所保护的数据报。
(2)ESP协议:提供AH协议的所有功能外(但其数据完整性校验不包括IP头),还可提供对IP报文的加密功能。
(3)IKE协议:用于自动协商AH和ESP所使用的密码算法。

安全联盟SA

1、安全联盟定义了IPSec对等体间将使用的数据封装模式、认证和加密算法、密钥等参数。
2、安全联盟是单向的,两个对等体之间的双向通信,至少需要两个SA。
3、SA(SecurityAssociation)安全联盟定义了IPSec通信对等体间将使用的数据封装模式、认证和加密算法、秘钥等参数。SA是单向的,两个对等体之间的双向通信,至少需要两个SA。如果两个对等体希望同时使用AH和ESP安全协议来进行通信,则对等体针对每一种安全协议都需要协商一对SA。
4、SA由一个三元组来唯一标识,这个三元组包括安全参数索引SPL(SecurityParameterIndex)、目的IP地址、安全协议(AH或ESP)。
5、建立SA的方式有以下两种:
(1)手工方式:安全联盟所需的全部信息都必须手工配置。手工方式建立安全联盟比较复杂,但优点是可以不依赖IKE而单独实现IPSec功能。当对等体设备数量较少时,或是在小型静态环境中,手工配置SA是可行的。
(2)IKE动态协商方式:只需要通信对等体间配置好IKE协商参数,由IKE自动协商来创建和维护SA。动态协商方式建立安全联盟相对简单些。对于中、大型的动态网络环境中,推荐使用IKE协商建立SA。

IPSec传输模式

1、在传输模式下,AH或ESP报头位于IP报头和传输层报头之间。
2、IPSec协议有两种封装模式:传输模式和隧道模式。
3、传输模式中,在IP报文头和高层协议之间插入AH或ESP头。传输模式中的AH或ESP主要对上层协议数据提供保护。
4、传输模式中的AH:在IP头部之后插入AH头,对整个IP数据包进行完整性校验。
5、传输模式中的ESP:在IP头部之后插入ESP头,在数据字段后插入尾部以及认证字段。对高层数据和ESP尾部进行加密,对IP数据包中的ESP报文头,高层数据和ESP尾部进行完整性校验。
6、传输模式中的AH+ESP:在IP头部之后插入AH和ESP头,在数据字段后插入尾部以及认证字段。

IPSec隧道模式

1、在隧道模式下,IPSec会另外生成一个新的IP报头,并封装在AH或ESP之前。
2、隧道模式中,AH或ESP头封装在原始IP报文头之前,并另外生成一个新的IP头封装到AH或ESP之前。隧道模式可以完全地对原始IP数据报进行认证和加密,而且,可以使用IPSec对等体的IP地址来隐藏客户机的IP地址。
3、隧道模式中的AH:对整个原始IP报文提供完整性检查和认证,认证功能优于ESP。但AH不提供加密功能,所以通常和ESP联合使用。
4、隧道模式中的ESP:对整个原始IP报文和ESP尾部进行加密,对ESP报文头、原始IP报文和ESP尾部进行完整性校验。
5、隧道模式中的AH+ESP:对整个原始IP报文和ESP尾部进行加密,AH、ESP分别会对不同部分进行完整性校验。

IPSec VPN的配置步骤(案例)

步骤:

配置网络可达——配置ACL识别兴趣流——创建安全提议——创建安全策略——应用安全策略

项目需求:

      本项目的IPSec VPN连接是通过配置静态路由建立的,下一跳指向RTB。需要配
置两个方向的静态路由确保双向通信可达。建立一条高级ACL,用于确定哪些感兴
趣流需要通过IPSecVPN隧道。高级ACL能够依据特定参数过滤流量,继而对流量
执行丢弃、通过或保护操作。

案例TOPO图如下:

IPSec VPN的原理与配置_第1张图片

基础配置:

IP配置信息:

PC1:Ethernet 0/0/1 10.1.1.1/24
PC2:Ethernet 0/0/1 10.1.2.1/24
RTA:GE0/0/0 10.1.1.2/24
RTA:GE0/0/1 20.1.1.1/24
RTB:GE0/0/0 10.1.2.2/24
RTB:GE0/0/1 20.1.1.2/24

第一步:需要检查报文发送方和接收方之间的网络层可达性,确保双方只有建立IPSec
VPN隧道才能进行IPSec通信。

配置静态路由,实现网络可达(ip route-static 【目标地址】【子网掩码】【下一跳地址】)

[RTA]ip route-static 10.1.2.0 24 20.1.1.2

[RTB]ip route-static 10.1.1.0 24 20.1.1.1

验证网络是否可达

IPSec VPN的原理与配置_第2张图片验证结果:网络通信可达

第二步是定义数据流。

因为部分流量无需满足完整性和机密性要求,所以需要对
流量进行过滤,选择出需要进行IPSec处理的兴趣流。可以通过配置ACL来定义和
区分不同的数据流。

配置ACL识别兴趣流

[RTA]acl 3001 
[RTA-acl-adv-3001]rule permit ip source 10.1.1.0 0.0.0.255 destination 10.1.2.0 0.0.0.255

[RTB]acl 3001 (系统视图命令,高级ACL的编号为3000~3999)

[RTB-acl-adv-3001]rule permit ip source 10.1.2.0 0.0.0.255 destination 10.1.1.0 0.0.0.255

rule(rule-id)指定ACL规则编号。不指定ID,系统自动生成ID为5,并按5的倍数自动生成序号;

permit 允许匹配数据包    source来源   destination目的地

第三步是配置IPSec安全提议。

IPSec提议定义了保护数据流所用的安全协议、认证算法、加密算法和封装模式。安全协议包括AH和ESP,两者可以单独使用或一起使用。AH支持MD5和SHA-1认证算法;ESP支持两种认证算法(MD5和SHA-1)和三种加密算法(DES、3DES和AES)。为了能够正常传输数据流,安全隧道两端的对等体必须使用相同的安全协议、认证算法、加密算法和装模式。如果要在两个安全网关之间建立IPSec隧道,建议将IPSec封装模式设置为隧道模式,以便隐藏通信使用的实际源IP地址和目的IP地址。

1、创建安全提议

[RTA]ipsec proposal tran1

[RTA-ipsec-proposal-tran1]esp authentication-algorithm sha1

[RTB]ipsec proposal tran1

[RTB-ipsec-proposal-tran1]esp authentication-algorithm sha1

ipsec proposal命令,可以创建IPSec提议并进入IPSec提议视图。

esp authentication-algorithm[md5|sha1|sha2-256|sha2-384|sha2-512]命令,可以配置ESP协议使用的认证算法。

2、创建安全策略

[RTA]ipsec policy p1 10 manual 

[RTA-ipsec-policy-manual-p1-10]security acl 3001

[RTA-ipsec-policy-manual-p1-10]proposal tran1

[RTA-ipsec-policy-manual-p1-10]tunnel local 20.1.1.1

[RTA-ipsec-policy-manual-p1-10]tunnel remote 20.1.1.2

[RTB]ipsec policy p1 10 manual 

[RTB-ipsec-policy-manual-p1-10]security acl 3001

[RTB-ipsec-policy-manual-p1-10]proposal tran1

[RTB-ipsec-policy-manual-p1-10]tunnel local 20.1.1.2

[RTB-ipsec-policy-manual-p1-10]tunnel remote 20.1.1.1

proposal proposal-name命令用来指定IPSec策略所引用的提议。

security安全    proposal提议

tunnel local {ip-address|binding-interface}命令用来配置安全隧道的本端地址。

tunnel remote ip-address命令用来设置安全隧道的对端地址。

第四步是配置IPSec安全策略。

IPSec策略中会应用IPSec提议中定义的安全协议、
认证算法、加密算法和封装模式。每一个IPSec安全策略都使用唯一的名称和序号
来标识。IPSec策略可分成两类:手工建立SA的策略和IKE协商建立SA的策略。

[RTA-ipsec-policy-manual-p1-10]sa spi outbound esp 54321

[RTA-ipsec-policy-manual-p1-10]sa spi inbound esp 12345

[RTA-ipsec-policy-manual-p1-10]sa string-key outbound esp simple huawei

[RTA-ipsec-policy-manual-p1-10]sa string-key  inbound esp simple  huawei

[RTB-ipsec-policy-manual-p1-10]sa spi outbound esp 12345

[RTB-ipsec-policy-manual-p1-10]sa spi inbound esp 54321

[RTB-ipsec-policy-manual-p1-10]sa string-key outbound esp simple huawei

[RTB-ipsec-policy-manual-p1-10]sa string-key inbound esp simple huawei

sa spi {inbound|outbound}{ah|esp}spi-number命令用来设置安全联盟的安全参数索引SPI。在配置安全联盟时,入方向和出方向安全联盟的安全参数索引都必须设置,并且本端的入方向安全联盟的SPI值必须和对端的出方向安全联盟的SPI值相同,而本端的出方向安全联盟的SPI值必须和对端的入方向安全联盟的SPI值相同。

sa string-key {inbound|outbound}{ah|esp}{simple|cipher}string-key命令用来设置安全联盟的认证密钥。入方向和出方向安全联盟的认证密钥都必须设置,并且本端的入方向安全联盟的密钥必须和对端的出方向安全联盟的密钥相同;同时,本端的出方向安全联盟密钥必须和对端的入方向安全联盟的密钥相同。

第五步是在一个接口上应用IPSec安全策略。

[RTA]int g0/0/1

[RTA-GigabitEthernet0/0/1]ipsec policy p1

[RTB]int g0/0/1

[RTB-GigabitEthernet0/0/1]ipsec policy p1


ipsec policy (policy-name)命令用来在接口上应用指定的安全策略组。手工方式配置的安全策略只能应用到一个接口。

配置验证:

查看IPSec提议中的配置参数

IPSec VPN的原理与配置_第3张图片

 查看指定IPSec策略摘要

IPSec VPN的原理与配置_第4张图片

 查看指定IPSec策略详细信息

IPSec VPN的原理与配置_第5张图片

 IPSec VPN的原理与配置_第6张图片

 抓包验证:(在RTA抓包GE0/0/1端口)

在PC1上  ping 10.1.2.1,20.1.1.1 20.1.1.2是ESP加密的

IPSec VPN的原理与配置_第7张图片

 对比未加密状态

IPSec VPN的原理与配置_第8张图片

希望大家通过看这篇文章学到一些关于网络规划的内容

你可能感兴趣的:(网络,运维)