2024年4月19日发(作者:)

7.2 IPsec VPN的配置

【实验目的】

通过实验,理解IPsec VPN的工作原理,掌握基于设备的配置方法。

【知识点】

隧道技术,IPsec的作用,IPsec VPN的工作原理,密码学原理

【实验场景】

两个远程公司的网络上海和北京,如 R5 与 R4 之间需要直接使用私有地址来互访,比如

R5通过直接访问地址 192.168.1.4 来访问 R4,而 R2 则相当于 Internet 路由器, R2

只负责让 R1 与 R3 能够通信, R2 不会配置任何路由, R2 不允许拥有上海与北京公司

内部的路由 10.1.1.0 与 192.168.1.0,在配置完 LAN-to-LAN VPN 之后,最终上海与北

京两个网络之间通过 VPN 隧道来穿越没有路由的 R2 来进行通信,实现在私网与私网之间

穿越公网的通信。

【实验原理】

构建VPN隧道,定义加密方式和秘钥,对数据加密后进行封装,以便于实现隧道的模式。

【实验设备】

Cisco Packet Tracer软件中:五台2811的路由器

【实验拓扑】

【实验思路】

1. 配置IKE策略

定义IKE Phase One中的一些策略,包括加密算法(Encryption),Hash算法(HMAC),秘

钥算法(Diffie-Hellman),认证方式(Authentication)等。

2. 定义认证标识

添加认证信息,如密码、数字证书等。

3. 配置IPSec transform

定义Phase Two中一些加密算法以及HMAC算法,此transform set就是定义了VPN流量中

的数据包是受到怎样的保护。

4. 定义感兴趣流量

定义哪些流量需要通过VPN来传输,通过IPSec来保护;匹配流量的方法定义为ACL,建

议使用扩展ACL 来匹配指定的流量,ACL中被permit匹配的流量表示加密,而被deny匹

配的流量则表示不加密。

5. crypto map

Crypto map 配置后,是不会生效的,必须将crypto map应用到三层接口上

【实验步骤】

1.配置基础网络环境

1.1 配置 R1:

配置 R1 的接口地址,并写缺省路由指向 Internet (路由器 R2),地址 12.1.1.2。

1.2 配置 R2:

配置 R2 的接口地址,因为 R2 模拟 Internet, R2 只需要有公网路由 12.1.1.0和

23.1.1.0 即可,所以 R2 不需要写任何路由,也不允许写任何路由。

1.3 配置 R3:

配置 R3 的接口地址,并写缺省路由指向 Internet (路由器 R2),地址 23.1.1.2。

1.4 配置 R4:

配置 R4 的接口地址,并写缺省路由指向北京公司出口路由器 R3。

1.5 配置 R5:

配置 R5 的接口地址,并写缺省路由指向上海公司出口路由器 R1。

2.测试基础网络环境

1.1 测试 R1 到 R3 的连通性:

r1#ping 23.1.1.3

因为 R1 与 R3 都有默认路由指向 Internet(路由器 R2),而 R2 与 R1 和 R3

都是可达的,所以 R1 与 R3 通信正常。

1.2 测试 R1 到 R4 的连通性:

r1#ping 192.168.1.4

虽然 R1 有默认路由指向 Internet 路由器 R2,但 R2 只有公网路由 12.1.1.0

和 23.1.1.0,只能保证 R1 与 R3 的通信,所以 R1 无法访问北京公司的私有网段

192.168.1.0。

1.3 测试 R5 到 R4 的连通性:

r5#ping 192.168.1.4

同上理由, R2 只有公网路由 12.1.1.0 和 23.1.1.0,只能保证 R1 与 R3 的通

信,所以上海和北京公司无法通过私有地址互访。

3.配置 LAN-to-LAN VPN

1. 在 R1 上配置 IKE( ISAKMP)策略:

r1(config)#crypto isakmp policy 1 //配置IKE策略1

r1(config-isakmp)#encryption 3des //加密方法为3des

r1(config-isakmp)#hash sha //hash算法为sha

r1(config-isakmp)#authentication pre-share //认证方式为PSK

r1(config-isakmp)#group 2 //密钥算法为 group 2。

r1(config-isakmp)#exit

2. 在 R1 上定义认证标识:

r1(config)#crypto isakmp key 0 cisco123 address 23.1.1.3

因为之前定义的认证方式为 PSK,所以需要定义认证密码,这里定义与 peer 23.1.1.3 的

认证密码为 cisco123,并且双方密码必须一致,否则无法建立 IKE SA,其中 0 表示密码

在 running-config 中显示为明文。

3. 在 R1 上配置 IPsec transform:

r1(config)#crypto ipsec transform-set ccie esp-3des esp-sha-hmac

r1(cfg-crypto-trans)#exit

说明: 配置了 transform-set 为 ccie,其中数据封装使用 esp 加 3des 加密,并且

使用 esp 结合 sha 做 hash 计算,默认的 IPsec mode 为 tunnel。

4. 在 R1 上定义感兴趣流量:

r1(config)#access-list 100 permit ip 10.1.1.0 0.0.0.255 192.168.1.0 0.0.0.255

这里需要被 IPsec 保护传输的流量为上海公司至北京公司的流量,即10.1.1.0/24 发往

192.168.1.0/24 的流量,切记不可使用 any 来表示地址。

5. 在 R1 上创建 crypto map:

r1(config)#crypto map l2l 1 ipsec-isakmp

r1(config-crypto-map)#set peer 23.1.1.3

r1(config-crypto-map)#set transform-set ccie

r1(config-crypto-map)#match address 100

r1(config-crypto-map)#exit

在 R1 上配置 crypto map 为 l2l,序号为 1,即第 1 组策略,其中指定加密数据发往的

对端为 23.1.1.3,即和 23.1.1.3 建立 IPsec 隧道,调用的 IPsec transform为

ccie,并且指定 ACL 100 中的流量为被保护的流量。

6. 在 R1 上将 crypto map 应用于接口:

r1(config-if)#crypto map l2l

将 crypto map 应用在去往北京公司的接口 F0/0 上。

7. 使用相同方式配置 R3 的 LAN-to-LAN VPN: R3 与 R1 的 IKE 和 IPsec 策略必须

保持一致。

4.测试 VPN

r1#show crypto isakmp policy //在 R1 上查看 IKE( ISAKMP)策略

r1#show crypto isakmp key //查看 Phase One 时的认证密码

r1#show crypto isakmp sa //查看 IKE SA( ISAKMP SA)

r1#show crypto ipsec transform-set //查看 R1 上的 IPsec Transform

r1#show crypto map //查看 R1 上的 crypto map

从上海公司 R5 向北京公司 R4 发送流量:

r5#ping 192.168.1.4 //可以ping通,说明隧道建立成功

r1#show crypto isakmp peers //再次查看 R1 上 IKE SA 的 peer

r5#traceroute 192.168.1.4 //查看上海公司向北京公司发送数据包的路径走向

【实验思考】

1.通过实验,梳理实验步骤,理解配置思路。