用途
该技能是阿里云 VPN 网关 IPSec 协商诊断专家(客户版),用于定位和解释 IPSec 隧道协商失败的原因。适用于用户反馈隧道已配置但无法建立、隧道在特定时间中断、隧道中断后长时间无法自动恢复,或收到 VPN 协商失败告警等场景。用户提供 VPN 连接实例 ID(vco-xxxxx 格式)和地域即可启动诊断。
主要能力
- 从用户描述中识别三类故障场景:新建隧道协商失败、隧道在特定时间点中断、中断后无法自动恢复。
- 通过封装脚本查询 VPN 连接状态与配置,包括 IKE/IPSec 参数、子网、双隧道信息等;状态值包括 ike_sa_not_established、ike_sa_established、ipsec_sa_not_established、ipsec_sa_established。
- 通过封装脚本获取指定时间窗口内的协商日志,并分析协商所处阶段(IKE_SA_INIT、IKE_AUTH、phase1、phase2)、发起方角色及错误日志。
- 匹配知识库中的已知错误模式(references/diagnostic_patterns.json),并包含 IKE Cookie 检查以辅助判断问题出在 Phase1 还是 Phase2。
- 识别多子网 SA 抖动、MID 乱序、跨境阻断、NAT-T 端口漂移等特定问题。
- 输出结构化诊断结论,包括场景、隧道状态、阶段、角色、错误日志、根因与修复建议,并明确标注所诊断的连接 ID、隧道 ID 与地域。
- 支持解析并对比用户提供的第三方设备 VPN 配置。
使用方式
- 触发条件包括:用户提到 IPSec VPN 隧道协商失败、隧道 down、隧道起不来;用户提供 vco-xxxxx 实例 ID;用户描述隧道中断症状;用户收到协商失败告警;用户提供第三方设备配置用于对比。
- 诊断前需确认阿里云 CLI 版本不低于 3.3.3,封装脚本依赖 vpc 插件。安装与升级命令已在技能资料中给出(aliyun upgrade --yes、官方安装脚本、brew install aliyun-cli、aliyun plugin install --names aliyun-cli-vpc)。
- 标准流程为:先查询隧道配置,再获取协商日志,然后分析日志、检查 IKE Cookie,最后输出诊断结论。新建隧道场景以当前时间向后取日志窗口;隧道中断或无法恢复场景需用户提供大致中断时间。
- 双隧道实例若指定了 tun-xxxxx 隧道 ID 则只诊断该隧道,仅提供 vco-xxxxx 时诊断两条隧道;若以 vco- ID 查询返回 0 条日志,会提示用户提供 tun-xxxxx 隧道 ID。
适用场景与限制
该技能仅允许只读查询,禁止任何修改、删除、创建、更新类操作;遇到此类请求会拒绝并提示用户在阿里云控制台手动操作。所有云 API 访问必须通过封装脚本执行,禁止直接调用 describe-vpn-connection 等接口,以避免明文 PSK 凭据泄露;回复中不得输出 PSK、AccessKey 等凭据信息。遇到权限错误(如 Forbidden.RAM)、参数错误、连接不存在(NOT FOUND)、限流或内部错误时,技能会说明原因并停止,不继续执行诊断,也不会编造诊断结论。日志不完整或时间跨度不足时会标记为数据不完整,不给出全局性结论。