ipsec ×××故障排查
1、show crypto isakmp sa命令
通过这个命令可以了解管理连接所处的状态:
NM_NO_STATE:ISAKMP SA 建立的初始状态,管理连接建立失败也会处于该状态。
NM_SA_SETUP:对等体之间ISAKMP策略协商成功后处于该状态。
NM_KEY_EXCH:对等体通过DH算法成功建立共享秘钥,此时还没有进行设备验证。
NM_KEY_AUTH:对等体成功进行设备验证,之后会过度到QM_IDLE状态。
NM_IDLE:管理连接成功建立,即将过度到阶段2的数据连接建立过程。

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

1)故障实例一
将路由器的加密算法有des改为3des,这时对等体阶段1的加密算法显然不匹配,通过debug crypto isamkp命令可以很清楚的看到这点。

GNS3-ASA防火墙配置ipsec ***_第1张图片

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

2)故障实例二
路由器两端设置的预共享秘钥key不同,这时阶段1的传输集是匹配的,但后续的验证过程无法通过,这一点也可以通过debug crypto isakmp命令看到。

GNS3-ASA防火墙配置ipsec ***_第2张图片

第一部分说明匹配的传输集已经找到(atts are acceptable),开始后续的秘钥交换以及身份验证的过程,但第二部分中“IKE message from 10.0.0.1 failed its sanity check or is malformed”说明进行身份验证的信息没有通过完整性检测或缺失部分信息,即验证失败。最后路由器就会停在NM_KEY_EXCH状态,这点可以通过show crypto isakmp sa命令查看。

cisci asa防火墙上配置实现ipsec ***

GNS3-ASA防火墙配置ipsec ***_第3张图片

2、实验目标:
1)分支公司的开发项目小组可以通过×××访问总公司研发服务器,但不能访问Internet。
2)分公司的其他客户端(dmz)可以访问Internet。

3、注意事项
1)asa防火墙网卡模块修改为pcnet,对防火墙右键---选择“配置”。

GNS3-ASA防火墙配置ipsec ***_第4张图片

2)开启asa之后弹出的界面不要关闭

GNS3-ASA防火墙配置ipsec ***_第5张图片

4、实验步骤
1)配置所有设备的ip地址和路由:
配置R1:

GNS3-ASA防火墙配置ipsec ***

配置R4:

GNS3-ASA防火墙配置ipsec ***

配置ASA1:

GNS3-ASA防火墙配置ipsec ***_第6张图片


GNS3-ASA防火墙配置ipsec ***_第7张图片


GNS3-ASA防火墙配置ipsec ***

配置R2:

GNS3-ASA防火墙配置ipsec ***_第8张图片

配置asa2:

GNS3-ASA防火墙配置ipsec ***_第9张图片


GNS3-ASA防火墙配置ipsec ***

配置R3:

GNS3-ASA防火墙配置ipsec ***

2)配置ASA1防火墙的×××
配置NAT并启动nat-control:

GNS3-ASA防火墙配置ipsec ***

配置NAT豁免(带ACL的nat 0)
ASA1(config)#access-list nonat extended permit ip 192.168.1.0 255.255.255.0 172.16.10.0 255.255.255.0
ASA1(config)#nat (inside) 0 access-list nonat

GNS3-ASA防火墙配置ipsec ***

0代表该条目不用被NAT转换,亦称为“豁免”。这里需要反过来想问题,之前配置路由器的时候都是匹配ACL的享有NAT的服务,这里正好相反,匹配ACL的可以“豁免”NAT的服务。但有个问题需要注意,很多人会说NAT豁免根本没有意义,用ACL的deny就可以实现NAT豁免。

例如:上例可以配置为:access-list aaa extended deny ip 192.168.1.0 255.255.255.0 172.16.10.0 255.255.255.0
access-list aaa extended permit ip any any
nat (inside) access-list aaa 1 0 0
global (outside) 1 int

建立ISAKMP策略:

GNS3-ASA防火墙配置ipsec ***_第10张图片

配置预共享秘钥:

GNS3-ASA防火墙配置ipsec ***

配置crypto ACL:
ASA1(config)#access-list yf*** extended permit ip 192.168.1.0 255.255.255.0 172.16.10.0 255.255.255.0

GNS3-ASA防火墙配置ipsec ***

配置交换数据连接的传输集:

GNS3-ASA防火墙配置ipsec ***

配置crypto map:

GNS3-ASA防火墙配置ipsec ***

将crypto map应用到outside接口上:

GNS3-ASA防火墙配置ipsec ***

3)配置ASA2的×××:(配置过程和ASA1一样,不用做NAT)

GNS3-ASA防火墙配置ipsec ***_第11张图片


GNS3-ASA防火墙配置ipsec ***_第12张图片

5、测试
1)在R1上pingR3,可以ping通(因为有***)

2)在R2上开启telnet

GNS3-ASA防火墙配置ipsec ***

在R1上telnet R2,提示不能访问(说明R1不能访问internet)

GNS3-ASA防火墙配置ipsec ***

3)在R4上telnet R2(可以访问,因为R1做了静态NAT)

GNS3-ASA防火墙配置ipsec ***_第13张图片

到此为止实现了:开发项目小组可以通过×××访问总公司研发服务器,但不能访问Internet。
分公司的其他客户端可以访问Internet。

防火墙和路由器的区别
防火墙由于自身IOS原因,在配置命令方面与路由器有一定区别,但并不非常明显。这里重点介绍两个方面:
1、默认配置的区别
在建立管理连接的过程中,cisco asa防火墙和路由器默认情况下使用的参数不同。
Cisco asa防火墙使用的参数如下:

GNS3-ASA防火墙配置ipsec ***_第14张图片

在ASA上查看参数:

GNS3-ASA防火墙配置ipsec ***_第15张图片

在路由器上使用show crypto isakmp policy
Router#show crypto isakmp policy
Protection suite of priority 1
encryption algorithm: AES – Advanced Encryption Standard (128 bit keys).
hash algorithm: Secure Hash Standard
authentication method: Pre-Shared Key
Diffie-Hellman group: #2 (1024 bit)
lifetime: 3600 seconds, no volume limit
Default protection suite
encryption algorithm: DES - Data Encryption Standard (56 bit keysk).
hash algorithm: Secure Hash Standard
authentication method: Rivest-Shamir-Adleman Signature
Diffie-Hellman group: #1 (768 bit)
lifetime: 86400 seconds, no volume limit

防火墙不支持命令show crypto isakmp policy,要想查看管理连接的默认参数,需在初始配置下启用isakmp策略,然后通过命令show run进行观察。与路由器相比,默认的加密算法变为3DES,默认的DH组使用2,默认的设备验证方法变为预共享秘钥,而默认的HASH算法以及生存周期没有变化。
ASA防火墙采用了更为安全的默认设置,这是cisco公司设备技术革新的一种表现。需要注意的是,如果ipsec对等体双方式ASA防火墙和cisco路由器,那么使用默认的ISAKMP策略是无法建立连接的。
另外,在数据连接建立过程中,ASA防火墙只支持ESP协议,因此,如果路由器使用AH协议实现数据验证功能,将无法与ASA成功地建立数据连接。

2、IKE协商默认是否开启
默认情况下,IKE协商在路由器中是开启的,而在ASA防火墙中是关闭的。因此,在ASA防火墙中必须使用命令crypto isakmp enable outside开启IKE协商。

3、隧道组特性的引入
严格意义上说,这并不能算是防火墙和路由器的配置差异,而防火墙从6.x版本升级到7.0版本引入的新特性,它主要用于简化ipsec会话的配置和管理。而且路由器配置共享秘钥key的命令(crypto isakmp key key-string address peer-address),ASA防火墙依然支持。

4、接口安全级别对于ipsec流量的影响。
防火墙存在一种限制,如果流量从一个接口进入,就不能从相同安全级别的端口流出。即流量不能在统一安全级别的端口之间传输,这主要是从安全方面考虑而设定的一种特性,但可能对ipsec流量造成一定的影响。

假如ASA防火墙处于网络的中心节点(如公司总部),为了实现对分公司网络流量的统一管理,要求分公司之间的访问流量必须通过总公司。这就会出现上述情况,造成分公司之间无法通信。这时就需要使用如下命令来实现。

GNS3-ASA防火墙配置ipsec ***_第16张图片

ASA(config)#same-security-traffic permit {intra-interface | inter-interface}

上面命令最后两个参数的区别:
Intra-interface参数允许流量进入和离开同一个接口,多用于L2L会话中的中心设备;
inter-interface参数允许流量进入和离开具有相同安全级别的两个不同的接口,多用于远程访问×××会话中的Easy ×××网关。