Cisco anyconnect VPN 路由器特定的公共 IP 通过隧道

网络工程 思科 思科-ASA 虚拟专用网 防火墙 网络
2022-02-28 14:54:03

我在 Cisco ASA5585-X 上运行了功能齐全的 cisco Anyconnect VPN,今天我需要一些远程公共站点,我们需要将我们的 VPN 公共 IP 列入白名单以通过 VPN 访问它们,因此任何通过 cisco anyconnect 的人都可以访问这些远程站点。

我的远程站点地址是222.222.222.222,他们已将我的 VPN 外部接口 IP 列入白名单111.111.111.111(我正在尝试使用我家中的 anyconnect 客户端访问)

思科 ASA 版本是asa964

same-security-traffic permit inter-interface
same-security-traffic permit intra-interface
!
ip local pool ANYCONNECT-VPN-POOL 10.5.250.10-10.5.250.254 mask 255.255.255.0
!
object-group network obj-NET-PRIVATE
 network-object 10.0.0.0 255.0.0.0
!
object network obj-ANYCONNECT-VPN-SUBNET
 subnet 10.5.250.0 255.255.255.0
!
group-policy GroupPolicy_ANYCONNECT-FOO internal
group-policy GroupPolicy_ANYCONNECT-FOO attributes
 dns-server value 10.10.0.10 10.10.0.11
 vpn-tunnel-protocol ssl-client
 split-tunnel-policy tunnelspecified
 split-tunnel-network-list value ANYCONNECT-ROUTES-FOO
 default-domain value foo.com
!
access-list ANYCONNECT-ROUTES-FOO standard permit 10.0.0.0 255.0.0.0
access-list ANYCONNECT-ROUTES-FOO standard permit host 222.222.222.222
!
nat (any,outside) source static any any destination static obj-ANYCONNECT-VPN-SUBNET obj-ANYCONNECT-VPN-SUBNET no-proxy-arp route-lookup
!
nat (any,outside) after-auto source dynamic obj-NET-PRIVATE interface

我在这里缺少什么,我可以看到 222.222.222.222 路由被注入到 vpn 客户端,但我无法 ping 或访问该 IP。

1个回答

实际上,我早在 2018 年就写了一篇关于这个确切主题的指南,因为我们(我工作的公司)有几个客户被锁定在我们的总部公共地址空间,我需要能够通过 AnyConnect 连接而无需使用跳箱。这是我的文章的副本。看起来你已经拥有了大部分需要的东西。

一般来说,使用 Cisco AnyConnect 时有两种流量策略:“split-tunnel-policy tunnelspecified”(通过隧道路由 LAN 流量,同时使用客户端自己的 Internet 访问来浏览 Internet)和“split-tunnel-policy tunnelall”(通过隧道路由所有流量——公共和私有)。最近,我被要求同时使用这两个选项的混合:通过隧道路由 LAN 流量,但也通过隧道路由显式 PUBLIC 主机,同时让一般公共流量像往常一样通过客户端的 Internet 路由使用隧道指定的方法。这需要一点思考,但它并不像你想象的那么复杂。(我)没有找到任何其他人这样做的文件,所以我想我会把它写下来给其他可能需要的人。在继续之前,我想列出这个设置的几个用例,以防不清楚为什么需要这种混合。

  • 远程设备(例如客户端防火墙或路由器)的管理访问权限被限制为仅允许来自总部公共 IP 的连接

  • 访问限制为仅允许从您总部的公共 IP 访问的网站

以下步骤假设您已经在 ASA 上配置了 AnyConnect,并希望添加此功能。如果您需要从头开始配置 AnyConnect,您 可以在此处找到基本指南,之后您可以返回此处混入此混合配置。首先,您需要定义一些东西(如果它们尚未定义)

  • 将所需的公共主机添加到最初设置拆分隧道时创建的 ACL

  • 创建一个对象组,您将在其中添加您在上述 ACL 中输入的相同公共主机

  • 创建一个定义您的 AnyConnect IP 池的对象(不是对象组)

  • 一个发夹 NAT 语句,用于说明出站和返回到上述公共主机的流量

以下是上面列出的每个项目的示例。

ACL 示例:

access-list SPLIT-TUNNEL-ACL standard permit host 8.8.8.8
access-list SPLIT-TUNNEL-ACL standard permit host 222.222.222.222

对象示例:

object network VPN-Pool-3Net
 subnet 192.168.3.0 255.255.255.0

对象组示例:

object-group network Internet-Through-AnyConnect
 network-object host 8.8.8.8
 network-object host 222.222.222.222

发夹式 NAT 示例:

nat (outside,outside) source dynamic VPN-Pool-3Net interface destination Internet-Through-AnyConnect Internet-Through-AnyConnect