Cisco ASAAnyConnect服务器时的动态路由协议和NAT规则设置

ASA的设计来看AnyConnect隧道不像是一个传统的Point-to-PointSite-to-Site VPN隧道而更像是一个IPSec Transform规则每个客户端建立起隧道以后ASA会为其动态生成一条路由该路由具有如下特征

  • 类型为静态STATIC
  • CIDR为/32
  • 接口为用户连入流量的来源接口例如用户从公网访问则为outsite
  • 网关地址为接口对应的网关

动态路由协议

ASA和另一台路由器之间有一个BGP会话现在想让另一台路由器能访问ASA上的AnyConnect客户端那么有两种实现方法

为每一个客户端宣告一条路由

这样很简单BGP重分发静态路由即可但是经过实验ASA对动态生成的静态路由的重分发并不是十分靠谱延迟严重有的时候甚至根本不向BGP邻居推送更新消息所以不是很建议使用这种方法

至于大量/32条目污染路由表的问题可以用auto-summary来解决

预先宣告整个AnyConnect IP

创建一条metric254的静态路由然后加入BGP的宣告列表即可注意ASAmetric 255等效于blackhole

NAT规则

如果你的运营商出口outside需要做PATmasquerade并且你为了偷懒设置了一条nat (any,outsite) after-auto source dynamic any interface的话那么恭喜你中招了AynConnect用户的源接口和目标接口都是outside于是它是无论如何都无法主动建立连接的

解决方法是把NAT规则拆成inside->outsideoutside->outsideAnyConnect客户端地址

Packet Tracer

不要用活跃的AnyConnect客户端IP作为Packet Tracer测试的源或者目标IP你会看到它莫名其妙被DROP

或者

正确的方法是使用AnyConnect地址池里面未被分配的IP


参考

Cisco ASAAnyConnect服务器时的动态路由协议和NAT规则设置有一个想法

  1. Pingback引用通告 ASA配置为单臂VPN接入点 | Drown in Codes

发表回复

您的邮箱地址不会被公开 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论了解你的评论数据如何被处理