IKE 与 500 端口
UDP 500 是 IPsec 中 IKE 协商的默认端口(对应 ISAKMP),负责身份认证、密钥交换与安全联盟的建立。链路中经过 NAT 时,IKE 与 ESP 会改用 UDP 4500 做 NAT 穿透封装。IKEv2(RFC 7296)是当前主流版本,Windows、macOS、iOS 与 Android 均原生支持,网络设备与开源实现也普遍支持,是远程接入与站点互联的常见选择。
基本信息
| 服务 | IKEv1 / IKEv2(ISAKMP 协商) |
|---|---|
| 协议 | UDP(500 协商;4500 为 NAT 穿透) |
| 相关协议号 | ESP(IP 协议号 50)承载加密数据 |
| 认证方式 | 预共享密钥或数字证书 |
| 常见实现 | strongSwan、libreswan、Windows 原生客户端、网络设备 |
| 安全等级 | 按需对客户端开放,建议限制来源范围 |
典型使用场景
- 远程接入:员工用系统自带客户端连公司网关,替代开放内网远程端口
- 站点互联:分支与总部之间建立固定隧道,承载内网互访流量
- 云上混合组网:本地数据中心与云上 VPC 通过隧道打通
- 移动设备接入:手机与平板原生支持 IKEv2,配置成本低
- 临时排障通道:为特定供应商开通限时隧道,到期回收
服务状态与协商检查
服务状态与协商检查
ss -lunp | grep -E ':500|:4500' # 确认 UDP 监听
ipsec statusall # strongSwan 查看隧道与协商状态
ipsec whack --trafficstatus # 查看隧道实际通过流量
ip xfrm state # 内核侧安全联盟,确认是否真正建立协商失败的常见原因
| 现象 | 可能原因 | 处置方向 |
|---|---|---|
| 第一阶段就失败 | 预共享密钥不一致或认证方式不匹配 | 核对两端密钥、标识与认证方法 |
| 第一阶段成功、第二阶段失败 | 加密套件或子网网段不一致 | 比对两端提议与感兴趣流范围 |
| 能协商但无流量 | NAT 环境未启用 NAT-T,ESP 被丢 | 放行 UDP 4500 并确认封装模式 |
| 频繁重连 | 存活检测参数与对端不一致 | 统一 DPD 与重连时间参数 |
使用预共享密钥时,弱密钥会被离线破解;密钥应足够长并定期更换,条件允许时优先使用证书认证,避免一份密钥泄露影响全部用户。
NAT 环境务必放行 UDP 4500:只开 500 时协商阶段可能看着正常,但加密数据被丢弃,表现为隧道已建立却完全不通业务。
排障顺序:先确认 UDP 500 可达并能完成第一阶段,再看第二阶段提议与感兴趣流,最后检查两端路由与防火墙对 ESP(协议号 50)的放行情况,按阶段定位比直接抓包猜要快得多。