IPSec (IP Security) 协议族是IETF制定的一系列协议,它为ip数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在ip曾通过加密与数据源验证等方式来保证数据报在网络上传输时的私有性、完整性、真实性、和防重放。

      虚拟专用网络(×××)是一条穿过混乱的公共网络的安全稳定的隧道,在这条安全隧道上可以进行安全高效的数据传输。大幅度减少用户花费在WAN上和远程网络连接的费用。其之所以称为虚拟网,主要是因为整个×××网络的任意两个节点之间的连接并没有传统专网所需的端到端的物理链路,而是架构在公用网络服务商所提供的网络平台,如Internet、ATM(异步传输模式〉、Frame Relay (帧中继)等之上的逻辑网络,用户数据在逻辑链路中传输。它涵盖了跨共享网络或公共网络的封装、加密和身份验证链接的专用网络的扩展。×××主要采用了隧道技术、加解密技术、密钥管理技术和使用者与设备身份认证技术。

 

数据包:

 p_w_picpath

 

p_w_picpath

 

  在H3C路由器上配置ipsec的步骤:

1.创建加密访问控制列表

2.定义安全提议

3.选择加密算法和认证算法

4.创建安全策略

5.在接口上应用安全策略组

 

下面详细介绍每步的配置:

1.创建加密访问控制列表

    acl acl-number

    rule  permit|deny.../

2.定义安全提议

a. 定义安全提议

    ipsec proposal  proposal-name

b.设置安全提议对报文的封装模式

   encapsulation-mode  transport|tunnel

c.选择安全协议

   transform  ah-new|ah-esp-new|esp-new

3.选择加密算法与认证算法

  esp-new encryption-algorithm 3des|des|blowfish|cast

  esp-new authentication-algorithm md5-hmac-96|sha-hmac-96

4.创建安全策略

a.手工创建安全策略

   ipsec policy policyname sequence-number manual

b. 配置安全策略引用的访问控制列表

   security acl  access-list-number

c.指定安全隧道的起点与终点

   tunnel local ip-add

   tunnel remote ip-add

d.配置安全策略引用的安全提议

   proposal proposal-name

e.配置安全联盟的SPI及密钥

   sa inbound ah|esp spi  spi-number

   sa outbound ah|esp spi spi-number

   sa inbound ah|esp string-key string

   sa outbound ah|esp string-key string

5.在接口上应用安全策略

  ipsec policy  policy-name

 

上面第4步中的a步骤为手工创建安全策略,若用IKE方式创建安全策略联盟需要修改上面第4 步:

a:  ike方式创建安全策略

ipsec policy policy-name sequence-number  isakmp

b.配置安全策略引用的访问控制列表

security acl access-list-number

c. 指定安全隧道的终点(对于用 IKE 协商方式创建的安全策略联盟,不需设置本端地址,IKE 能自动地从应用该安全策略的接口上获取本端的地址)

  tunnel remote ip-add

d.配置安全策略引用的安全提议

proposal proposal-name

在系统视图下配置预共享密钥,并写上对端ip地址

ike  pre-shared-key string  remote ip-add

在接口上应用安全策略

ipsec policy policy-name

 

 

案例一

案例要求:

R9路由器为公司总部出口路由器,R6,R14分别为两个分公司出口路由器,中间防火墙用来模拟internet环境。现要求使用ipsec分别在R9和R6,R9和R14间建立隧道,便于总公司和两个分公司进行安全、廉价的通信。

拓扑图:

 

p_w_picpath

 

配置步骤:

R6

[R6]int e 0 ##配置出口ip
[R6-Ethernet0]ip add 172.16.2.1 24
[R6-Ethernet0]int e 1 ##配置内网端口ip
[R6-Ethernet1]ip add 192.168.2.1 24
[R6-Ethernet1]qu

[R6]ip route 0.0.0.0 0.0.0.0 172.16.2.2  ##配置默认路由指向出口网关 
[R6]acl 3000
[R6-acl-3000]rule permit ip source 192.168.2.0 0.0.0.255 des 192.168.1.0 0.0.0.255 ##允许本地内网到R9的内网的流量进入隧道
[r6-acl-3000]rule deny ip source any dest any

[R6]ipsec proposal proposal1 ## 定义安全提议,名字为proposal1

[R6-ipsec-proposal-proposal1]encap  tunnel##设置安全协议对报文的封装模式为隧道模式
[R6-ipsec-proposal-proposal1]transform ? ##选择安全协议
    ah-esp-new          Specify AH+ESP using RFC2402/2406
    ah-new              Specify only AH using RFC2402
    esp-new             Specify only ESP using RFC2406 (Default)

[R6-ipsec-proposal-proposal1]transform esp-new ##选择安全协议为esp-new
[R6-ipsec-proposal-proposal1]esp-new ?##选择加密算法与认证算法
    authentication-algorithm  Specify authentication algorithm used by ESP
    encryption-algorithm      Specify encryption algorithm used by ESP

[R6-ipsec-proposal-proposal1]esp-new encry ?
    3des                Specify using triple DES
    blowfish            Specify using blowfish
    cast                Specify using cast
    des                 Specify using DES
    skipjack            Specify using skipjack

[R6-ipsec-proposal-proposal1]esp-new encryption-algorithm des##选择加密算法为des

[R6-ipsec-proposal-proposal1]esp-new authentication-algorithm sha1-hmac-96 ##选择认证算法为sha1-hmac-96
[R6-ipsec-proposal-proposal1]qu

[R6]ipsec policy policy1 10 isakmp ##创建安全策略,名称为policy1,序号为10,采用IKE

[R6-ipsec-policy-policy1-10]secur acl 3000 ##配置安全策略引用的acl

[R6-ipsec-policy-policy1-10]tunnel remote 172.16.1.1 ##指定隧道的终点

[R6-ipsec-policy-policy1-10]proposal proposal1  ##引用安全提议
[R6-ipsec-policy-policy1-10]qu
[R6]int  e0
[R6-Ethernet0]ipsec policy policy1  ##将安全策略应用到接口上
[R6-Ethernet0]qu

[R6]ike pre-shared-key abcd remote 172.16.1.1 ##配置预共享密钥,要和对端的一致
p_w_picpath

 

R16:

[r16]interface e0  ##配置出口ip
[r16-Ethernet0]ip add 172.16.3.1 255.255.255.0
[r16]interface e 1 ##配置内网端口ip
[r16-Ethernet1]ip add 192.168.3.1 255.255.255.0

[r16]ip route-static 0.0.0.0 0.0.0.0 172.16.3.2##配置默认路由指向出口网关 

[r16]acl 3000
[r16-acl-3000]rule permit ip source 192.168.3.0 0.0.0.255 dest 192.168.1.0 0.0.0.255##允许本地内网到R9的内网的流量进入隧道
[r16-acl-3000]rule deny ip source any dest any
[r16-acl-3000]qu

[r16]ipsec proposal tran1  ##定义安全提议
[r16-ipsec-proposal-tran1]encapsulation-mode tunnel ##设置安全协议对报文的封装模式为隧道模式
[r16-ipsec-proposal-tran1]transform esp-new##选择安全协议为esp-new
##选择加密算法与认证算法
[r16-ipsec-proposal-tran1]esp-new encryption-algorithm des
[r16-ipsec-proposal-tran1]esp-new authentication-algorithm sha1-hmac-96

[r16-ipsec-proposal-tran1]qu

[r16]ipsec policy policy1 10 isakmp ##创建安全策略,名称为policy1,序号为10,采用IKE

[r16-ipsec-policy-policy1-10]tunnel remote 172.16.1.1  ##指定隧道的终点
[r16-ipsec-policy-policy1-10]proposal tran1##引用安全提议
[r16-ipsec-policy-policy1-10]security acl 3000 ##配置安全策略引用的acl

[r16]interface e 0 ##将安全策略应用到接口上
[r16-Ethernet0]ipsec policy policy1
[r16-Ethernet0]qu
[r16]ike pre-shared-key abcde remote 172.16.1.1##配置预共享密钥,要和对端的一致

[r16]  dis ipsec  proposal tran1
[r16]dis ipsec policy all
[r16]dis ipsec sa all

 p_w_picpath

 

 

R9

 

[R9]int e 0   ##配置出口ip
[R9-Ethernet0]ip add 172.16.1.1 24
[R9-Ethernet0]int e 1##配置内网端口ip
[R9-Ethernet1]ip add 192.168.1.1 24
[R9-Ethernet1]
[R9-Ethernet1]
[R9-Ethernet1]
[R9-Ethernet1]qu
[R9]acl 3000

[R9-acl-3000]rule permit ip source 192.168.1.0 0.0.0.255 des 192.168.2.0 0.0.0.255 ##允许本地内网到R6的内网的流量进入隧道
[R9-acl-3000]rule deny ip source any des any
[R9]acl 3001   ##允许本地内网到R16的内网的流量进入隧道
[R9-acl-3001]rule permit ip source 192.168.1.0 0.0.0.255 des 192.168.3.0 0.0.0.255
[R9-acl-3001]rule deny ip sour any des any
[R9-acl-3001]qu

[R9]ipsec proposal tran1 ## 定义安全提议,名字为tran1

[R9-ipsec-proposal-tran1]encap tunnel##设置安全协议对报文的封装模式为隧道模式

[R9-ipsec-proposal-tran1]transform esp-new ##选择安全协议为esp-new

[R9-ipsec-proposal-tran1]esp-new  encryption-algorithm des ##选择加密算法为des

[R9-ipsec-proposal-tran1]esp-new  authentication-algorithm sha1-hmac-96 ##选择认证算法为sha1-hmac-96
[R9-ipsec-proposal-tran1]qu

[R9]ipsec policy policy1 10 isakmp  ##创建安全策略,名称为policy1,序号为10,采用IKE

[R9-ipsec-policy-policy1-10]tunnel remote 172.16.2.1##指定隧道的终点

[R9-ipsec-policy-policy1-10]secur acl 3000 ##配置安全策略引用的acl

[R9-ipsec-policy-policy1-10]proposal tran1##引用安全提议
[R9-ipsec-policy-policy1-10]qu

[R9]int e0
[R9-Ethernet0]qu         
[R9]ike pre?
    pre-shared-key

[R9]ike  pre-shared-key abcd remote 172.16.2.1##配置预共享密钥,要和对端的一致

[R9]ipsec policy policy1 11 isakmp  ##创建安全策略,名称为policy1,序号为11,采用IKE

[R9-ipsec-policy-policy1-11]secur acl 3001##配置安全策略引用的acl
[R9-ipsec-policy-policy1-11]tunnel remote 172.16.3.1##指定隧道的终点
[R9-ipsec-policy-policy1-11]proposal tran1##引用安全提议
[R9-ipsec-policy-policy1-11]qu

[R9]ike pre-shared-key abcde remote 172.16.3.1##配置预共享密钥,要和对端的一致
[R9]ip route 0.0.0.0 0.0.0.0 172.16.1.2

[R9]int e 0   ##将安全策略应用到接口上
[R9-Ethernet0]ipsec policy policy1

 p_w_picpath

 

测试结果:

R9的主机ping R16的内网主机

p_w_picpath

R9的主机ping R6的内网主机

p_w_picpath

 

R6的主机ping R9的内网主机

11

R16的主机ping R9的内网主机

22