crypto map 是策略型 IPsec 的骨架
在 Cisco 的策略型 IPsec 中,crypto map 把三样东西组合在一起:保护哪些流量(match address 引用 ACL)、用哪组加密参数(set transform-set)、与谁协商(set peer)。它按序列号从小到大评估,命中即使用该条目,最后必须应用到接口上才生效。
基本信息
| 结构 | crypto map <名字> <序列号> ipsec-isakmp |
|---|---|
| 匹配流量 | match address <ACL 号或名称> |
| 加密参数 | set transform-set <集合名> |
| 对端 | set peer <地址>,可选多对端实现备份 |
| 接口应用 | 接口下 crypto map <名字> |
| 查看命令 | show crypto map、show crypto ipsec sa |
典型使用场景
- 站点到站点隧道:ACL 定义双向需加密的网段,末尾需存在 deny 条目避免全网流量被卷入
- 多分支对接:同一 crypto map 用不同序列号区分不同分支的对端与参数
- 双链路备份:一个序列中配置多个 peer 实现故障切换
- 与本端地址绑定:存在多条出口链路时用 local-address 指定隧道源地址
- 迁移改造:保留旧序列作为回退路径,新序列验证通过后再删除旧配置
- 同一出口承载多租户:每个租户一组序列,各自匹配独立 ACL 与对端
- 改造前基线:记录当前序列与 SA 计数,变更后按同一口径复核
完整示例
完整示例
# 定义需要加密的流量
access-list 101 permit ip 10.1.1.0 0.0.0.255 10.2.2.0 0.0.0.255
!
crypto map CMAP 10 ipsec-isakmp
set peer 203.0.113.2
set transform-set TS-A
set pfs group14
match address 101
!
interface GigabitEthernet0/0
crypto map CMAP
!
show crypto map
show crypto ipsec sa核查命令读法
| 命令 | 看什么 | 异常提示 |
|---|---|---|
| show crypto map | 序列、对端、ACL 与 transform-set 关联 | 元素缺失说明配置不完整 |
| show crypto ipsec sa | 隧道读写方向的包计数 | 单侧计数为 0 说明方向不对或 ACL 未命中 |
| show crypto isakmp sa | 阶段一状态 | 状态异常说明参数或密钥问题 |
| show access-lists 101 | ACL 命中计数 | 计数不增长说明流量未匹配 |
验证与排错顺序
验证与排错顺序
# 1) 接口是否引用了 crypto map
show running-config interface GigabitEthernet0/0
# 2) ACL 是否覆盖业务流量且两端镜像
show access-lists 101
# 3) transform-set 与对端是否一致
show crypto ipsec transform-set
# 4) 隧道状态与计数
show crypto ipsec sa | include ident|pktsACL 的语义在策略型 IPsec 中表示「哪些流量需要保护」,而不是「允许或拒绝转发」。两端 ACL 需互为镜像,只配一侧或写成非对称范围时,会出现单向加密、单向明文的隐蔽问题。