VLESS + Reality 搭建教程:不买域名也能有真 TLS

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
喜欢就支持一下吧
点赞15 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容