【VPS】VPS 自建代理完全指南:VLESS Reality + Hysteria2 双协议部署
VPS 自建代理完全指南:VLESS Reality + Hysteria2 双协议部署
本文记录从零开始在 Vultr VPS 上搭建代理的完整过程,包括协议选择、多机房测速对比、速度优化,以及最终采用 Hysteria2 提速的实践经验。
目录
- 前置条件
- 一、VLESS + Reality 部署
- 二、Clash 客户端配置
- 三、速度测试与机房选择
- 四、Hysteria2 部署(提速方案)
- 五、完整 Clash 配置参考
- 六、IP 纯净度检测
- 七、常用运维命令
- 八、经验总结
前置条件
- 一台海外 VPS(本文使用 Vultr,推荐 Ubuntu 22.04)
- SSH 登录权限(root)
- 本地安装 Clash 客户端(如 Mihomo v1.19.20+)
一、VLESS + Reality 部署
1. SSH 登录 VPS
ssh root@<VPS_IP>
2. 执行一键安装脚本
bash <(curl -sL https://raw.githubusercontent.com/mack-a/v2ray-agent/master/install.sh)
3. 选择安装选项
进入菜单后,输入 3(一键无域名 Reality),按提示完成安装。
该方案的优势:
- 无需域名
- 无需申请 TLS 证书
- 伪装为正常 HTTPS 流量,抗检测能力强
4. 记录输出信息
安装完成后,脚本会输出一条 VLESS URI:
vless://<UUID>@<IP>:<PORT>?encryption=none&security=reality&type=tcp&sni=www.cloudflare.com&fp=chrome&pbk=<PUBLIC_KEY>&sid=<SHORT_ID>&flow=xtls-rprx-vision#<NAME>
需要从中提取的关键字段:
| 字段 | 说明 |
|---|---|
| UUID | 用户唯一标识 |
| IP | VPS 的 IP 地址 |
| PORT | 代理端口 |
| pbk | REALITY 公钥(public-key) |
| sid | short-id |
| sni | 伪装域名(servername) |
5. BBR 加速检查
回到安装脚本主菜单,选择 18. 安装BBR、DD脚本。
- 如果显示"BBR启动成功",说明已自动启用,输入 99 退出
- 如果未启用,选择 11(使用 BBR+FQ 加速)
注意:BBR 是 Linux 内核层面的 TCP 拥塞控制算法,能提升 TCP 传输效率,但无法解决线路质量差的根本问题。
二、Clash 客户端配置
VLESS Reality 节点配置
proxies:
- name: vps-reality
type: vless
server: <VPS_IP>
port: <PORT>
uuid: <UUID>
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision
servername: www.cloudflare.com
client-fingerprint: chrome
reality-opts:
public-key: <PUBLIC_KEY>
short-id: <SHORT_ID>
验证连通性
# 测试是否能访问 Google(端口替换为你的 Clash 混合代理端口)
curl -x http://127.0.0.1:7897 https://www.google.com -I
# 查看出口 IP 和地理位置
curl -x http://127.0.0.1:7897 https://ipinfo.io
# 测试下载速度(1MB 文件)
curl -x http://127.0.0.1:7897 -o /dev/null -s -w "下载速度: %{speed_download} bytes/s\n总时间: %{time_total}s\n" "https://speed.cloudflare.com/__down?bytes=1000000"
三、速度测试与机房选择
实测数据对比
我在 Vultr 上依次测试了三个机房,结果如下:
| 机房 | 首字节延迟 | 下载速度 | 稳定性 |
|---|---|---|---|
| 日本东京 | 1.1s | ~105 KB/s (0.8 Mbps) | 一般 |
| 日本大阪 | 1.6s | ~60 KB/s (0.5 Mbps) | 差 |
| 美国洛杉矶 | 1.0s | 88-135 KB/s (0.7-1.1 Mbps) | 较好 |
机房选择建议
根据公开评测数据和实际测试:
按运营商推荐:
| 运营商 | 首选机房 | 次选 | 避免 |
|---|---|---|---|
| 电信 | 洛杉矶、硅谷 | 西雅图 | 日本、新加坡(NTT线路晚高峰拥堵) |
| 联通 | 东京、首尔 | 洛杉矶 | - |
| 移动 | 东京、新加坡 | 洛杉矶 | - |
关键结论:
- Vultr 所有机房均为普通 163 骨干网线路,不提供 CN2,无法通过加钱升级线路
- 同厂商不同 IP 的路由差异很大,可以利用 Vultr 按小时计费的特性多换几台试试
- 洛杉矶对三大运营商最均衡稳定,晚高峰抗拥堵能力最强
- 日本机房物理距离虽近,但晚高峰(20:00-23:00)丢包率可达 10-20%
使用 Vultr 官方测速地址
# 各机房 ping 测试
ping -c 5 lax-ca-us-ping.vultr.com # 洛杉矶
ping -c 5 sel-kor-ping.vultr.com # 首尔
ping -c 5 hnd-jp-ping.vultr.com # 东京
ping -c 5 sea-wa-us-ping.vultr.com # 西雅图
ping -c 5 sjc-ca-us-ping.vultr.com # 硅谷
注意:如果 Clash 开启了 TUN 模式,ping 和 curl 的流量都会被劫持走代理,测出来的是代理出口到目标机房的延迟,而非你本机直连的真实延迟。测试前需关闭 TUN 或切换到 DIRECT 模式。
四、Hysteria2 部署(提速方案)
当 VLESS Reality 速度不理想时,可以在同一台 VPS 上加装 Hysteria2。它基于 QUIC/UDP 协议,抗丢包能力显著优于 TCP。
为什么 Hysteria2 更快?
| 对比项 | VLESS Reality (TCP) | Hysteria2 (QUIC/UDP) |
|---|---|---|
| 传输协议 | TCP | UDP (QUIC) |
| 丢包处理 | 丢包后需要重传整个窗口 | 仅重传丢失的包 |
| 连接建立 | TCP三次握手 + TLS握手 | 0-RTT / 1-RTT |
| 拥塞控制 | 传统算法,保守 | Brutal 模式,激进填充带宽 |
1. 安装 Hysteria2
bash <(curl -fsSL https://get.hy2.sh/)
2. 生成自签证书
openssl req -x509 -nodes -newkey ec:<(openssl ecparam -name prime256v1) \
-keyout /etc/hysteria/server.key \
-out /etc/hysteria/server.crt \
-subj "/CN=bing.com" -days 3650
3. 编写配置文件
cat > /etc/hysteria/config.yaml << 'EOF'
listen: :8443
tls:
cert: /etc/hysteria/server.crt
key: /etc/hysteria/server.key
auth:
type: password
password: REPLACE_ME
masquerade:
type: proxy
proxy:
url: https://bing.com
rewriteHost: true
EOF
生成随机密码并写入:
PASSWORD=$(openssl rand -base64 16) && sed -i "s/REPLACE_ME/$PASSWORD/" /etc/hysteria/config.yaml && echo "密码: $PASSWORD"
4. 设置权限并启动
# 修复证书权限
chmod 644 /etc/hysteria/server.crt /etc/hysteria/server.key
# 开放 UDP 端口
ufw allow 8443/udp 2>/dev/null
iptables -A INPUT -p udp --dport 8443 -j ACCEPT
# 启动并设为开机自启
systemctl start hysteria-server.service
systemctl enable hysteria-server.service
systemctl status hysteria-server.service
5. Clash 客户端添加 Hysteria2 节点
proxies:
- name: vps-hysteria2
type: hysteria2
server: <VPS_IP>
port: 8443
password: <你的密码>
sni: bing.com
skip-cert-verify: true
实测提速效果
在同一台洛杉矶 VPS 上对比:
| 指标 | VLESS Reality | Hysteria2 |
|---|---|---|
| Clash 延迟 | 260ms → 940ms(波动大) | 235ms(稳定) |
| 下载速度 | 88-135 KB/s | 82-99 KB/s |
| 稳定性 | 波动较大 | 非常稳定 |
延迟从近 1 秒降到 235ms,提升约 4 倍,且三次测速波动极小。
五、完整 Clash 配置参考
双协议并存的完整配置:
mixed-port: 7890
allow-lan: true
mode: rule
log-level: info
tun:
enable: true
stack: system
auto-route: true
auto-detect-interface: true
dns:
enable: true
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- "*.lan"
- "*.local"
- localhost.ptlogin2.qq.com
- dns.msftncsi.com
- www.msftncsi.com
- www.msftconnecttest.com
nameserver:
- https://doh.pub/dns-query
- https://dns.alidns.com/dns-query
- 119.29.29.29
- 223.5.5.5
fallback:
- https://dns.cloudflare.com/dns-query
- https://dns.google/dns-query
- 1.1.1.1
- 8.8.8.8
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4
proxies:
- name: vps-reality
type: vless
server: <VPS_IP>
port: <PORT>
uuid: <UUID>
network: tcp
tls: true
udp: true
flow: xtls-rprx-vision
servername: www.cloudflare.com
client-fingerprint: chrome
reality-opts:
public-key: <PUBLIC_KEY>
short-id: <SHORT_ID>
- name: vps-hysteria2
type: hysteria2
server: <VPS_IP>
port: 8443
password: <PASSWORD>
sni: bing.com
skip-cert-verify: true
proxy-groups:
- name: 代理
type: select
proxies:
- vps-hysteria2
- vps-reality
- DIRECT
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
gfw:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
path: ./ruleset/gfw.yaml
interval: 86400
greatfire:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
path: ./ruleset/greatfire.yaml
interval: 86400
cncidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
path: ./ruleset/cncidr.yaml
interval: 86400
lancidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
path: ./ruleset/lancidr.yaml
interval: 86400
telegramcidr:
type: http
behavior: ipcidr
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
path: ./ruleset/telegramcidr.yaml
interval: 86400
rules:
# AI 服务
- DOMAIN-SUFFIX,anthropic.com,代理
- DOMAIN-SUFFIX,claude.ai,代理
- DOMAIN-SUFFIX,openai.com,代理
- DOMAIN-SUFFIX,chatgpt.com,代理
- DOMAIN-SUFFIX,oaistatic.com,代理
- DOMAIN-SUFFIX,oaiusercontent.com,代理
- DOMAIN-SUFFIX,sora.com,代理
# 广告拦截
- RULE-SET,reject,REJECT
# Telegram
- RULE-SET,telegramcidr,代理
# 国内直连
- RULE-SET,direct,DIRECT
# 需要代理的域名
- RULE-SET,proxy,代理
- RULE-SET,gfw,代理
- RULE-SET,greatfire,代理
# 局域网 & 国内 IP
- RULE-SET,lancidr,DIRECT
- RULE-SET,cncidr,DIRECT
- GEOIP,CN,DIRECT
# 兜底
- MATCH,代理
六、IP 纯净度检测
搭建完成后建议检测 IP 质量,确保不在黑名单中:
| 网站 | 地址 | 特点 |
|---|---|---|
| Scamalytics | scamalytics.com | 欺诈评分,区分数据中心/住宅 IP |
| IPQS | ipqualityscore.com | 业界标杆,0-100 分欺诈风险评分 |
| Ping0 | ping0.cc | 中文界面,免注册,国内常用 |
| Whoer | whoer.net | 匿名度检测,DNS 泄露检测 |
| IPPure | ippurity.com | 专注 IP 纯净度,中文友好 |
七、常用运维命令
VLESS Reality (Xray)
vasma # 重新进入管理菜单
systemctl status xray # 查看运行状态
systemctl restart xray # 重启服务
journalctl -u xray -f # 查看实时日志
Hysteria2
systemctl status hysteria-server # 查看运行状态
systemctl restart hysteria-server # 重启服务
systemctl stop hysteria-server # 停止服务
journalctl -u hysteria-server -f # 查看实时日志
cat /etc/hysteria/config.yaml # 查看配置
八、经验总结
- Vultr 不提供 CN2 线路,所有机房都是普通 163 骨干网,无法通过加钱升级线路质量
- 同厂商不同机房差异巨大,利用按小时计费的特性多换几台测试
- 洛杉矶是 Vultr 对中国用户最稳定的机房,虽然延迟比日本高,但带宽充裕、晚高峰表现好
- Hysteria2 是免费提速的最佳方案,基于 UDP/QUIC 协议抗丢包,延迟可降低数倍
- VLESS Reality 和 Hysteria2 可以共存,建议优先使用 Hysteria2,VLESS 作为备用
- 如果追求极致速度,考虑换用 CN2 GIA 线路的厂商(如搬瓦工,年付 $49.99 起)
- TUN 模式会劫持所有系统流量,测速时需注意是否经过代理,避免测出虚假结果
- 安装 Hysteria2 注意两个坑:证书文件权限需设为 644,防火墙需开放 UDP 端口
- 感谢你赐予我前进的力量
赞赏者名单
因为你们的支持让我意识到写文章的价值🙏
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 时光·李记
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果


