ASA防火墙穿越NAT设备与路由器做ipsec×××

一、 实验任务及思路:

1.  使用GNS3搭建拓扑(拓扑如下),R2路由器模拟ISP服务提供商,R1上配置PAT实现内网对Internet的访问,要求ASA防火墙与R3之间建立IPSec ×××,连接穿过NAT设备,配置实现两端对等体建立IPSec ×××连接。

2. C1与C2先后互ping,比较ipsec×××连接情况

二、  实验拓扑:

三、  IP地址规划:

  

C1

  

192.168.10.10/24

ASA1

e0/1

192.168.10.1/24

e0/0

172.16.11.1/24

R1

f0/0

172.16.11.2/24

f0/1

12.0.0.1/24

R2

f0/0

12.0.0.2/24

f0/1

23.0.0.2/24

R3

f0/0

23.0.0.3/24

f0/1

192.168.20.1/24

C2


192.168.20.20/24

四、  配置文件:

1.  ASA1的配置

ciscoasa# conf t

ciscoasa(config)#int e0/0

ciscoasa(config-if)#nameif outside  //定义逻辑名称为outside

INFO: Securitylevel for "outside" set to 0 by default.

ciscoasa(config-if)#ip add 172.16.11.1 255.255.255.0 //配置IP地址

ciscoasa(config-if)#no shut

ciscoasa(config-if)#int e0/1

ciscoasa(config-if)#nameif inside  //定义逻辑名称为inside

INFO: Securitylevel for "inside" set to 100 by default.

ciscoasa(config-if)#ip add 192.168.10.1 255.255.255.0

ciscoasa(config-if)#no shut

ciscoasa(config-if)#show ip

ciscoasa(config)#route outside 0 0 172.16.11.2  //做向外默认路由

ciscoasa(config)#access-list 10 permit icmp any any  //配置入站理解acl

ciscoasa(config)#access-group 10 in interface outside

ciscoasa(config)#crypto isakmp enable outside  //启用ISAKMAP/IKE

ciscoasa(config)#crypto isakmp policy 1  //配置安全策略,数字表示优先级

ciscoasa(config-isakmp-policy)#encryption 3des  //告诉对端使用的对称加密算法

ciscoasa(config-isakmp-policy)#hash md5  //md5算法

ciscoasa(config-isakmp-policy)#authentication pre-share //身份认证方式为与共享密钥

ciscoasa(config-isakmp-policy)#group 2  //DH密钥组为2

ciscoasa(config)#tunnel-group 23.0.0.3 type ipsec-l2l//配置预共享密钥

ciscoasa(config)#tunnel-group 23.0.0.3 ipsec-attributes

ciscoasa(config-tunnel-ipsec)#pre-shared-key mmsabc  //防火墙是用遂道来配置密钥

ciscoasa(config)#access-list 101 permit ip 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0  //定义感兴趣的流量

ciscoasa(config)#crypto ipsec transform-set ***set esp-3des esp-md5-hmac  //交换数据连接的传输集

ciscoasa(config)#crypto map ***map 1 match address 101

ciscoasa(config)#crypto map ***map 1 set peer 23.0.0.3

ciscoasa(config)#crypto map ***map 1 set transform-set ***set

ciscoasa(config)#crypto map ***map interface outside  //配置CrytoMap并将Cryto Map应用到outside接口上

2.  R1的配置

R1#conf t

R1(config)#intf0/0

R1(config-if)#ipadd 172.16.11.2 255.255.255.0

R1(config-if)#noshut

R1(config-if)#intf0/1

R1(config-if)#ipadd 12.0.0.1 255.255.255.0

R1(config-if)#noshut

R1(config-if)#doshow ip int b

R1(config)#iproute 23.0.0.0 255.255.255.0 12.0.0.2

R1(config)#iproute 192.168.10.0 255.255.255.0 172.16.11.1

R1(config)#intf0/0

R1(config-if)#ipnat inside

R1(config-if)#intf0/1

R1(config-if)#ipnat outside  //在进、出口开启nat

R1(config)#access-list100 deny ip 192.168.10.0 0.0.0.255 192.168.20.0 0.0.0.255

R1(config)#access-list100 permit ip 192.168.10.0 0.0.0.255 any  //配置PAT 规则,阻止源IP地址为192.168.10.0/24目标IP地址为192.168.20.0/24的流量被PAT

R1(config)#ip natinside source list 100 interface f0/1 overload

R1(config)#ip natinside source static udp 172.16.11.1 500 interface f0/1 500  //配置ISAKMP管理连接的静态端口映射

R1(config)#ip natinside source static udp 172.16.11.1 4500 interface f0/1 4500 //配置ISAKMP数据连接的静态端口映射

3.  R2的配置

R2#conf t

R2(config)#intf0/0

R2(config-if)#ipadd 12.0.0.2 255.255.255.0

R2(config-if)#noshut

R2(config-if)#intf0/1

R2(config-if)#ipadd 23.0.0.2 255.255.255.0

R2(config-if)#noshut

R2(config-if)#doshow ip int b

4.  R3的配置

R3#conf t

R3(config)#intf0/0

R3(config-if)#ipadd 23.0.0.3 255.255.255.0

R3(config-if)#noshut

R3(config-if)#intf0/1

R3(config-if)#ipadd 192.168.20.1 255.255.255.0

R3(config-if)#noshut

R3(config-if)#doshow ip int b

R3(config)#iproute 0.0.0.0 0.0.0.0 23.0.0.2

R3(config)#cryptoisakmp policy 1  //配置ISAKMP安全策略,优先级为1

R3(config-isakmp)#encryption3des //告诉对端使用的对称加密算法

R3(config-isakmp)#hashmd5  //md5算法

R3(config-isakmp)#authenticationpre-share  //身份认证方式为与共享密钥

R3(config-isakmp)#group2  //DH密钥组为2

R3(config-isakmp)#cryptoisakmp key 0 mmsabc address 12.0.0.1  //配置预共享密钥,地址为对端的地址

R3(config)#cryptoipsec transform-set ***set esp-3des esp-md5-hmac  //配置传输集beset,设置对数据的加密方式

R3(cfg-crypto-trans)#cryptomap ***map 1 ipsec-isakmp  //定义cryptomap调用感兴趣流量并且设置传输集

R3(config-crypto-map)#setpeer 12.0.0.1  //指定对端IP

R3(config-crypto-map)#settransform-set ***set  //调用传输集***set

R3(config-crypto-map)#matchaddress 101  //调用列表101

R3(config-crypto-map)# access-list 101permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.25   //定义感兴趣的流量

R3(config)#intf0/0

R3(config-if)#cryptomap ***map  //crypto map 应用到接口

5.  给C1和C2配IP地址

五、  结果验证 :     

1.  C2ping C1

在ASA1上查看

ciscoasa(config)# show crypto isakmp sa

ciscoasa(config)# show crypto isakmp sa detail

在R3上查看

R3#show crypto isakmp sa

R3#show crypto isakmp sa detail

2.  C1pingC2

R3#clear crypto isakmp

R3#clear crypto sa

ciscoasa(config)# clear crypto isakmp

在ASA1上查看

ciscoasa(config)#show crypto isakmp sa

ciscoasa(config)#show crypto isakmp sa detai

l 

在R3是查看

R3#show crypto isakmp sa

R3#show crypto isakmp sa detail

六、  结论:

比较C1通过ASA1触发ipsec×××和C2通过R3触发ipsec×××的理解情况,没有什么大不同,只不过ASA1防火墙通过nat设备R1的外网IP地址做静态远射成为其ipsec×××对等体本端地址