首页/网络/常用端口速查/4500 IPsec NAT-T 封装

4500 IPsec NAT-T 封装

IPsec 的 NAT 穿越端口:IKE 协商后 UDP 4500 承载 ESP 封装流量,VPN 网关配置的必放条目。

常用端口速查网络更新于 2026-10-13

NAT-T 是什么

IPsec 的 ESP 是 IP 层协议(协议号 50),没有端口概念,NAT 设备无法为它建立映射。RFC 3947/3948 给出的办法是:先通过 UDP 500 完成 IKE 协商,探测到路径上有 NAT 之后,改用 UDP 4500 承载封装后的 ESP 报文,这就是 NAT 穿越(NAT-T)。因此 500 与 4500 是一对:协商走 500,数据通道走 4500。

基本信息

服务IPsec NAT-Traversal(RFC 3947 / RFC 3948)
协议UDP 4500(IKE 走 UDP 500)
典型用途站点到站点 VPN、客户端远程接入穿越 NAT
放行三件套UDP 500、UDP 4500、ESP(IP 协议号 50)
安全等级仅允许对端网关地址

典型使用场景

  • 分支与总部之间的 IPsec 隧道,两端都在 NAT 之后
  • 客户端远程接入:居家网络经过家用路由器访问企业内网
  • 排障:隧道建立失败时,按 500 → 4500 → ESP 的顺序逐层确认
  • 云上部署:云网关与本地设备建立隧道,注意云端安全组同样要放行
  • 巡检:确认没有为临时测试放行的宽泛规则残留在边界设备上

基础连通性检查

基础连通性检查
sudo tcpdump -ni eth0 'udp port 500 or udp port 4500' -c 30
sudo ipsec statusall                  # strongSwan/libreswan:看 SA 与 NAT 探测结果
sudo swanctl --list-sas | head -30    # strongSwan 新版命令行
# UDP 无连接,nc -zuv 只能证明本机能发包,不能证明对端在听

放行清单与常见遗漏

条目作用遗漏后的表现
UDP 500IKE 协商完全无法开始协商
UDP 4500NAT-T 数据通道协商看到响应但隧道起不来
ESP(协议号 50)无 NAT 时的数据通道隧道显示建立但流量不通
AH(协议号 51)完整性保护(少用)与 NAT 场景一般不兼容
真实 IPsec 状态要用 ipsec status 或守护进程日志确认,端口通不代表 SA 建立;相反,UDP 探测不通也可能是对端只接受特定来源地址,需结合日志判断。
NAT-T 还有保活机制:客户端会周期性发送小报文维持 NAT 映射,若中间设备把这类空闲会话过早回收,隧道会表现为规律性掉线,需要核查 NAT 会话老化时间与保活间隔。
加固提示:IKE 与 NAT-T 的协商报文同样会被扫描与尝试,网关侧应限制可发起协商的来源地址,并选用足够强度的加密套件与预共享密钥。

巡检与加固要点

  • 两端设备的安全策略与放行条目定期比对,避免只改一侧
  • 统计隧道建立与断开记录,识别异常频繁重连
  • 预共享密钥按对端分别设置,避免一处泄漏波及全部隧道
  • 变更前留存一份可用的配置备份与回退步骤

易错点

  • NAT 环境只放 500 不放 4500:握手看似成功但隧道始终起不来
  • 只放 UDP 忘了 ESP:在没有 NAT 的路径上数据通道被判丢,隧道建起来也不通
  • 云端安全组与本地防火墙只配一侧:两端都以为对方没响应,排障容易互相推责
  • 放行来源写成 any:IPsec 网关面向公网时应限定对端地址,避免被扫描与乱序协商干扰

数据来源与参考

  • RFC 3948:UDP Encapsulation of IPsec ESP Packets
  • Windows 系统 services 文件(ipsec-msft)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌