VPS 远程代理搭建(VLESS + Reality)
脱敏记录。占位符:
<VPS-IP>公网 IP /<DOMAIN>域名 /
<XRAY-UUID>用户 UUID /<XRAY-PRIVKEY>私钥 /<XRAY-PUBKEY>公钥 /
<XRAY-SID>shortId /<SSH-PASS>SSH 密码
1. 方案概述
- 协议:xray-core 的 VLESS + Reality,抗封锁、零证书、伪装成访问合法站点。
- 端口共存:VPS 上 Caddy 已占 443,xray 监听 8443(Reality 不依赖 443 本身,
但用非标端口更不易被扫;客户端连接端口需同步为 8443)。 - 组件:VPS 跑 xray 服务端;客户端用 v2rayNG / NekoBox / 路由器插件等。
2. VPS 环境准备
- 系统:Debian 12
- 防火墙(ufw)放行:
22 / 443 / 8443 - 开启 BBR(拥塞控制,提升弱网吞吐)
ufw allow 22,443,8443/tcp
# 开启 BBR:/etc/sysctl.conf 设 net.core.default_qdisc=fq、net.ipv4.tcp_congestion_control=bbr
sysctl -p
3. 安装 xray-core
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
# 配置目录:/usr/local/etc/xray/config.json
# 服务:systemctl enable --now xray
4. 服务端配置(config.json,脱敏)
{
"inbounds": [{
"listen": "0.0.0.0",
"port": 8443,
"protocol": "vless",
"settings": {
"clients": [{ "id": "<XRAY-UUID>", "flow": "xtls-rprx-vision" }],
"decryption": "none"
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"dest": "www.apple.com:443",
"serverNames": ["www.apple.com"],
"privateKey": "<XRAY-PRIVKEY>",
"shortIds": ["<XRAY-SID>"]
}
}
}],
"outbounds": [{ "protocol": "freedom" }]
}
privateKey/publicKey由xray x25519生成(一对);
shortId用openssl rand -hex 8;UUID用xray uuid。
5. 启动与日志
systemctl enable --now xray
journalctl -u xray -f # 查启动报错
6. 客户端配置(v2rayNG 示例,脱敏)
vless:// 链接:
vless://<XRAY-UUID>@<VPS-IP>:8443?type=tcp&security=reality&flow=xtls-rprx-vision&fp=chrome&sni=www.apple.com&pbk=<XRAY-PUBKEY>&sid=<XRAY-SID>#MyVPS
| 参数 | 值 |
|---|---|
| address | <VPS-IP> |
| port | 8443 |
| id | <XRAY-UUID> |
| flow | xtls-rprx-vision |
| security | reality |
| sni / pbk / sid | www.apple.com / <XRAY-PUBKEY> / <XRAY-SID> |
7. 可选:NAS 作局域网代理网关
- NAS 上跑 xray 客户端:SOCKS5
0.0.0.0:10808+ HTTP0.0.0.0:7890,
出站连<VPS-IP>:8443。 - 局域网设备(公司电脑 / 手机)把代理地址填 NAS 的 Tailscale/内网 IP 即可全家共享。
- routing 规则加
geoip:private直连,避免内网流量走代理。
8. 重要坑
- dest 必须选
www.apple.com:443:不要选www.microsoft.com,
部分数据中心 IP 连 Akamai 的 microsoft 会被重置,导致 Reality 握手失败、客户端报 closed pipe。 - 端口冲突:Caddy 占 443 → xray 改 8443,客户端链接端口必须同步改成 8443,
否则报context deadline exceeded(常见原因是 VPS 关机或端口不对)。 - shortId 长度需为偶数 hex(0/2/4/.../16 位)。
9. 验证
- VPS 自测:起 xray 客户端连
127.0.0.1:8443走 socks,
curl -x socks5h://127.0.0.1:<PORT> https://www.google.com返回即通。 - 手机报 context deadline exceeded:先确认 VPS 已开机、8443 在监听、链接端口为 8443。
10. 常用命令
systemctl restart xray # 改完配置重启
xray x25519 # 生成密钥对
ss -ltnp | grep 8443 # 确认 xray 在监听
评论