IPSEC VPN配置介绍

  一:简介

  IPSec(IP Security)是IETF 制定的IP安全协议,它为特定的通信方之间在IP 层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。IPSec 通过AH和ESP这两个安全协议来实现上述目标。并且还可以通过IKE为IPSec 提供了自动协商交换密钥、建立和维护安全联盟的服务,以简化IPSec 的使用和管理。

  � AH(Authentication Header)是报文头验证协议,主要提供的功能有数据源验证、数据完整性校验和防报文重放功能;然而,AH 并不加密所保护的数据报。

  � ESP(Encapsulating Security Payload)是封装安全载荷协议,它除提供AH协议的所有功能之外(数据完整性校验不包括IP 头),还可提供对IP 报文的加密功能。

  � IKE(Internet Key Exchange) 用于协商AH 和ESP 所使用的密码算法,并将算法所需的必备密钥放到恰当位置。

  下面是IPSec的几个概念:

  1. 安全联盟

  IPSec 在两个端点之间提供安全通信,通过SA(Security Association,安全联盟),IPSec 能够对不同的数据流提供不同级别的安全保护。安全联盟由一个三元组来唯一标识,这个三元组包括SPI(Security ParameterIndex,安全参数索引)、目的IP 地址、安全协议号(AH 或ESP)。SPI 是为唯一标识SA 而生成的一个32 比特的数值,它在AH 和ESP 头中传输。安全联盟具有生存周期。生存周期的计算包括两种方式:

  � 以时间为限制,每隔指定长度的时间就进行更新;

  � 以流量为限制,每传输指定的数据量(字节)就进行更新。

  2. IPSec 协议的操作模式

  IPSec 协议有两种操作模式:传输模式和隧道模式。

  在传输模式下,AH 或ESP 被插入到IP 头之后但在所有传输层协议之前,或所有其

  他IPSec 协议之前。

  在隧道模式下,AH 或ESP 插在原始IP 头之前,另外生成一个新头放到AH 或ESP 之前。不同安全协议在传输模式和隧道模式下的数据封装形式从安全性来讲,隧道模式优于传输模式。

  3. 验证算法与加密算法

  (1) 验证算法

  AH 和ESP 都能够对IP 报文的完整性进行验证,以判别报文在传输过程中是否被篡

  改。一般来说IPSec 使用两种验证算法: MD5、 SHA-1。

  (2) 加密算法

  ESP 能够对IP 报文内容进行加密保护,防止报文内容在传输过程中被窥探。VRP 中

  IPSec 实现三种加密算法:DES、 3DES、AES

  4. 协商方式

  有两种协商方式建立安全联盟,一种是手工方式(manual),一种是IKE 自动协商

  (isakmp)方式。后者则相对比较简单,只需要配置好IKE 协商安全策略的信息,由IKE 自动协商来创建和维护安全联盟。

  二:配置步骤

  下面用以下拓扑结构为例讲解一下IPSec的配置步骤:要求Host A与Host B之间通信的数据有IPSec保护。

  

图片4.png

1.第一步:对Router A和Router B做基本配置并定义需保护的数据流。


  Router A:

  system-view

  [Quidway]sysname RouterA

  [RouterA] interface Ethernet0/0

  [RouterA-Ethernet0/0]ip address 2.2.2.1 255.255.255.0

  [RouterA-Ethernet0/0]interface serial 0/0

  [RouterA-serial 0/0]ip address 1.1.1.1 255.255.255.0

  [RouterA-serial 0/0]quit

  [RouterA] ip route-static 3.3.3.0 255.255.255.0 1.1.1.2

  [RouterA]acl number 3101

  [RouterA -acl-adv-3101] rule permit ip source 2.2.2.0 0.0.0.255 destination

  3.3.3.0 0.0.0.255

  [RouterA -acl-adv-3101] rule deny ip source any destination an

  [RouterA -acl-adv-3101]quit

  Router B:

  system-view

  [Quidway]sysname RouterB

  [RouterB] interface Ethernet0/0

  [RouterB-Ethernet0/0]ip address 3.3.3.1 255.255.255.0

  [RouterB-Ethernet0/0]interface serial 0/0

  [RouterB-serial 0/0]ip address 1.1.1.2 255.255.255.0

  [RouterB-serial 0/0]quit

  [RouterB] ip route-static 2.2.2.0 255.255.255.0 1.1.1.1

  [RouterA]acl number 3101

  [RouterA -acl-adv-3101] rule permit ip source 3.3.3.0 0.0.0.255 destination

  2.2.2.0 0.0.0.255

  [RouterA -acl-adv-3101] rule deny ip source any destination an

  [RouterA -acl-adv-3101]quit

  在定义数据流的时候大家一定要将两边的ACL配置互为镜像

  2、第二步:创建安全提议

  Router A:

  [Router A] ipsec proposal hello

  [Router A-ipsec-proposal-hello] encapsulation-mode tunnel

  [Router A-ipsec-proposal-hello] transform esp

  [Router A -ipsec-proposal-hello] esp encryption-algorithm des

  [Router A-ipsec-proposal-hello] esp authentication-algorithm sha1

  [Router A-ipsec-proposal-hello] quit

  Router B:

  [Router B] ipsec proposal hello

  [Router B-ipsec-proposal-hello] encapsulation-mode tunnel

  [Router B-ipsec-proposal-hello] transform esp

  [Router B -ipsec-proposal-hello] esp encryption-algorithm des

  [Router B-ipsec-proposal-hello] esp authentication-algorithm sha1

  [Router B-ipsec-proposal-hello] quit

  注意此部分配置两边必须一致

  3、第三步:配置IKE对等体

  Router A:

  [Router A] ike peer peer

  [Router A-ike-peer-peer] pre-shared-key h3c

  [Router A-ike-peer-peer] remote- address 1.1.1.2

  [Router A-ike-peer-peer]quit

  Router B:

  [Router B] ike peer peer

  [Router B-ike-peer-peer] pre-shared-key h3c

  [Router B-ike-peer-peer] remote- address 1.1.1.1

  [Router B-ike-peer-peer]quit

  注意PRE共享密钥两边也必须一致

  4:第四步:定义安全策略,用IKE协商方式

  Router A:

  [Router A] ipsec policy shiyan 10 isakmp

  [Router A-ipsec-policy-isakmp-shiyan-10] proposal hello

  [Router A-ipsec-policy-isakmp-shiyan-10] security acl 3101

  [Router A-ipsec-policy-isakmp-shiyan-10] ike-peer peer

  [Router A-ipsec-policy-isakmp-shiyan-10] quit

  Router B:

  [Router B] ipsec policy shiyan 10 isakmp

  [Router B-ipsec-policy-isakmp-shiyan-10] proposal hello

  [Router B-ipsec-policy-isakmp-shiyan-10] security acl 3101

  [Router B-ipsec-policy-isakmp-shiyan-10] ike-peer peer

  [Router B-ipsec-policy-isakmp-shiyan-10] quit

  将安全提议、需保护的数据流、IKE对等体全部引入安全策略

  5:第五步:将IPSec策略应用到接口上,让其生效

  Router A:

  [RouterA]interface serial 0/0

  [RouterA-serial 0/0]ipsec policy shiyan

  [RouterA-serial 0/0]quit

  Router B:

  [Router B]interface serial 0/0

  [Router B-serial 0/0]ipsec policy shiyan

  [Router B-serial 0/0]quit

  将IPSec策略应用到相应的接口上,让其生效。以上配置完成后,Router A 和Router B 之间如果有子网2.2.2.0 与子网3.3.3.0之间的报文通过,将触发IKE 进行协商建立安全联盟。IKE 协商成功并创建了安全联盟后,子网2.2.2.0与子网3.3.3.0 之间的数据流将被加密传输。

  三:配置总结

  IPSec配置较为复杂,很容易出错,建议大家以后在配置的时候一定要将全部的配置任务分段,如上面的配置方式。这样既高效,又不容易出错。


2015年12月