天天看点

基于Cisco路由器的IPSec ×××的应用

本文主要介绍如何在Cisco路由上配置类型为站点到站点的IPSec ×××,实现L2L的安全通信。实验拓扑如下:

基于Cisco路由器的IPSec ×××的应用

实验目的:

1.配置总公司与各分公司之间以及各分公司之间的×××,使它们能透过Internet实现安全的访问。

2.配置PAT实现总公司与各分公司访问Internet。

实验环境:

使用DynamipsGUI工具模拟出4台路由器和3台虚拟PC。

各设备IP分配如下:

路由器R1:f0/0: 200.0.10.1/30,f1/0: 1.1.1.1/24

路由器R2:f0/0: 200.0.20.1/30,f1/0: 2.2.2.2/24

路由器R3:f0/0: 200.0.30.1/30,f1/0: 3.3.3.3/24

路由器ISP:f0/0: 200.0.30.20.2/30,f1/0: 200.0.30.2/30,f2/0: 200.0.10.2/30 loopback: 4.4.4.4/24

虚拟PC:VPCS1:1.1.1.2/24,VPCS2:2.2.2.3/24,VPCS3:3.3.3.4/24

路由器与虚拟PC的连线如下:

R1 F0/0 <----> R4 F2/0

R1 F1/0 <----> VPCS V0/1

R2 F0/0 <----> R4 F0/0

R2 F1/0 <----> VPCS V0/2

R3 F0/0 <----> R4 F1/0

R3 F1/0 <----> VPCS V0/3

一.路由器R1的配置(接口IP,路由,×××,PAT):

基本配置:

R1(config)#int f0/0

R1(config-if)#ip add 200.0.10.1 255.255.255.252

R1(config-if)#no sh

R1(config-if)#int f1/0

R1(config-if)#ip add 1.1.1.1 255.255.255.0

R1(config-if)#no sh 

R1(config)#ip route 0.0.0.0 0.0.0.0 200.0.10.2   

配置IPSec ××× 

R1(config)#crypto isakmp policy 1 //建立管理连接策略    

R1(config-isakmp)#encryption 3des //指定管理连接建立后的最后两个数据报文(用于身份验证)采用何种加密算法    

R1(config-isakmp)#hash sha //验证过程中采用HMAC的功能    

R1(config-isakmp)#authentication pre-share //指定身份验证的方式    

R1(config-isakmp)#group 2 //指定DH密钥组 

R1(config-isakmp)#exit    

R1(config)#crypto isakmp key 0 sjzz address 200.0.20.1    

配置总公司A与分公司B之间的×××

R1(config)#access-list 100 permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 //定义需要保护的流量    

R1(config)#crypto ipsec transform-set sjzz-set esp-des ah-sha-hmac //定义传输集以及加密和验证的方式    

R1(cfg-crypto-trans)#mode tunnel    

R1(cfg-crypto-trans)#exit

R1(config)#crypto map sjzz-map 1 ipsec-isakmp //配置加密映射,映射名为mymap ,序列号为 1 数值越小优先级越高    

R1(config-crypto-map)#set peer 200.0.20.1 //对等体地址    

R1(config-crypto-map)#set transform-set sjzz-set //指定传输集名称    

R1(config-crypto-map)#match address 100 //调用指定的匹配数据流    

R1(config-crypto-map)#exit

配置总公司A与分C司B之间的×××: 

R1(config)#crypto isakmp key 0 sjzz address 200.0.30.1 //配置R1与R3的预共享密钥    

R1(config)#access-list 100 permit ip 1.1.1.0 0.0.0.255 3.3.3.0 0.0.0.255 // 添加去公司C的受保护数据流量   

R1(config)#crypto map sjzz-map 1 ipsec-isakmp    

R1(config-crypto-map)#set peer 200.0.30.1    

R3(config-crypto-map)#exit    

应用在接口:

R1(config)#int f0/0    

R1(config-if)#crypto map sjzz-map

配置PAT使R1连接内网可以访问Internet:

R1(config)#access-list 101 deny ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255    

R1(config)#access-list 101 deny ip 1.1.1.0 0.0.0.255 3.3.3.0 0.0.0.255    

R1(config)#access-list 101 permit ip 1.1.1.0 0.0.0.255 any    

R1(config)#ip nat inside source list 101 interface f0/0 overload    

R1(config-if)#ip nat outside    

R1(config)#int f1/0    

R1(config-if)#ip nat inside

二.路由器R2的配置(接口IP,路由,×××,PAT):

R2(config)#int f0/0

R2(config-if)#ip add 200.0.20.1 255.255.255.252

R2(config-if)#no sh

R2(config-if)#int loop 0

R2(config-if)#ip add 2.2.2.2 255.255.255.0

R2(config-if)#ip route 0.0.0.0 0.0.0.0 200.0.20.2

配置分公司B到公总司A之间的×××配置:

R2(config)#crypto isakmp policy 1    

R2(config-isakmp)#encryption 3des    

R2(config-isakmp)#hash sha    

R2(config-isakmp)#authentication pre-share    

R2(config-isakmp)#group 2    

R2(config-isakmp)#lifetime 10000    

R2(config-isakmp)#exit    

R2(config)#crypto isakmp key 0 sjzz address 200.0.10.1 //该密钥应该与R1中设置的密码一致    

R2(config)#access-list 100 permit ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255    

R2(config)#crypto ipsec transform-set sjzz-set esp-des ah-sha-hmac    

R2(cfg-crypto-trans)#mode tunnel    

R2(cfg-crypto-trans)#exit

R2(config)#crypto map sjzz-map 1 ipsec-isakmp    

R2(config-crypto-map)#set peer 200.0.10.1    

R2(config-crypto-map)#set transform-set sjzz-set    

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

R2(config-crypto-map)#exit    

配置分公司B到分公司C之间的×××:

R2(config)#crypto isakmp key 0 sjzz address 200.0.30.1    

R2(config)#access-list 100 permit ip 2.2.2.0 0.0.0.255 3.3.3.0 0.0.0.255    

R2(config-crypto-map)#set peer 200.0.30.1    

应用到接口:

R2(config)#int f0/0    

R2(config-if)#crypto map sjzz-map    

配置PAT使R2连接的内网可以访问internet:

R2(config)#access-list 101 deny ip 2.2.2.0 0.0.0.255 1.1.1.0 0.0.0.255    

R2(config)#access-list 101 deny ip 2.2.2.0 0.0.0.255 3.3.3.0 0.0.0.255    

R2(config)#access-list 101 permit ip 2.2.2.0 0.0.0.255 any    

R2(config)#ip nat inside source list 101 interface f0/0 overload    

R2(config-if)#ip nat outside    

R2(config)#int loopback 0    

R2(config-if)#ip nat inside

三.路由器R3的配置(接口IP,路由,×××,PAT):

R3(config)#int f0/0

R3(config-if)#ip add 200.0.30.1 255.255.255.252

R3(config-if)#no sh

R3(config-if)#int loop 0

R3(config-if)#ip add 3.3.3.3 255.255.255.0

R3(config)#ip route 0.0.0.0 0.0.0.0 200.0.30.2    

配置分公司C到总公司A之间的×××:

R3(config)#crypto isakmp policy 1    

R3(config-isakmp)#encryption 3des    

R3(config-isakmp)#hash sha    

R3(config-isakmp)#authentication pre-share    

R3(config-isakmp)#group 2    

R3(config-isakmp)#lifetime 10000    

R3(config-isakmp)#exit    

R3(config)#crypto isakmp key 0 sjzz address 200.0.10.1  

R3(config)#access-list 100 permit ip 3.3.3.0 0.0.0.255 1.1.1.0 0.0.0.255    

R3(config)#crypto ipsec transform-set sjzz-set esp-des ah-sha-hmac    

R3(cfg-crypto-trans)#mode tunnel    

R3(cfg-crypto-trans)#exit    

R3(config)#crypto map sjzz-map 1 ipsec-isakmp    

R3(config-crypto-map)#set peer 200.0.10.1    

R3(config-crypto-map)#set transform-set sjzz-set    

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

配置公司C到分公司B之间的×××:

R3(config-crypto-map)#exit    

R3(config)#crypto isakmp key 0 sjzz address 200.0.20.1    

R3(config)#access-list 100 permit ip    3.3.3.0 0.0.0.255 2.2.2.0 0.0.0.255

R3(config-crypto-map)#set peer 200.0.20.1    

应用到接口

R3(config)#int f0/0    

R3(config-if)#crypto map sjzz-map    

配置PAT使R3连接的内网可以访问internet:

R3(config)#access-list 101 deny ip 3.3.3.0 0.0.0.255 2.2.2.0 0.0.0.255    

R3(config)#access-list 101 deny ip 3.3.3.0 0.0.0.255 1.1.1.0 0.0.0.255    

R3(config)#access-list 101 permit ip 3.3.3.0 0.0.0.255 any    

R3(config)#ip nat inside source list 101 interface f0/0 overload    

R3(config-if)#ip nat outside    

R3(config)#int loopback 0    

R3(config-if)#ip nat inside

四.路由器R3的配置(接口IP):

ISP(config)#int f0/0

ISP(config-if)#ip add 200.0.20.2 255.255.255.252

ISP(config-if)#no sh

ISP(config-if)#int f1/0

ISP(config-if)#ip add 200.0.30.2 255.255.255.252

ISP(config-if)#int f2/0

ISP(config-if)#ip add 200.0.10.2 255.255.255.252

ISP(config-if)#no sh

五.验证:

1.虚拟PC的IP如下:

基于Cisco路由器的IPSec ×××的应用

2.测试×××建立后,总公司A与分公司B、分公司C、Internet之间的连通性:

基于Cisco路由器的IPSec ×××的应用

3.测试×××建立后,分公司B与总公司A、分公司C、Internet之间的连通性:

基于Cisco路由器的IPSec ×××的应用

4.测试×××建立后,分公司C与总公司A、分公司B、Internet之间的连通性:

基于Cisco路由器的IPSec ×××的应用

测试全部完成,站点到站点之间的×××建立成功!

继续阅读