场景说明
这篇记录主要针对 Cisco ASA 防火墙 的站点到站点 IPSec VPN 配置。实际落地时,需要结合对端公网地址、加密域、NAT 规则和接口名称进行调整。
配置思路
ASA 上通常按这个顺序来:
- 定义 IKE Policy
- 配置 Tunnel Group 与预共享密钥
- 定义加密域 ACL
- 配置 Transform Set
- 创建 Crypto Map
- 绑定到外网接口
- 确认 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 顺序这三块,一般就是排障效率最高的突破口。