当前位置:   article > 正文

Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网

mm_no_state

博文目录
一、IPSec 虚拟专用网故障排查
二、配置防火墙和路由器实现IPSec 虚拟专用网
三、总结

关于IPSec 虚拟专用网工作原理及概念,前面写过一篇博文:Cisco路由器IPSec 虚拟专用网原理与详细配置,博客里都有详细介绍,前面是在公司网关使用的是Cisco路由器的情况下来搭建虚拟专用网的,今天来配置一下在ASA防火墙上实现IPSec 虚拟专用网。

由于“Virtual Private Network”(请看首字母,就知道是什么了)是敏\感词,所以在博文中使用它的中文名字“虚拟专用网”来代替。

一、IPSec 虚拟专用网故障排查

IPSec 虚拟专用网在工作中应用很广泛,除了掌握如何组建IPSec对等体实现虚拟专用网通信,还应具备一定的故障排查能力。

1、"show crypto isakmp sa"命令

上面超链接的博文讲过,通过“show crypto isakmp sa”命令可以了解管理连接所处的状态(在此只介绍主模式)。

  • MM_NO-STATE:ISAKMP SA建立的初始状态,管理连接建立失败也会处于该状态。

  • MM_SA_SETUP:对等体之间ISAKMP策略协商成功后处于该状态。

  • MM_KEY_EXCH:对等体通过DH算法成功建立共享密钥,此时还没有进行设备验证。

  • MM_KEY_AUTH:对等体成功进行设备验证,之后会过渡到QM_IDLE状态。

  • QM_IDLE:管理连接成功建立,即将过渡到阶段2的数据连接建立过程。

2、"debug crypto isakmp"命令

如果希望更加详细地了解整个过程,可以使用“debug crypto isakmp”命令,该命令是工作中最常用诊断和排查管理连接出现问题的命令。

将路由器的加密算法有DES改为3DES,这时对等体间阶段1的加密算法显然不匹配,通过“debug crypto isakmp”命令可以很清楚地看到这点。如下图所示:
Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网

路由器依然会逐条对比策略,之后发现,“Encryption algorthm offered does not match policy!”(加密算法不匹配),所以“atts are not acceptable”(策略不被接受)。然后路由器会与本地的默认策略进行对比,如果依然没有匹配的策略,就会得出结论“no offers accepted!”(没有策略匹配),最后路由器会回到“MM_NO_STATE”状态。

二、配置防火墙和路由器实现IPSec 虚拟专用网

1、网络环境如下:

Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网

2、环境分析:

1)、总公司内网使用192.168.10.0/24网段地址,分公司使用192.168.20.0/24网段地址。ISP路由器为公网上的路由器。R1及ASA-1为总公司及分公司的网关服务器,所以一定会存在默认路由指向公网的路由器。
2)、总公司的内网及分公司的内网之间要建立虚拟专用网,但如果不配置别的东西,是会影响内网访问Internet的,一般都是既可以建立虚拟专用网,也可以访问Internet,所以这个问题也要解决。

3、需求如下:

1、要求实现总公司192.168.10.0/24和分公司的192.168.20.0/24网段通过虚拟专用网实现互通,并且不要影响这两个网段访问公网,也就是ISP路由器(访问公网路由器,通过端口复用的PAT技术实现,不要在ISP路由器上配置任何路由)。

4、开始配置:

配置基本网络参数

  1. 1)ASA配置如下:
  2. ASA(config)# int eth0/0 #进入接口
  3. ASA(config-if)# nameif outside #接口配置为outside
  4. ASA(config-if)# ip add 192.168.100.1 255.255.255.0 #接口配置IP地址
  5. ASA(config-if)# no shu #启用接口
  6. ASA(config-if)# exit
  7. ASA(config)# int eth0/1 #进入接口
  8. ASA(config-if)# nameif inside #接口配置为inside
  9. ASA(config-if)# ip add 192.168.10.254 255.255.255.0 #接口配置IP地址
  10. ASA(config-if)# no shu #启用接口
  11. ASA(config-if)# exit
  12. ASA(config)# route outside 0 0 192.168.100.254 #配置去往公网的IP地址
  13. ASA(config)# access-list out_to_in permit ip any any #创建ACL允许所有流量通过outside接口进入inside
  14. ASA(config)# access-group out_to_in in interface outside #ACL应用到outside接口
  15. 2)ISP配置如下:
  16. ISP(config)#int f0/0 #(相关注释请参考上面)
  17. ISP(config-if)#ip add 192.168.100.254 255.255.255.0
  18. ISP(config-if)#no shu
  19. ISP(config-if)#no shutdown
  20. ISP(config-if)#exit
  21. ISP(config)#int f1/0
  22. ISP(config-if)#ip add 192.168.200.254 255.255.255.0
  23. ISP(config-if)#no shutdown
  24. ISP(config-if)#exit
  25. ISP(config)#int loopback 0 #创建loop back 0接口(模拟Internet网)
  26. ISP(config-if)#ip add 100.100.100.100 255.255.255.255 #配置IP地址
  27. ISP(config-if)#no shutdown #启用接口
  28. ISP(config-if)#exit
  29. 3)R1配置如下:
  30. R1(config)#int f1/0
  31. R1(config-if)#ip add 192.168.200.1 255.255.255.0
  32. R1(config-if)#no shutdown
  33. R1(config-if)#exit
  34. R1(config)#int f0/0
  35. R1(config-if)#ip add 192.168.20.254 255.255.255.0
  36. R1(config-if)#no shutdown
  37. R1(config-if)#exit
  38. R1(config)#ip route 0.0.0.0 0.0.0.0 192.168.200.254 #配置去往公网的路由
  39. 4)PC1配置如下:
  40. PC1(config)#no ip routing #关闭路由功能
  41. PC1(config)#int f0/0
  42. PC1(config-if)#ip add 192.168.10.1 255.255.255.0
  43. PC1(config-if)#no shutdown
  44. PC1(config-if)#exit
  45. PC1(config)#ip default-gateway 192.168.10.254 #配置网关
  46. PC1(config)#exit
  47. 5)PC2配置如下:
  48. PC2(config)#no ip routing
  49. PC2(config)#int f0/0
  50. PC2(config-if)#ip add 192.168.20.1 255.255.255.0
  51. PC2(config-if)#no shutdown
  52. PC2(config-if)#exit
  53. PC2(config)#ip default-gateway 192.168.20.254
  54. PC2(config)#exit

配置IPSec 虚拟专用网

R1配置如下:

  1. R1(config)#crypto isakmp policy 1 #策略序列号为“1”,范围是1~10000,数值越小,优先级越高
  2. R1(config-isakmp)#encryption aes #配置加密算法
  3. R1(config-isakmp)#hash sha #hash命令指定验证过程中采用的散列算法
  4. R1(config-isakmp)#authentication pre-share #配置共享密钥的方式为“预先共享密钥”
  5. R1(config-isakmp)#lifetime 86400 #配置保持时间,默认保持时间为24小时
  6. R1(config-isakmp)#group 2 #配置加密共享密钥方式使用dh算法
  7. R1(config-isakmp)#exit
  8. R1(config)# access-list 100 permit ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255#创建ACL抓取需要走虚拟专用网的流量
  9. R1(config)#crypto ipsec transform-set sh-set esp-aes esp-sha-hmac #配置传输集指定加密和验证算法
  10. R1(cfg-crypto-trans)#exit
  11. R1(config)#crypto isakmp key 0 pwd@123 address 192.168.100.1 #创建共享密钥和对等体IP地址建立IPSec 虚拟专用网连接
  12. R1(config)#crypto map sh-虚拟专用网简写 1 ipsec-isakmp #创建crypto map调用,名字为bj-虚拟专用网简写
  13. R1(config-crypto-map)#match address 100 #调用ACL抓取本地走虚拟专用网的流量
  14. R1(config-crypto-map)#set peer 192.168.100.1 #调用对等体的IP地址
  15. R1(config-crypto-map)#set transform-set sh-set #调用本地创建的传输集
  16. R1(config-crypto-map)#exit
  17. R1(config)#interface fastEthernet 1/0 #进入到外网接口,也就是0/0接口
  18. R1(config-if)#crypto map sh-虚拟专用网简写 #应用创建的map

ASA防火墙配置如下:

  1. ASA(config)# crypto isakmp policy 1 #策略序列号为“1”,范围是1~10000,数值越小,优先级越高
  2. ASA(config-isakmp-policy)# encryption aes #配置加密算法
  3. ASA(config-isakmp-policy)# hash sha #hash命令指定验证过程中采用的散列算法
  4. ASA(config-isakmp-policy)# authentication pre-share #配置共享密钥的方式为“预先共享密钥”
  5. ASA(config-isakmp-policy)# lifetime 86400 #配置保持时间,默认保持时间为24小时
  6. ASA(config-isakmp-policy)# group 2 #配置加密共享密钥方式使用dh算法
  7. ASA(config-isakmp-policy)# exit
  8. ASA(config)# access-list 100 permit ip 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0 #创建ACL抓取需要走虚拟专用网的流量 (防火墙掩码是正掩码,路由器是反掩码)
  9. ASA(config)# crypto ipsec transform-set bj-set esp-aes esp-sha-hmac #配置传输集指定加密和验证算法
  10. ASA(config)# crypto isakmp key pwd@123 address 192.168.200.1 #创建共享密钥和对等体IP地址建立IPSec 虚拟专用网连接
  11. ASA(config)# crypto map bj-虚拟专用网简写 1 match address 100 #调用ACL识别要走虚拟专用网的流量
  12. ASA(config)# crypto map bj-虚拟专用网简写 1 set peer 192.168.200.1 #调用对等体IP地址
  13. ASA(config)# crypto map bj-虚拟专用网简写 1 set transform-set bj-set #调用本地创建的传输集
  14. ASA(config)# crypto isakmp enable outside #开启IKE协商
  15. ASA(config)# crypto map bj-虚拟专用网简写 interface outside #应用crypto map到外网接口

5、验证IPSec 虚拟专用网

查看IPSec 虚拟专用网管理连接是否建立
Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网

Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网
IPSec虚拟专用网也就配置完成了,现在PC1和PC2客户端可以互相通信了,开始配置NAT实现两个PC机可以访问Internet网(也就是ISP路由器的loop back0接口)。

6、配置NAT实现客户端访问Internet网

目前两个PC机是ping不通ISP路由器的loop back 0接口的。如下图:
Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网

ASA防火墙配置如下:

  1. ASA(config)# nat (inside) 1 192.168.10.0 255.255.255.0 #将内部网段转换为外部接口地址
  2. ASA(config)# global (outside) 1 interface
  3. ASA(config)# fixup protocol icmp #开启icmp协议,防火墙默认是关闭的
  4. ASA(config)# nat-control #开启nat控制
  5. ASA(config)# access-list nonat permit ip 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0 #创建ACL抓取流量
  6. ASA(config)# nat (inside) 0 access-list nonat

R1配置如下:

  1. R1(config)#access-list 110 deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 #创建ACL抓取拒绝虚拟专用网的流量
  2. R1(config)#access-list 110 permit ip any any #允许所有流量
  3. R1(config)#ip nat inside source list 110 int f1/0 overload #采用端口复用的PAT方式,解决内网访问互联网的问题
  4. R1(config)#int f1/0 #进入接口
  5. R1(config-if)#ip nat outside #启用nat功能,接口为outside
  6. R1(config-if)#int f0/0 #进入接口
  7. R1(config-if)#ip nat inside #启用nat功能,接口为inside
  8. R1(config-if)#exit

至此实验需求已经全部满足,既可以访问Internet网,也不影响PCC1和PC2网段通过虚拟专用网互通。

7、验证NAT配置

Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网
Cisco的ASA防火墙和路由器上实现IPSec虚拟专用网
通过上图可以看出,既可以访问Internet网,PC1到PC2网段又可以通过虚拟专用网互通。

三、总结

1、在数据连接建立过程中,ASA防火墙只支持ESP协议,因此,对端是路由器,也得使用ESP协议实现数据验证功能,路由器与ASA才可以成功地建立数据连接。

2、IKE协商在路由器上是默认开启的,但是在ASA上模式是关闭的,需要使用命令“ crypto isakmp enable outside”开启。

3、防火墙不支持show crypto isakmp policy命令,可以通过show run查看。

4、ASA默认放行一切虚拟专用网的流量,因为虚拟专用网的流量本来就是安全的,所以ASA为其开绿灯。

———————— 本文至此结束,感谢阅读 ————————

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/176499
推荐阅读
  

闽ICP备14008679号