VLESS + Reality 是 2023 年之后最稳的一套组合:不需要买域名、不需要签证书,握手时直接借用一个大站的真实 TLS 证书,从外面看就是访问了那个站。这篇从零装到能用,包含密钥生成、配置、客户端链接和排错。
一、Reality 到底解决了什么
传统 TLS 方案(Trojan、VLESS+WS+TLS)有个硬伤:你得先有自己的域名和证书,而且证书是”自签或小站”的,主动探测一查就能看出异常。Reality 换了个思路——握手时把流量转发给一个真实的第三方站点(比如 www.microsoft.com),拿它的证书完成握手。探测方看到的是真实的微软证书链,无法区分。
- 不需要域名:省掉解析、续期、备案一堆事
- 不需要证书:证书是”借”来的,不在你服务器上
- 抗主动探测:没有密码的人连接会被直接转发到真站点
- 性能好:走 TCP,支持
xtls-rprx-vision流量直通
二、服务端准备
# Debian 12 / Ubuntu 22.04
apt update && apt -y install curl wget ufw
timedatectl set-ntp true # 时间必须准,Reality 对时间敏感
ufw allow 22/tcp
ufw allow 443/tcp
ufw --force enable
# 开 BBR
cat >> /etc/sysctl.conf <<'EOF'
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
sysctl -p
三、安装 Xray
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
xray version
生成两个东西:UUID 和 Reality 密钥对。
xray uuid # 输出 UUID,记下来
xray x25519 # 输出 Private key / Public key,两个都记下来
四、配置文件
编辑 /usr/local/etc/xray/config.json:
{
"log": { "loglevel": "warning" },
"inbounds": [
{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [
{ "id": "替换成你的UUID", "flow": "xtls-rprx-vision" }
],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"show": false,
"dest": "www.microsoft.com:443",
"xver": 0,
"serverNames": ["www.microsoft.com"],
"privateKey": "替换成 Private key",
"shortIds": ["", "6ba85179e30d4fc2"]
}
}
}
],
"outbounds": [
{ "protocol": "freedom", "tag": "direct" }
]
}
| 字段 | 说明 |
|---|---|
dest | 伪装目标,必须是支持 TLS 1.3 + HTTP/2 的站,且别选国内可达性差的 |
serverNames | 必须和 dest 的域名一致,否则握手失败 |
shortIds | 留空串 + 一个随机 16 位 hex,客户端二选一 |
flow | 服务端和客户端必须都写 xtls-rprx-vision |
xray -test -config /usr/local/etc/xray/config.json # 校验配置
systemctl restart xray
systemctl status xray --no-pager
ss -lntp | grep 443
五、客户端链接
按这个模板拼,参数对上就能导入:
vless://UUID@服务器IP:443?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=PublicKey&sid=6ba85179e30d4fc2&type=tcp#node-01
pbk是公钥(Public key),不是私钥sid填 shortIds 里那个非空的值,或者留空fp建议chrome,指纹对不上容易被识别- 客户端:v2rayN / NekoRay / Mihomo(Clash Verge Rev)/ Shadowrocket 全支持
六、排错
| 现象 | 原因 | 处理 |
|---|---|---|
| 客户端秒断 | flow 只写了一边 | 服务端客户端都加 xtls-rprx-vision |
| 握手超时 | dest 的 SNI 对不上 | serverNames 必须等于 dest 域名 |
| 能连不能上网 | DNS 或路由问题 | 客户端开远程 DNS |
| 用几天就失效 | dest 站点变了或封了 | 换 www.apple.com / www.cloudflare.com |
| 日志报 time | 系统时间偏差 | timedatectl set-ntp true |
七、几条经验
- dest 别选 CDN 后面的站:Cloudflare 代理的站点握手特征会变,容易出问题
- 443 端口被占:先
ss -lntp看谁在占,Nginx 在跑就先停 - 别把 UUID 和私钥贴到公开仓库:等价于把节点送人
- 一个端口可以多用户:clients 数组里加对象即可,每个 UUID 一个 flow
Reality 是目前综合成本最低的方案:一台 VPS、一个端口、两条命令生成密钥,五分钟能上线。要更强的抗封锁就上 Hysteria2 做备份线路,两条腿走路。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END









暂无评论内容