VPS 代理节点搭建教程
从零开始搭建稳定防封的代理节点,Vmess + WebSocket + TLS + 网站伪装,适用于各种客户端
VPS 代理节点搭建教程
本教程教你搭建一个 稳定防封、高速、使用 Vmess 协议 的代理节点,适用于各种客户端。
准备工作
在开始之前,你需要准备:
| 准备项 | 说明 |
|---|---|
| VPS 服务器 | 内存至少 1GB,推荐香港/新加坡/日本地区 |
| 域名 | 建议使用便宜的域名,可在 Spaceship、Namesilo 购买 |
| SSH 工具 | Windows 推荐 FinalShell,macOS/Linux 用自带终端 |
| 基础知识 | 会使用 SSH 连接服务器即可 |
VPS 服务商推荐
| 服务商 | 最低价格 | 特点 |
|---|---|---|
| 阿里云国际 | $5/月 | 香港节点,线路好 |
| Vultr | $5/月 | 按小时计费,全球节点多 |
| DigitalOcean | $6/月 | 新加坡节点稳定 |
| RackNerd | $10/年 | 性价比高,适合入门 |
一、服务器基础优化
连接到服务器后,先完成以下优化:
1. 安装 1Panel 面板(必须)
1Panel 是一个现代化的 Linux 服务器运维面板,可以可视化管理网站和证书。
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
安装完成后记住面板地址、用户名和密码。
2. 开启 BBR 加速(推荐)
BBR 是 Google 开发的 TCP 拥塞控制算法,可以显著提升网络速度。
# 检查是否已开启
lsmod | grep bbr
# 如果没有开启,执行以下命令
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
# 验证
sysctl net.ipv4.tcp_congestion_control
3. 添加 Swap 分区(小内存服务器必须)
如果服务器内存小于 2GB,建议添加 Swap:
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
也可以在 1Panel 面板的「主机 - Swap」中一键配置。
4. 同步服务器时间(重要)
Vmess 协议要求服务器和客户端时间差不超过 90 秒,否则无法连接。
# 安装时间同步服务
sudo apt install chrony -y
sudo systemctl enable chrony
sudo systemctl start chrony
# 检查时间
date
也可以在 1Panel 面板的「主机 - 时间」中配置自动同步。
5. 删除云服务商监控(国内云服务器推荐)
如果使用阿里云、腾讯云等国内服务商,建议删除监控程序:
# 一键删除监控脚本
curl -L https://ghproxy.com/https://raw.githubusercontent.com/spiritLHLS/one-click-installation-script/main/service.sh -o service.sh && chmod +x service.sh && bash service.sh
二、放行防火墙端口
如果使用阿里云、腾讯云等大厂服务器,必须在云服务商控制台放行端口。
以阿里云为例:
- 进入轻量应用服务器控制台
- 选择「防火墙」
- 添加规则,放行 TCP 协议的所有端口(或至少放行 80、443、10000-10010)
三、安装 3x-ui 控制面板
3x-ui 是 Xray-core 的可视化面板,支持搭建 Vmess、Vless、Trojan 等协议节点。
一键安装
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
安装时:
- 输入
y选择手动配置 - 设置用户名和密码(尽量复杂)
- 端口号建议设置为
10000
安装完成后,在浏览器访问 http://服务器IP:10000 进入面板。
四、使用 3x-ui 创建节点
- 登录 3x-ui 面板,将语言切换为中文
- 左侧选择「入站列表」→「添加入站」
- 按以下设置配置:
| 设置项 | 值 |
|---|---|
| 备注 | 自定义节点名称,如「HK-阿里云-30M」 |
| 协议 | vmess |
| 监听 | 127.0.0.1 |
| 端口 | 10001 |
| 传输 | ws(WebSocket) |
| 路径 | 复制「客户」中的邮件地址,前面加上 /,如 /abc123 |
- 点击「添加」保存
重要:记住你设置的端口(10001)和路径(如 /abc123),后面会用到。
五、安装 Nginx 并配置网站
1. 在 1Panel 安装 OpenResty
- 登录 1Panel 面板
- 左侧选择「网站」
- 点击「一键安装 OpenResty」
2. 创建反向代理网站
- 点击「创建网站」
- 类型选择「反向代理」
- 主域名填写
free.你的域名.xyz(如free.example.xyz) - 代理地址先填
baidu.com - 点击确认
3. 配置 Nginx 分流
- 在网站列表中,点击刚创建网站的文件夹图标
- 进入
proxy文件夹,打开root.conf文件 - 删除所有内容,替换为以下配置:
location / {
proxy_pass https://repo1.maven.org/; # 伪装网站
proxy_redirect off;
proxy_ssl_server_name on;
sub_filter_once off;
sub_filter "repo1.maven.org" $server_name;
proxy_set_header Host "repo1.maven.org";
proxy_set_header Referer $http_referer;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header Accept-Encoding "";
proxy_set_header Accept-Language "zh-CN";
}
location /abc123 { # 改成你在3x-ui设置的路径
proxy_redirect off;
proxy_pass http://127.0.0.1:10001; # 改成你在3x-ui设置的端口
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
注意修改:
/abc123改成你在 3x-ui 设置的路径10001改成你在 3x-ui 设置的端口
- 保存后,在 1Panel 网站页面点击「重载」按钮使配置生效
六、申请 SSL 证书
1. 创建 ACME 账户
- 在 1Panel 选择「网站」→「证书」
- 点击「ACME 账户」→「创建 ACME 账户」
- 输入邮箱,点击确认
2. 申请证书
- 点击蓝色的「申请证书」按钮
- 域名填写
free.你的域名.xyz - 验证方式选择「DNS 账户」或「手动验证」
- 如果选择手动验证,会提示你去添加一条 TXT 类型的 DNS 记录
七、添加 DNS 解析
在你的域名服务商(Cloudflare、Namesilo 等)添加两条 DNS 记录:
记录 1:节点域名解析
| 类型 | 名称 | 内容 | 代理状态 |
|---|---|---|---|
| A | free | 服务器IP | 仅 DNS(关闭代理) |
记录 2:SSL 证书验证
根据 1Panel 提示添加 TXT 记录用于验证域名所有权。
重要:如果使用 Cloudflare,必须关闭代理(灰色云朵),否则无法正常使用。
八、绑定证书并启用 HTTPS
- 回到 1Panel,完成证书申请
- 在网站列表中,点击网站的「配置」
- 选择「HTTPS」→「启用 HTTPS」
- 选择刚申请的证书
- 保存
现在访问 https://free.你的域名.xyz 应该能看到伪装网站(Maven 仓库页面)。
九、连接节点
Windows - v2rayN
- 下载 v2rayN(选择 v2rayN-With-Core.zip)
- 解压运行
- 在 3x-ui 面板导出节点链接(点击操作栏的「二维码」图标)
- 在 v2rayN 中按
Ctrl+V导入
重要:导入后需要修改节点信息:
- 地址改为
free.你的域名.xyz - 端口改为
443 - 加密方式建议选择
zero(TLS 已加密,无需二次加密) - 传输层安全选择
tls
iOS - Shadowrocket
- App Store 购买 Shadowrocket(需要外区账号)
- 扫描 3x-ui 生成的二维码
- 同样修改端口为 443,启用 TLS
Android - v2rayNG
- 下载 v2rayNG
- 扫描二维码导入
- 修改配置同上
十、进阶:套用 Cloudflare CDN
如果服务器 IP 被封,可以通过 Cloudflare CDN 拯救:
- 将域名 DNS 托管到 Cloudflare
- 在 DNS 解析中,将代理状态从「仅 DNS」改为「已代理」(橙色云朵)
- 在 Cloudflare 的「SSL/TLS」设置中,将加密模式改为「完全」或「完全(严格)」
注意:套 CDN 后延迟可能会增加,速度不一定变快,需要自行测试。
常见问题
Q: 节点连接不上?
- 检查服务器防火墙是否放行端口
- 检查 Nginx 配置中的路径和端口是否正确
- 检查服务器时间是否同步(Vmess 要求时间差 < 90 秒)
- 检查域名是否正确解析到服务器 IP
Q: 速度很慢?
- 确认已开启 BBR
- 尝试更换服务器节点地区
- 检查服务器带宽是否足够
Q: 如何添加多个用户?
在 3x-ui 的入站详情中,点击「添加客户」即可创建多个用户,每个用户有独立的 UUID。
Q: 如何隐藏 3x-ui 面板?
搭建完成后,建议在防火墙中关闭 10000 端口,只保留 80、443 和 SSH 端口,避免面板被扫描攻击。
安全建议
- 定期更新:保持 3x-ui 和系统更新
- 强密码:面板密码设置足够复杂
- 关闭不用的端口:只开放必要端口
- 启用 fail2ban:防止 SSH 暴力破解
- 定期备份:备份 3x-ui 配置
总结
通过本教程,你搭建了一个:
- ✅ 使用 Vmess + WebSocket + TLS 的安全节点
- ✅ 带有网站伪装,流量特征低
- ✅ 支持套 CDN 应对 IP 被封
- ✅ 兼容各种主流客户端
祝你使用愉快!