Administrator
发布于 2026-02-25 / 1 阅读
0
0

VLESS + REALITY 代理部署指南

高隐蔽代理方案,无需域名和证书,TLS 指纹借用大网站。


架构概述

┌─────────────────────────────────────────────────────────────────────────┐
│                              互联网                                      │
└─────────────────────────────────────────────────────────────────────────┘
                                    │
                    ┌───────────────┴───────────────┐
                    │                               │
                    ▼                               ▼
            ┌───────────────┐              ┌───────────────┐
            │  端口 443      │              │  端口 XXXXX    │
            │  (HTTPS)      │              │  (REALITY)    │
            │               │              │               │
            │  ┌─────────┐  │              │  ┌─────────┐  │
            │  │  Nginx  │  │              │  │  Xray   │  │
            │  │         │  │              │  │ VLESS   │  │
            │  │ 你的网站 │  │              │  │ REALITY │  │
            │  └─────────┘  │              │  └─────────┘  │
            └───────────────┘              └───────────────┘
                    │                               │
                    ▼                               ▼
            ┌───────────────┐              ┌───────────────┐
            │  正常网站访问  │              │  代理流量出站  │
            │  SSL 证书     │              │  借用 MS 指纹  │
            └───────────────┘              └───────────────┘

特点

特性 说明
无需域名 直接用服务器 IP
无需证书 REALITY 借用大网站 TLS 指纹
高隐蔽性 GFW 无法区分真假 TLS 流量
端口独立 不影响现有 Nginx 服务
低延迟 原生 TCP,无额外封装

环境要求

  • CentOS 9 / Rocky Linux 9 / AlmaLinux 9
  • 1 核 1G 内存起步
  • 开放代理端口(本文示例使用高位端口)

部署步骤

1. 安装 Xray

# 更新系统
sudo dnf update -y

# 安装依赖
sudo dnf install -y curl

# 安装 Xray(官方脚本)
sudo bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

2. 生成密钥

# 生成 UUID
/usr/local/bin/xray uuid
# 输出示例:a3960298-116e-4668-bf7c-83dc8ddc07bc

# 生成 x25519 密钥对(REALITY 用)
/usr/local/bin/xray x25519
# 输出示例:
# Private key: kLYcpM5xh0ftYC8QaYLcUVEuInufUyF_cNwq7ztY9mE
# Public key: 4pc_4hr9FIU4gs3oL-ziP-mp3OOkBLt496QcxLeEy3M

# 生成 Short ID(可选,随机 8 位 hex)
openssl rand -hex 4
# 输出示例:1b2f1c2c

密钥说明:

字段 用途 存放位置
UUID 客户端身份标识 服务端 + 客户端
Private Key 服务端私钥 仅服务端
Public Key 客户端验证用 服务端 + 客户端
Short ID 连接标识(可留空) 服务端 + 客户端

3. 配置 Xray

编辑 /usr/local/etc/xray/config.json

{
  "log": {
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "tag": "vless-reality",
      "listen": "0.0.0.0",
      "port": XXXXX,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "YOUR_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",
            "microsoft.com",
            "login.live.com"
          ],
          "privateKey": "YOUR_PRIVATE_KEY",
          "shortIds": [
            "",
            "YOUR_SHORT_ID",
            "0123456789abcdef"
          ]
        }
      },
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls", "quic"]
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "direct"
    },
    {
      "protocol": "dns",
      "tag": "dns-out"
    }
  ],
  "routing": {
    "domainStrategy": "AsIs",
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "direct"
      },
      {
        "type": "field",
        "protocol": ["bittorrent"],
        "outboundTag": "direct"
      }
    ]
  }
}

替换以下占位符:

占位符 替换为
XXXXX 你选择的端口号(如 14789)
YOUR_UUID 第 2 步生成的 UUID
YOUR_PRIVATE_KEY 第 2 步生成的 Private Key
YOUR_SHORT_ID 第 2 步生成的 Short ID(可选)

4. 配置防火墙

# 方法一:firewalld(CentOS 9 默认)
sudo firewall-cmd --zone=public --add-port=XXXXX/tcp --permanent
sudo firewall-cmd --reload

# 验证
sudo firewall-cmd --list-ports

# 方法二:如果没开防火墙,跳过此步

云服务商安全组:

如果是云服务器(UCloud、阿里云、腾讯云等),还需要在控制台安全组开放端口。


5. 启动服务

# 测试配置
sudo /usr/local/bin/xray run -test -config /usr/local/etc/xray/config.json

# 启动并设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable --now xray

# 查看状态
sudo systemctl status xray

# 查看日志(排查问题用)
sudo journalctl -u xray -f --no-pager

6. 验证服务

# 检查端口监听
netstat -tulnp | grep XXXXX

# 或
ss -tulnp | grep XXXXX

# 检查服务运行
systemctl status xray

客户端配置

参数表

字段
协议 VLESS
地址 你的服务器 IP
端口 XXXXX
UUID YOUR_UUID
Flow xtls-rprx-vision ⚠️ 必填
加密 none
传输协议 TCP
安全 reality
SNI www.microsoft.com
Fingerprint chrome
Public Key YOUR_PUBLIC_KEY
Short ID YOUR_SHORT_ID(或留空)

分享链接格式

vless://YOUR_UUID@YOUR_IP:XXXXX?encryption=none&flow=xtls-rprx-vision&security=reality&sni=www.microsoft.com&fp=chrome&pbk=YOUR_PUBLIC_KEY&sid=YOUR_SHORT_ID&type=tcp#REALITY

支持的客户端

平台 推荐客户端
Windows v2rayN, Clash Verge
macOS V2rayU, Clash Verge
iOS Shadowrocket, Quantumult X
Android v2rayNG, Clash for Android

隐蔽原理

┌─────────────────────────────────────────────────────────────────┐
│                     REALITY 如何工作                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  1. 客户端发起 TLS 握手                                          │
│     ┌─────────┐    ClientHello     ┌─────────┐                 │
│     │ 客户端  │ ──────────────────→│  服务器  │                 │
│     │         │   SNI: microsoft   │         │                 │
│     └─────────┘                    └─────────┘                 │
│                                                                 │
│  2. 服务器返回"偷来"的证书                                        │
│     ┌─────────┐    ServerHello     ┌─────────┐                 │
│     │ 客户端  │ ←─────────────────│  服务器  │                 │
│     │         │   微软的证书       │  (偷梁换柱)│                 │
│     └─────────┘                    └─────────┘                 │
│                                                                 │
│  3. 建立"假"的 TLS 连接,传输"真"的代理数据                        │
│     ┌─────────┐    加密数据        ┌─────────┐                 │
│     │ 客户端  │ ←───────────────→ │  服务器  │                 │
│     │         │   (GFW看不懂)      │         │                 │
│     └─────────┘                    └─────────┘                 │
│                                                                 │
│  GFW: "这人在访问 Microsoft,放行" 🤷                            │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

伪装目标选择

可以更换 destserverNames 来伪装成其他大网站:

// 伪装成 Apple
"dest": "www.apple.com:443",
"serverNames": ["www.apple.com", "apple.com"]

// 伪装成 Cloudflare
"dest": "www.cloudflare.com:443",
"serverNames": ["www.cloudflare.com"]

// 伪装成 Amazon
"dest": "www.amazon.com:443",
"serverNames": ["www.amazon.com"]

要求: 目标网站必须支持 TLS 1.3 和 HTTP/2。


日常维护

# 查看服务状态
sudo systemctl status xray

# 重启服务
sudo systemctl restart xray

# 查看日志
sudo journalctl -u xray -f

# 更新 Xray
sudo bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
sudo systemctl restart xray

常见问题

Q: 连接超时?

  1. 检查防火墙是否开放端口
  2. 检查云服务商安全组
  3. 检查 Xray 服务是否运行

Q: 连上但无法上网?

  1. 确认 Flow 设为 xtls-rprx-vision(最常见原因)
  2. 检查 Public Key 是否正确(不是 Private Key)
  3. 检查 SNI 是否设为 www.microsoft.com

Q: 速度慢?

  1. 确认服务器带宽
  2. 尝试更换伪装目标
  3. 检查服务器负载

安全建议

  1. 定期更新 Xray — 获取最新安全修复
  2. UUID 保密 — 不要分享给他人
  3. Private Key 保密 — 只保存在服务端
  4. 监控日志 — 定期检查异常连接
  5. 限制连接数 — 必要时在防火墙限制


评论