跳到主内容
机场工具箱
概念原理 机场工具箱 编辑部

alterId 是什么,为什么新内核要求它必须是 0

解析 vmess 链接时看到 alterId 非零并被标为过时,原因是 VMess 早已从 MD5 认证换成了 AEAD。本文说明 alterId 的历史作用、为什么它被废弃、以及遇到非零值时该怎么处理。

发布:2026 年 7 月 20 日 约 2 分钟读完
本文目录(6 节 · 约 2 分钟) +
  1. 01 它原本是干什么的
  2. 02 为什么被废弃了
  3. 03 所以看到非零值该怎么办
  4. 04 一个容易混淆的地方
  5. 05 顺带一提:VMess 之外
  6. 06 小结

一句话结论:alterId 是旧版 VMess 的额外 ID 机制,配合已被淘汰的 MD5 认证使用。 VMess 改用 AEAD 认证后它就没有意义了,mihomo 等新内核不再支持非零值,遇到会直接拒绝连接。看到 alterId 大于 0,基本说明这条链接来自很久以前,或者服务端版本很老。

它原本是干什么的

早期 VMess 的认证依赖时间戳加 MD5。客户端用 UUID 和当前时间生成一个校验值,服务端用同样的方法算一遍比对。这套机制有个弱点:如果攻击者能收集足够多的握手包,就有可能通过重放或统计分析识别出这是 VMess 流量。

alterId 的设计意图是缓解这个问题——它让客户端在主 UUID 之外,再派生出 N 个「备用 ID」,每次连接随机挑一个用。ID 池越大,同一个 ID 重复出现的频率越低,理论上就越难被统计分析盯上。所以老教程里常写 alterId: 64

为什么被废弃了

alterId 只是给一个有结构性缺陷的认证方式打补丁,代价还不小:

  • 客户端和服务端都要预先生成并维护 N 个 ID,内存和计算开销随 N 增长
  • 它并没有真正解决问题,只是把统计分析的门槛抬高了一点
  • MD5 本身早已不适合用于安全场景

2020 年前后 VMess 引入了 AEAD(Authenticated Encryption with Associated Data)认证,从根上换掉了这套机制。AEAD 把加密和认证合成一步完成,不需要靠 ID 池来增加随机性。于是 alterId 失去了存在理由,官方将其标记为废弃,取值统一为 0。

再往后,新内核干脆移除了对非零 alterId 的支持——不是「不推荐」,是直接不支持。mihomo 遇到非零值会报错拒绝加载该节点。

所以看到非零值该怎么办

如果是机场给的订阅

说明这家机场的服务端还在跑很老的版本,或者订阅生成模板多年没更新。你可以:

  1. 先试着把 alterId 改成 0 —— 如果服务端已经支持 AEAD(大概率支持,只是订阅模板没改),改完就能连
  2. 改成 0 之后连不上,说明服务端确实还是老版本,那就只能用老客户端,或者换一家

第二种情况值得警惕:一个 2026 年还在用 MD5 认证的服务端,说明运维已经很久没动过了。

如果是自己搭的

升级服务端到支持 AEAD 的版本,然后两边都把 alterId 设为 0。

如果只是想看清一条链接里写了什么

把链接粘进节点链接解析器,它会把 alterId 单独标出来并说明含义,同时解析出传输方式、TLS、伪装域名等全部参数。解析在你的浏览器里完成,链接不会上传。

一个容易混淆的地方

alterIdid(UUID)是两回事。id 是你的身份凭证,必须和服务端一致,泄露了别人就能用你的节点。alterId 只是个数字,表示派生多少个备用 ID,本身不是秘密。

解析工具里如果看到 id 字段缺失,那是致命问题——客户端无法完成认证。而 alterId 缺失反而没关系,默认就是 0。

顺带一提:VMess 之外

VLESS 从设计之初就没有 alterId 这类东西。它把加密和认证的责任交给传输层(TLS / Reality),协议本身只做最小化的身份标识,所以配置字段比 VMess 少得多。这也是近几年 VLESS 使用率上升的原因之一。

如果你在对比两条链接的差异,节点链接解析器会把各协议特有的字段分别翻译出来,包括 VLESS 的 Reality 公钥、flow 控制这些。

小结

  • alterId 是 MD5 认证时代的产物,AEAD 之后失去意义
  • 新内核不支持非零值,会直接拒绝连接
  • 遇到非零先试着改成 0,改完连不上说明服务端太老了
  • 它和 UUID 是两回事,前者不是秘密

照着做一遍,比再看十篇都有用

先挑好客户端,遇到连不上再回来排查。

相关文章

配置报错、链接看不懂?粘进来看一眼

不用注册、不用填订阅地址,把出问题的配置或看不懂的节点链接直接粘进对应工具,结果当场显示。全部计算在你的浏览器里完成,粘贴的内容不会上传到任何地方——页面加载完之后断网,工具照样能用。