VMESS 协议的 MD5 认证信息将淘汰,VMESS AEAD 协议已经经过同行评议并已经整合了相应的修改,作为对 MD5 的替代。
自 2022 年 1 月 1 日起,服务器端将默认禁用对于 MD5 认证信息的兼容。任何使用 MD5 认证信息的客户端将无法连接到禁用 VMess MD5 认证信息的服务器端。参见: https://1016.site/949b2
如果你发现 2022 年新建的 v2 突然不能用了,很可能就是这个原因。
解决方法如下:
最好的方法是启用 AEAD ,将服务端和客户端的 alterId 设置为 0 会启动 AEAD。设置好后,即可使用。一些过于古老的客户端没有 alterId 的设置,建议更新客户端,如果实在不方便更新客户端,可以使用下面的方法修改环境变量强制兼容 MD5 。
①在服务器端可以通过设置环境变量
v2ray.vmess.aead.forced = true
以关闭对于 MD5 认证信息的兼容。
②如果是手动启动 v2ray 服务,可以在启动前使用下面的命令添加环境变量,再启动 v2ray。
# /etc/systemd/system/v2ray.service
[Unit]
Description=V2Ray Service
Documentation=https://www.v2fly.org/
After=network.target nss-lookup.target
[Service]
# 修改环境变量
Environment="V2RAY_VMESS_AEAD_FORCED=false"
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/bin/v2ray -config /etc/v2ray/config.json
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
然后更新一下 systemd 服务,并重启 v2ray
systemctl daemon-reload
systemctl restart v2ray