VMess 协议的 MD5 认证信息将淘汰,VMess AEAD 协议已经经过同行评议并已经整合了相应的修改,作为对 MD5 的替代。
自 2022 年 1 月 1 日起,服务器端将默认禁用对于 MD5 认证信息的兼容。任何使用 MD5 认证信息的客户端将无法连接到禁用 VMess MD5 认证信息的服务器端。
如果你发现 2022 年新建的 v2ray 服务端突然不能用了,很可能是这个原因。
如何解决呢?
最好的方法是启用 AEAD ,将服务端和客户端的 alterId 设置为 0 会启动 AEAD。设置好后,即可使用。一些过于古老的客户端没有 alterId 的设置,建议更新客户端,如果实在不方便更新客户端,可以使用下面的方法修改环境变量强制兼容 MD5 。
在服务器端可以通过设置环境变量 v2ray.vmess.aead.forced = true 以关闭对于 MD5 认证信息的兼容。 或者 v2ray.vmess.aead.forced = false 以强制开启对于 MD5 认证信息 认证机制的兼容 (不受到 2022 年自动禁用机制的影响) 。 (v4.35.0+)
如果是手动启动 v2ray 服务,可以在启动前使用下面的命令添加环境变量,再启动 v2ray
|
|
如果使用 systemctl 启动 v2ray 服务,可以修改 v2ray.service 文件,添加 Environment="V2RAY_VMESS_AEAD_FORCED=false"
|
|
然后更新一下 systemd 服务,并重启 v2ray
|
|
能使用 AEAD 还是尽量用 AEAD 吧,强制支持 MD5 只是临时解决方法,毕竟 MD5 有漏洞。