场景说明

这篇记录主要针对 Cisco ASA 防火墙 的站点到站点 IPSec VPN 配置。实际落地时,需要结合对端公网地址、加密域、NAT 规则和接口名称进行调整。

配置思路

ASA 上通常按这个顺序来:

  1. 定义 IKE Policy
  2. 配置 Tunnel Group 与预共享密钥
  3. 定义加密域 ACL
  4. 配置 Transform Set
  5. 创建 Crypto Map
  6. 绑定到外网接口
  7. 确认 NAT 豁免策略

示例配置

crypto ikev1 policy 10
 authentication pre-share
 encryption aes
 hash sha
 group 2
 lifetime 86400

access-list VPN-ACL extended permit ip 192.168.10.0 255.255.255.0 192.168.20.0 255.255.255.0

crypto ipsec ikev1 transform-set VPN-SET esp-aes esp-sha-hmac

crypto map OUTSIDE-MAP 10 match address VPN-ACL
crypto map OUTSIDE-MAP 10 set peer 2.2.2.2
crypto map OUTSIDE-MAP 10 set ikev1 transform-set VPN-SET
crypto map OUTSIDE-MAP interface outside

tunnel-group 2.2.2.2 type ipsec-l2l
tunnel-group 2.2.2.2 ipsec-attributes
 ikev1 pre-shared-key YOUR_SECRET_KEY

NAT 豁免示例

如果 ASA 出口做了 NAT,需要确保加密域流量不被错误转换:

object network OBJ-LAN
 subnet 192.168.10.0 255.255.255.0

object network OBJ-REMOTE
 subnet 192.168.20.0 255.255.255.0

nat (inside,outside) source static OBJ-LAN OBJ-LAN destination static OBJ-REMOTE OBJ-REMOTE no-proxy-arp route-lookup

关键检查点

1. ACL 加密域要双端对应

ASA 本地 ACL 和对端设备的感兴趣流必须镜像一致,不一致时通常会出现协商看似正常、业务却不通的情况。

2. Tunnel Group 对端地址必须准确

tunnel-group 绑定的是对端公网 IP,写错地址时,Phase 1 基本不可能正常建立。

3. NAT 豁免一定要核对

ASA 场景里,很多问题不是 IPSec 本身有错,而是流量先被 NAT 改写了,导致流量根本没正确进入隧道。

常用排查命令

show crypto ikev1 sa
show crypto ipsec sa
show run crypto
show access-list VPN-ACL
show nat detail

结论

Cisco ASA 的 IPSec VPN 配置重点不只是把隧道拉起来,更重要的是确保 ACL、NAT 豁免和 Tunnel Group 三者完全对应。协商状态、加密域和 NAT 顺序这三块,一般就是排障效率最高的突破口。