守卫身份败露,隧道安全通信事难成
一、 缘起IPSec VPN:
丐帮两地分舵需要通过建立IPSec VPN实现通信。其中,B分舵由ER护卫把守出口,A分舵的内部人员除了需要通过C派弟子护卫把守的庭院外,还需要经过一道NAT隔墙才能出门。两个分舵的护卫均配备静态IP刀,现在需要在C派弟子护卫和ER护卫之间建立IPSec VPN秘密隧道实现安全通信,如图1所示:
图1 组网示意图
二、 初露端倪:
若经过NAT隔墙,IPSec VPN通过野蛮模式不能正常建立隧道。
若拆除NAT隔墙,IPSec VPN通过主模式能正常建立隧道实现秘密通信。
三、 层层剖析:
首先确认两个护卫IPSec VPN相关配置及参数无误。通过分析组网拓扑,可以知道在该组网场景下两端设备需要同时支持NAT穿越功能。ER路由器支持NAT穿越功能且默认使能,无需配置。对端C设备也支持此功能,同时已经使能。由于中间存在NAT设备,首先怀疑是否为NAT设备对两端交互的报文做了过滤?通过检查NAT设备的配置,确认无相关过滤规则。从C设备侧通过查看协商状态,发现第一阶段未建立,此时通过查看ER的日志,反复打印以下信息:
收到对端ISAKMP野蛮模式协商请求;
发送INVALID_ID_INFORMATION通告信息到对端。
分析日志信息,如果对端发送的报文中所携带的相关字段与ER上的配置参数不符,就会被设备拒绝,从而返回INVALID_ID_INFORMATION信息。为了确认相关参数是否匹配,在ER路由器侧通过镜像WAN口抓包,确认对端发送的报文所携带的参数是否正确,如图2所示。
图2 ASA5520->ER3260 ISAKMP Aggressive报文
通过分析C设备发送给ER的ISAKMP Aggressive报文,发现Identification字段即身份验证字段中的ID_FQDN与ER上所填写的对端ID不符,ER上配置的对端ID为ASA5520。再次检查C设备的配置,发现存在一条domain-name ccie.com的配置,所以对端在发送主机名时自动带上了域名也就是报文中看到的ASA5520.ccie.com,由此谜底终于解开。通过在ER路由器上将对端ID更改为ASA5520.ccie.com后,隧道正常建立,问题解决。
四、 锦囊妙计:
在ER路由器上的IKE对等体设置页面将对端ID改为ASA5520.ccie.com