所有系统运行正常 8 支持的加密货币 · 欢迎使用 Monero 无需 KYC 政策
KernelVPS

反审查

如何使用 3x-ui 面板在 VPS 上搭建 Xray(VLESS + Reality)

Reality 并不是把你的隧道藏在一张属于你自己的证书后面——它借用的是一个真实的、毫不相关的网站的 TLS 握手。下面是从零到可用的完整部署流程,以及真正重要的加固要点。

教程10 分钟阅读 阅读KernelVPS 团队

如何使用 3x-ui 面板在 VPS 上搭建 Xray(VLESS + Reality)

Reality 是当前应对深度包检测(DPI)的主流方案,其原理是拒绝拥有属于自己的身份。你的服务器不会出示一张为自己注册的域名购买的证书,而是转发一个真实网站的握手。下面介绍如何在 VPS 上搭建 Xray,以及人们最常出错的地方。

Reality 为何改变了受审查网络中的博弈规则

在此之前的每一种方案都需要一个“名字”:一个你注册的域名、一张你签发的证书,背后跑着 VLESS 或 Trojan。这套办法能撑住,直到审查者探测你的 IP,发现一个只有一个访客、证书刚签发一周的孤零零的域名——这时候封锁就不再是猜测,而是确认。Reality 去掉了这个“名字”:你的服务器会把自己无法验证的握手转发给一个真实网站,由对方用自己的证书来应答。

  • 没有域名,也没有证书——DNS 记录和证书透明度日志里都不会有任何东西指向你的服务器。
  • 主动探测天生就会失败:没有密钥的探测者得到的是货真价实的伪装网站。
  • 流量走在 443 端口上,包裹在一次真实的 TLS 1.3 会话里——网络上最平淡无奇的一类流量。
  • 客户端通过 uTLS 模拟浏览器的 TLS 指纹,因此握手过程不会暴露任何代理痕迹。

要精确认识这条边界,高估它正是许多人被抓的原因。观察者能看到你的 IP、服务器的 IP、443 端口,以及你所模仿的网站名称——看起来就像真的在访问那个网站一样。但依然可见的是“形状”:每天连续八小时对同一个境外 IP 发起一次长会话,无论底层协议是什么,这种模式本身就不寻常。Reality 击败的是协议指纹识别和主动探测,而不是流量分析,它也不等于匿名。

经验法则:Reality 回答的是“这是什么协议?”这个问题,而不是“这个人为什么整天都在跟那一个 IP 通信?”这个问题。它是伪装,而不是隐身斗篷。

在 VPS 上搭建 Xray 之前你需要准备什么

服务器1 个 vCPU 和 1 GB 内存。Xray-core 空闲时只占用几十 MB 内存;带宽比核心数更重要。
操作系统一个干净的 Debian 12 或 13,或者 Ubuntu 22.04 或 24.04。
端口入站端口用 443/tcp,另外再留一个高位端口给面板——之后你会停止对外暴露它。
域名不需要。Reality 不需要你自己的域名,也不需要证书;客户端直接连接裸 IP 即可。
耗时搭好一条可用的隧道大约需要二十分钟,再加二十分钟用于加固。

选择部署地点,以及如何在不留身份痕迹的情况下付款

有两个变量决定了这套方案能撑多久:服务器放在哪里,以及购买它的行为会不会指回你本人。为了速度,选离你最近、且不做过滤的国家。为了持久性,选一个不会应请求就交出服务器的司法管辖区。可以在 /locations 上对比各地区,在 /offshore-hosting 上了解司法管辖区会带来哪些不同。

KernelVPS 运营着 15 个地区节点,其中 6 个属于隐私优先级:荷兰、瑞士、罗马尼亚、冰岛、摩尔多瓦和卢森堡。套餐起价 $3.49/mo,提供 1 vCPU、1 GB DDR5 内存和 20 GB NVMe Gen4 存储,不限流量,自带 DDoS 防护,部署耗时不到 60 秒。账户余额可用七种币种充值:比特币、门罗币、以太坊、莱特币、USDT、TRON 或 Solana。套餐梯度见 /vps,政策说明见 /no-kyc-vps,充值流程见 /pay-with

如果你搭这条隧道是因为在你所在的地方使用它本身就很敏感,那么支付记录理应得到和协议同等的谨慎对待:一张写着主机商名称的信用卡账单,存在的时间会比服务器本身长得多。/pay-with-monero 是最私密的支付方式。

使用 3x-ui 面板在 VPS 上安装 Xray

你可以直接用 Xray-core 自己的 config.json 来运行,如果你对此得心应手,尽管这么做。但对大多数人来说,3x-ui 是更好的选择:它会生成密钥对、生成客户端链接和二维码、管理用户,并把 Xray 安装为一个 systemd 服务单元。

  1. 1

    先加固,别放到最后

    先执行 apt update && apt full-upgrade -y,创建一个 sudo 用户,装好你的 SSH 密钥,然后设置 PasswordAuthentication no 和 PermitRootLogin no——一定要在任何服务监听 443 端口之前完成这些步骤。

  2. 2

    安装面板

    以 root 身份执行:bash <(curl -Ls https://raw.githubusercontent.com/MHSanaei/3x-ui/master/install.sh)。它会拉取 Xray-core、注册一个 systemd 服务,并提示你设置账号密码、端口和 URL 路径。直接采用它随机生成的那些值——扫描器专门在裸 root 上寻找经典的 54321 端口。

  3. 3

    通过 SSH 访问面板

    不要把面板暴露出去,而是做端口转发:对服务器执行 ssh -L 2053:127.0.0.1:PANELPORT,然后在本地打开 127.0.0.1:2053。面板本来就不需要任何入站连接。

  4. 4

    创建入站规则

    进入 Inbounds,点击 Add Inbound:协议选 VLESS,端口 443,Security 设为 Reality。传输方式保持 raw TCP 不变——配合 Vision flow,这是速度最快、也最不显眼的组合。

生成 Reality 密钥对,并挑选一个伪装域名

Reality 依赖两个选择:一对 x25519 密钥,以及你所模仿的网站。面板一键就能生成这对密钥;在裸 Xray 上,对应的命令是 xray x25519。私钥永远不会离开服务器,公钥则连同一个短 ID 一起写入每一条客户端链接。真正让人被封锁的,往往是伪装目标的选择——也就是面板里的 Dest 和 SNI。

  • 它必须支持带 X25519 的 TLS 1.3,最好还支持 HTTP/2。Reality 没法借用一个自己“说不出口”的握手。
  • 它在你用户所在的地方不能是被封锁的——模仿一个连你自己的审查者都在过滤的网站,只会让整套方案白费功夫。
  • 它在地理上应该和你的服务器说得通。一台位于阿姆斯特丹的服务器,却去模仿一个只解析到亚洲数据中心的域名,这就是一处破绽。
  • 尽量选一个平平无奇的目标,并且每月复查一次。论坛上流传的“推荐 dest 列表”恰恰因为流传甚广,才会被审查者拿去抽查。

选 dest 的黄金法则:一个你的服务器待在那里说得通、你的用户无论在哪里都能访问到、而且彻头彻尾平淡无奇的地方。平淡无奇,才是目标。

生成客户端链接,并连接你的设备

面板会为每个客户端生成一条 vless:// 链接和一个二维码。真正重要的参数是公钥(pbk)、短 ID(sid)、SNI、uTLS 指纹(fp,选 chrome 是一个稳妥的默认值),以及 flow——在 TCP 入站上就是 xtls-rprx-vision。

Android

v2rayNG 或 Hiddify。直接扫描面板里的二维码即可——完全不需要手动配置。

iOS

Shadowrocket、Streisand 或 Foxray。这三款客户端都能读取同一条 vless:// 链接,包括其中的 Reality 参数。

Windows and macOS

v2rayN、NekoRay 或 Hiddify。粘贴链接,客户端会自动填好每一个字段。

Linux

想要图形界面就用 NekoRay,或者直接以客户端模式运行 Xray-core,把同样的参数写进 config.json。

锁死面板,别让它成为薄弱环节

一条配置正确的 Reality 入站规则本身很难被攻破。但一个开在可预测端口、用着复用密码的面板就不一样了,而它手上握着这台机器上的每一把密钥。大多数被攻陷的 Xray 服务器,都是从面板失守的,而不是协议本身。

  • 让面板只监听回环地址,通过 SSH 隧道访问。如果它必须公开:用随机高位端口、又长又随机的路径、以及一张真实的证书。
  • 把安装脚本生成的账号密码,换成一个你从未在别处用过的密码短语。
  • 运行一个默认拒绝的防火墙:只放行 443/tcp 和你的 SSH 端口,别的一律不开。完整清单见 /guides
  • 给每台设备分配各自独立的客户端条目,而不是共用一个 UUID,这样你就能单独吊销某一个。
  • 定期更新 Xray-core 和面板,一旦配置跑通就打一份快照。

验证伪装效果,并保持持续畅通

不要想当然地认为伪装一定管用,做下面三项检查就能确认。

  • 用 openssl 去查询伪装域名:openssl s_client -connect YOUR.SERVER.IP:443 -servername your-chosen-domain.example。你应该拿到那个网站真实的证书链;如果得到的是自签名证书或报错,说明 Reality 没有正常工作。
  • 在浏览器里用 HTTPS 直接访问那个裸 IP。一个陌生人应该看到的是毫不起眼的内容,而绝不能是面板登录页。
  • 在服务器上执行 ss -tulpn,应该只看到 xray 监听着 443 端口,没有任何意料之外的东西。

Reality 目前领先一步,但这只是对当下的描述,不代表永远如此。真要被封锁时,原因通常不是协议被识别出来,而是别的东西:IP 信誉、整个 ASN 被封,或者有人注意到一条线路持续向同一台主机传输大量数据。

  • 常备一个第二协议,平时闲置不用——在一个 UDP 端口上放一个 WireGuard 端点几乎零成本,却是你立刻可用的备份方案。
  • 保持配置私密。被分享到公开群组里的端点,会被收集起来然后封掉——大多数节点都是这么“死”的。
  • 如果 IP 被封,直接重建,别跟它较劲。/cheapest-no-kyc-vps 能让你便宜地留一个备用地区。
  • 可用性和隐蔽性是两个不同的问题:/ddos-protection 负责让服务器保持可访问,Reality 负责让它显得毫无意思。

Xray、WireGuard、Shadowsocks 还是 Tor 网桥

在过滤严格的环境下,Reality 是正确的默认选择,但其他每一种方案也各有其胜出的场景。很多人会同时跑两个:一台 1 GB 的实例,轻轻松松就能同时承载 443 端口上的 Reality 入站和一个 UDP 上的 WireGuard 端点。

搭配 VLESS 与 Reality 的 Xray

对深度包检测和主动探测的抵抗力最强,也不需要域名。代价是活动部件更多。

WireGuard

最快也最简单,跑在内核里,到处都有现成的客户端。但它的握手很容易被识别指纹,所以在封锁 VPN 的地方并不合适。参见 /host

Shadowsocks

一种轻量的加密代理,在中等强度的过滤环境下已经撑了好些年。比 Xray 简单,但面对锲而不舍的探测者时更弱。

Tor 网桥

它不是个人隧道,而是一种公共资源:一个未被公开列出的 Tor 网络入口。可以和你自己的隧道一起运行,详见 /tor-vps

Reality 真的不需要域名吗?

确实不需要——这正是它相较于搭配 TLS 的 VLESS 或 Trojan 的主要优势。Reality 借用的是一个不属于你的网站的证书,所以 DNS 记录和证书透明度日志里都不会有任何名字与你的服务器绑在一起。

搭配 Reality 的 Xray 比商业 VPN 更好吗?

面对严格的过滤,通常是更好的:一个只有你自己在用的私有 IP,远比一段共享的 VPN IP 段更难被列入黑名单。但如果只是想要一份轻量的隐私、不想折腾配置,商业 VPN 应用会更省事。

一条 Reality 隧道需要多强的服务器?

1 vCPU / 1 GB 的实例就能撑起一个人或一个小团体使用;真正的瓶颈是带宽,不是核心数。/offshore-vps 上的入门套餐起价 $3.49/mo,且不限流量。

为什么要用加密货币来支付这类反审查服务器的费用?

因为支付记录存在的时间比服务器本身长得多,往往是整个链条中最薄弱的一环。预付余额能让这台机器和你本人脱钩:/pay-with-monero 最为私密,/pay-with-bitcoin 持有面最广,/crypto-vps 上介绍了整个流程。

如果我服务器的 IP 被封了该怎么办?

换一个全新的 IP 重建。面对整体性的 IP 或 ASN 封锁,Reality 没有任何防护能力,任何协议都做不到。一份预付的免 KYC 余额能让这个过程只需几分钟——具体选项见 /monero-vps/best-offshore-vps

运行 Xray 合法吗?

在大多数国家,自建代理或 VPN 都是正常且合法的行为。少数司法管辖区专门限制反审查工具,还有一些管的是使用者而不是运营者。本指南只讲“怎么做”,不构成法律建议。

付诸实践。

离岸服务器最低 $3.49/月起部署 · 8 种加密货币 · 无需 KYC。