把ASA配置为单臂VPN接入点

目标

把ASA设置为一个VPN接入点,挂在现有的网关路由器下面,让AnyConnect连入的客户端能够正常访问本地内网和公网。防火墙设为全部放通。

示例中使用以下配置:

  • 现有的内网:10.0.0.0/24
  • 网关:10.0.0.1
  • ASA:10.0.0.2
  • AnyConnect客户端地址池:10.0.253.0/24, fd00::/64

配置

硬件

  • 如果想要装齐桌面平台的AnyConnect包,那么需要升级SD卡到至少1G
  • 如果想要CSD或者Hostscan功能,那么需要升级内存到1G
  • AnyConnect以及下面会用到的trunking功能需要特定的软件授权

基础配置

  • 主机名
  • VLAN
  • IP地址和默认路由
  • DNS
  • NTP

远程管理

启用ASDM和SSH。因为AnyConnect也会需要http server功能,这里一并打开。(AnyConnect服务不受HTTP的IP白名单影响,白名单只给管理网启用即可。)

基础安全设定

  • 允许相同security level的端口之间转发流量
  • 创建enable password
  • 创建一个用户
  • 设置各种登录的鉴权
  • 关掉不必要的服务

为了简化配置,这里不添加外部认证方式,之后的AnyConnect也会用本地用户数据库作为唯一鉴权方式。

为AnyConnect客户端地址段添加路由

静态路由方式

在出口路由器上添加到AnyConnect客户端的地址段路由指向ASA的IP地址即可。

动态路由方式

之前我在《Cisco ASA做AnyConnect服务器时的动态路由协议和NAT规则设置》一文中讲过,AnyConnect客户端连接时ASA添加的动态路由重分发到动态路由协议很容易出bug。这边采用新建一个VLAN配置整个地址池为connected路由的方法来绕过这一bug。

以OSPF为例:

导入一个TLS证书

自签

导入外部签发的证书

参考之前的文章《向ASA导入证书》。

创建AnyConnect客户端地址池

IPv4

IPv6

设置AnyConnect客户端IP段的proxy-arp(可选)

这样设置以后客户端就没法traceroute了。我也不知道为什么要这么做,但是ASDM的AnyConnect向导会默认创建这条规则,因此写在这里以供参考。

添加AnyConnect安装包

每个桌面平台都必须添加webdeploy包才能连接。移动端倒是只要下载了相应的应用程序就可以。

设置AnyConnect端口

设置端口需要暂时禁用AnyConnect服务器,所以在下一步之前完成。

确定了端口以后,在网关上设置一下source NAT把相应端口转发到ASA的IP上。

配置AnyConnect服务器

仅SSLVPN,仅IPv4

添加IPv6(可选)

添加IPSec VPN(可选)

注意IPSec VPN一定要有个客户端配置文件,在配置之前要先把这个客户端配置文件传上去或者通过ASDM创建出来。

其它设置

访问控制

这里因为AnyConnect客户端进出流量走的同一个interface,所以防火墙默认规则为放通。如果设备上配置了其它interface并且希望AnyConnect客户端能访问,就需要配置放行规则。

如果要对AnyConnect客户端的流量设置防火墙,需要同时设置:

  • 接口为客户端连入的公网接口(在这里只有一个可能性是inside)
  • IP地址为客户端地址池

否则会无法match到流量或者导致公网连接断开。

组策略继承

所有的组策略都会继承DfltGrpPolicy,所以可以在DfltGrpPolicy里面指定一些常用配置。示例:

禁用DTLS

SSLVPN默认会启用DTLS(TLS over UDP);如果你的运营商对UDP有限速,那么你可能需要禁用DTLS。

Split route设置

演示一下路由白名单和黑名单的配置。

下发客户端配置

  • Group Policy -> Advanced -> AnyConnect Client里面需要选择下载该Profile
  • Client Profile要assign给相应的Group Policy
  • Connection Profile要引用相应的Group Policy

让ASA出现在traceroute结果中

ASA默认不减TTL(藏跳),非常不便于debug。如果要让它出现在traceroute结果中,可以这样设置:


参考:

发表回复

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

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据