WireGuard 大多数时候是对的答案:它快、简单、也真正安全。这不是一篇“WireGuard 不好”的文章——它是针对 WireGuard 停止工作的那一种情况的诚实下一步。在某些网络里,深度包检测(DPI)通过特征识别出 WireGuard 协议、并直接封掉它。那时,再怎么调配置都没用,因为问题不在你的设置——而在于那流量看起来像一个 VPN。那正是 VLESS+Reality 解决的问题。
诚实的岔路:WireGuard 还是 Xray?
先定这个,因为更简单的工具通常是对的那个:
- 用 WireGuard,如果它在你所在的地方能用。它更好跑、更好理解、也快。在你不得不之前,没理由去上更复杂的东西。
- 用 VLESS+Reality(Xray),当 WireGuard 被封时。Reality 把你的连接伪装成到一个真实网站的普通 TLS 握手——所以对 DPI 来说,它看起来就是有人在浏览一个正常的 HTTPS 网站,没有可检测的 VPN 特征。零件更多,但它在 WireGuard 活不下去的地方活得下来。
如果你没被封,就停在这里、用 WireGuard。剩下的内容是给你被封时用的。
为什么这需要独立IP
一台 Xray 服务器接受入站连接——你的客户端在 443 端口拨进它。那需要一个可寻址、属于你自己的公网 IP。NAT 套餐在客户之间共享一个出口 IP、给不了你入站端点,所以在这儿行不通。你需要一个独立IP套餐——而既然这是流量负载而非 CPU 负载,最小的那个就能干这活:$8/月的 Nano-IP(1 vCPU / 1 GB)就绰绰有余。更大的套餐给你买来更多吞吐余量,而不是一条更好的隧道。
安装 Xray
用官方安装器——别去找来路不明的构建:
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
生成一份 Reality 配置需要的两样东西——一对密钥和一个 UUID:
xray x25519 # 打印一个私钥和一个公钥
xray uuid # 打印一个给客户端的 UUID
私钥留给服务器配置,公钥留给客户端链接。两个都保存好。
服务器配置,逐项讲解
把这段放进 /usr/local/etc/xray/config.json,填上你生成的值:
{
"inbounds": [{
"listen": "0.0.0.0",
"port": 443,
"protocol": "vless",
"settings": {
"clients": [{ "id": "YOUR-UUID", "flow": "xtls-rprx-vision" }],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.microsoft.com:443",
"serverNames": ["www.microsoft.com"],
"privateKey": "YOUR-PRIVATE-KEY",
"shortIds": [""]
}
}
}],
"outbounds": [{ "protocol": "freedom" }]
}
关键字段实际做什么:
dest—— 你的流量将要冒充的那个真实网站。它必须是一个支持 TLS 1.3 和 HTTP/2 的站点;一个大的、永远在线的域名是常见选择。这就是 DPI 以为你在访问的站点。serverNames—— 你握手呈现的 SNI。它必须跟dest匹配(同一域名),因为那就是伪装。privateKey—— 你xray x25519那对里的私钥一半。公钥一半给客户端。shortIds—— 一个数组;[""](空)有效,对个人配置也没问题。你可以加十六进制 ID 来区分客户端。flow: xtls-rprx-vision—— Reality 用的流控模式;两端必须匹配。
然后启用它:
sudo systemctl enable --now xray
sudo systemctl status xray
客户端链接
用一个开源客户端指向服务器——v2rayN、Hiddify,或任何兼容 Xray 的 app。连接串把一切都编码进去:
vless://YOUR-UUID@YOUR-SERVER-IP:443?type=tcp&security=reality&sni=www.microsoft.com&pbk=YOUR-PUBLIC-KEY&sid=&fp=chrome&flow=xtls-rprx-vision#my-server
各部分:pbk 是公钥,sni 跟你的 serverNames 匹配,sid 是 short ID(这里为空),fp=chrome 伪造一个浏览器的 TLS 指纹。把链接粘进客户端,你就连上了。
诚实的界限
- 速度取决于到你的路由。 Reality 不会让数据包更快——吞吐受你和服务器之间那条网络路径限制。更近的服务器就是更快的;这里没有魔法。
- 它是给一到几个用户的。 这是你的私有端点,不是公共 VPN。一台小 VPS 当不了给陌生人的服务,把它变成那样会招来滥用。
- AUP 依然适用。 一条个人翻墙隧道没问题;跑一个开放的公共代理、或拿它去发动攻击就不行,会导致服务被终止。
- 你的服务商看得到流量存在。 伪装针对的是到你路径上的 DPI,不是主机——服务商看得到流量和时序,看不到内容。这是化名,跟任何匿名 VPS 一样诚实的注意点。
一句话
先 WireGuard;WireGuard 被封时再 Reality。Xray 上的 VLESS+Reality 把你的隧道藏进看起来像访问真实网站的普通 TLS 里,那正是打败 DPI 的关键——而且它在最便宜的 $8/月独立IP 套餐上就跑得很好,因为它是流量、不是算力。用官方脚本安装、生成你的密钥、对上 dest/serverNames,再用一个开源客户端指向它。先用安全清单锁死机器,并把期望放诚实:它打败 DPI,但不会让你隐身。
准备好跑了? 最便宜的独立IP套餐——$8/月的 Nano-IP 就够;这是流量负载,不是算力。想先看完整图景——哪个套餐、跑什么、独立IP 何时必需?见 面向 VPN 的 VPS。
评论
暂无评论。来做第一个吧。