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×××对等体本端地址