技术领域
问题描述
拓扑环境
故障排查步骤
总结
AnyCOnnect, VPN, ASA
用户通过Cisco AnyConnect VPN Client建立SSL VPN连接到 ASA,发现无法访问ASA inside端的内网网络
以防火墙为节点,整个网络被划分为两个部分,内部网络(inside)和外部网络(outside), 所以排查点就有三个:防火墙外部网络,防火墙自身,防火墙内部网络。
排查防火墙外部网络:即VPN客户端到ASA outside接口部分,主要有以下两点需要排查:
如果防火墙外部网络检查没有问题,但是仍然发现VPN客户端没法访问客户内网资源,就需要进一步排查问题究竟处在防火墙本身还是客户内网,常规手段我们会进行抓包,以确定问题究竟出在哪个环节,但今天要介绍的是一个更为快捷的确定故障点的方法:开启防火墙inside接口的management access功能。
Management access 本身的设计初衷是当你有一个接口用于VPN连接的时候,你希望通过另外一个接口来登陆你的ASA,你可以通过把这个接口标示为management-access接口。举个例子来说,你是从ASA outside接口来进入ASA的,当你打开在inside 接口打开management-access功能的时候,你就可以从外网通过ASDM,SSH,telnet或者SNMP连接到ASA的inside接口地址,也可以从外口ping通ASA的inside端口地址。但需要注意的是,management-access 接口只能定义一个。
Management-access功能可以通过如下命令打开,下例中我们在inside接口打:
虽然这不是一个本身设计用来排错的命令,但在实际应用过程中,我们发现对于排查无法访问内网的问题,该命令能够十分快捷的排查故障点具体是在防火墙本身,还是在客户内网。
开启防火墙inside接口的management access功能之后,从VPN客户端ping 防火墙inside接口的IP地址:
从上述抓包可以看出,icmp request包已经从inside接口送出,但是未收到回应,佐证了我们之前的判断,是客户内网存在问题。ciscoasa# show capture cap 5 packets captured 1: 23:22:16.604399 10.1.1.254 > 10.1.1.253: icmp: echo request 2: 23:22:16.609129 10.1.1.254 > 10.1.1.253: icmp: echo request 3: 23:22:16.612257 10.1.1.254 > 10.1.1.253: icmp: echo request 4: 23:22:16.616072 10.1.1.254 > 10.1.1.253: icmp: echo request 5: 23:22:16.620985 10.1.1.254 > 10.1.1.253: icmp: echo request
ciscoasa# show capture cap-out 10 packets captured 1: 23:22:16.604399 10.1.1.254 > 10.1.1.253: icmp: echo request 2: 23:22:16.608916 10.1.1.253 > 10.1.1.254: icmp: echo reply 3: 23:22:16.609129 10.1.1.254 > 10.1.1.253: icmp: echo request 4: 23:22:16.612044 10.1.1.253 > 10.1.1.254: icmp: echo reply 5: 23:22:16.612257 10.1.1.254 > 10.1.1.253: icmp: echo request 6: 23:22:16.615843 10.1.1.253 > 10.1.1.254: icmp: echo reply 7: 23:22:16.616072 10.1.1.254 > 10.1.1.253: icmp: echo request 8: 23:22:16.620771 10.1.1.253 > 10.1.1.254: icmp: echo reply 9: 23:22:16.620985 10.1.1.254 > 10.1.1.253: icmp: echo request 10: 23:22:16.623869 10.1.1.253 > 10.1.1.254: icmp: echo reply