最后更新于:2025年12月

VPS服务器
VPS服务器机房

购买机场服务虽然方便,但存在隐私泄露、随时跑路、价格较高等问题。如果你有一定的技术基础,自建 VPN 是更好的选择。

本教程将从零开始,带你完成 VPS 选购、系统安装、V2Ray 部署的全过程。即使你是新手,按照步骤操作也能成功搭建。


🤔 为什么要自建 VPN?

优势

完全掌控:服务器在你手中,不用担心跑路
隐私安全:只有自己使用,无数据泄露风险
独享带宽:不与他人共享,速度更稳定
成本可控:长期来看比购买机场便宜
学习价值:掌握 Linux 和网络安全技能

劣势

需要技术基础:Linux 命令行操作
维护成本:需要自己更新和维护
IP 可能被封:需要定期更换
初始投入:需要购买 VPS 和域名

适合人群


💰 成本分析

自建 vs 购买机场

项目 自建 VPN 购买机场
初期投入 $50-100 ¥0
月度费用 $5-10 ¥30-50
6个月总成本 $80-110 ¥180-300
1年总成本 $110-170 ¥360-600
隐私安全 ⭐⭐⭐⭐⭐ ⭐⭐⭐
稳定性 ⭐⭐⭐⭐ ⭐⭐⭐⭐
技术要求

结论:


🖥️ 第一步:选择 VPS 提供商

推荐提供商

1. Vultr(推荐新手)⭐⭐⭐⭐⭐

优势:

价格:

推荐机房:

注册链接: vultr.com

2. DigitalOcean

优势:

价格:

缺点:

3. BandwagonHost(搬瓦工)

优势:

价格:

缺点:

4. RackNerd(性价比之王)

优势:

价格:

缺点:

选择建议

新手推荐: Vultr 日本东京 $5/月
性价比: RackNerd $15-20/年
高性能: Vultr $10/月或 DigitalOcean
回国优化: BandwagonHost CN2 GIA


📝 第二步:购买 VPS

Vultr 注册教程

1. 注册账号

  1. 访问 vultr.com
  2. 点击 “Sign Up”
  3. 使用邮箱注册
  4. 验证邮箱

2. 充值

  1. 进入 Billing → Make a Payment
  2. 选择支付宝(Alipay)
  3. 充值 $10-20(首次建议)
  4. 扫码支付

3. 创建服务器

  1. 点击 “Deploy Server”
  2. 选择 Cloud Compute
  3. 选择机房:Tokyo, Japan
  4. 选择系统:Ubuntu 22.04 LTS x64
  5. 选择配置:$5/month (1 CPU, 1GB RAM)
  6. 设置主机名:vpn-server
  7. 点击 “Deploy Now”

4. 获取登录信息

等待 1-2 分钟,服务器创建完成后:

  1. 进入 Servers 页面
  2. 记录以下信息:
    • IP 地址:如 149.28.xxx.xxx
    • 用户名:root
    • 密码:点击眼睛图标查看

🔐 第三步:连接服务器

Windows 用户

使用 PowerShell:

POWERSHELL
ssh root@你的IP地址
# 例如:ssh root@149.28.123.45

首次连接会提示确认,输入 yes

然后输入密码(复制粘贴即可,不会显示)。

Mac/Linux 用户

使用 Terminal:

BASH
ssh root@你的IP地址

后续步骤相同。

成功标志

看到类似提示即表示连接成功:

PLAINTEXT
Welcome to Ubuntu 22.04 LTS
root@vpn-server:~#

🚀 第四步:一键安装 V2Ray

方法一:X-UI 面板(推荐新手)⭐⭐⭐⭐⭐

X-UI 是一个可视化管理面板,无需手动配置。

1. 安装 X-UI

在 SSH 中执行:

BASH
bash <(curl -Ls https://raw.githubusercontent.com/vaxilu/x-ui/master/install.sh)

等待安装完成(约 1-2 分钟)。

2. 访问面板

浏览器访问:

PLAINTEXT
http://你的IP地址:54321

默认账号密码:

立即修改密码!

3. 添加节点

  1. 登录面板
  2. 点击 “添加入站”
  3. 选择协议:VLESS
  4. 端口:随机或自定义
  5. UUID:自动生成
  6. 传输:WS (WebSocket)
  7. TLS:启用
  8. 域名:暂时留空(稍后配置)
  9. 点击 “添加”

4. 获取配置

  1. 点击刚创建的节点右侧的 “二维码”
  2. 用手机扫描
  3. 或点击 “复制链接” 导入客户端

方法二:手动安装(适合进阶)

如果你想深入学习,可以手动安装。

1. 安装 Xray-core

BASH
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install

2. 生成配置文件

BASH
nano /usr/local/etc/xray/config.json

粘贴以下内容(修改 UUID):

JSON
{
  "log": {
    "access": "/var/log/xray/access.log",
    "error": "/var/log/xray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "port": 443,
      "protocol": "vless",
      "settings": {
        "clients": [
          {
            "id": "你的UUID",
            "flow": "xtls-rprx-vision"
          }
        ]
      },
      "streamSettings": {
        "network": "tcp",
        "security": "tls",
        "tlsSettings": {
          "certificates": [
            {
              "certificateFile": "/etc/ssl/certs/server.crt",
              "keyFile": "/etc/ssl/private/server.key"
            }
          ]
        }
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom"
    }
  ]
}

生成 UUID:

BASH
cat /proc/sys/kernel/random/uuid

3. 启动服务

BASH
systemctl enable xray
systemctl start xray
systemctl status xray

🌐 第五步:配置域名(可选但推荐)

为什么需要域名?

购买域名

推荐注册商:

价格:

配置 DNS

以 Cloudflare 为例:

  1. 注册 cloudflare.com
  2. 添加域名
  3. 添加 A 记录:
    • 名称:vpn@
    • 内容:你的 VPS IP
    • 代理状态:DNS only(灰色云)

申请 SSL 证书

使用 acme.sh 自动申请:

BASH
# 安装 acme.sh
curl https://get.acme.sh | sh

# 申请证书
acme.sh --issue -d 你的域名.com --standalone

# 安装证书
acme.sh --install-cert -d 你的域名.com \
  --key-file /etc/ssl/private/server.key \
  --fullchain-file /etc/ssl/certs/server.crt \
  --reloadcmd "systemctl restart xray"

更新 X-UI 配置

  1. 登录 X-UI 面板
  2. 编辑节点
  3. 填入域名
  4. 启用 TLS
  5. 保存

🔒 第六步:安全加固

1. 修改 SSH 端口

BASH
nano /etc/ssh/sshd_config

找到 #Port 22,改为:

PLAINTEXT
Port 2222

重启 SSH:

BASH
systemctl restart sshd

注意: 下次连接需要使用新端口:

BASH
ssh -p 2222 root@你的IP

2. 禁用密码登录,使用密钥

生成密钥(本地电脑):

BASH
ssh-keygen -t ed25519

上传公钥:

BASH
ssh-copy-id -p 2222 root@你的IP

禁用密码:

BASH
nano /etc/ssh/sshd_config

修改:

PLAINTEXT
PasswordAuthentication no
PubkeyAuthentication yes

重启 SSH。

3. 配置防火墙

BASH
# 安装 UFW
apt install ufw -y

# 允许 SSH
ufw allow 2222/tcp

# 允许 V2Ray 端口
ufw allow 443/tcp

# 启用防火墙
ufw enable

4. 安装 Fail2ban

防止暴力破解:

BASH
apt install fail2ban -y
systemctl enable fail2ban
systemctl start fail2ban

5. 定期更新系统

BASH
# 每周执行一次
apt update && apt upgrade -y

📱 第七步:客户端配置

v2rayN 配置

  1. 打开 v2rayN
  2. 订阅 → 添加
  3. 粘贴 X-UI 提供的链接
  4. 或使用二维码扫描

Clash 配置

导出为 Clash 格式:

  1. X-UI 面板 → 节点 → 导出
  2. 选择 Clash 格式
  3. 复制到 Clash 配置文件
  4. 重载配置

Shadowrocket(iOS)

扫描二维码即可。


🔧 第八步:日常维护

监控服务器

查看资源使用:

BASH
htop

查看流量:

BASH
vnstat

查看日志:

BASH
tail -f /var/log/xray/access.log

备份配置

BASH
# 备份 X-UI 数据库
cp /etc/x-ui/x-ui.db ~/backup/

# 备份配置文件
tar czf backup.tar.gz /usr/local/etc/xray/

更换 IP(如果被封)

  1. Vultr 后台 → Destroy Server
  2. 重新创建新服务器
  3. 重新安装 X-UI
  4. 更新 DNS 解析

💡 优化技巧

1. 启用 BBR

提升速度:

BASH
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

2. 调整时区

BASH
timedatectl set-timezone Asia/Shanghai

3. 安装中文支持

BASH
apt install language-pack-zh-hans -y

⚠️ 常见问题

Q: IP 被封了怎么办?

A:

  1. 更换 VPS IP(Vultr 可免费更换)
  2. 或使用域名(只需更新 DNS)
  3. 或更换机房

Q: 速度慢怎么办?

A:

  1. 检查带宽是否跑满
  2. 尝试其他机房
  3. 启用 BBR
  4. 升级配置

Q: 无法连接怎么办?

A:

  1. 检查防火墙规则
  2. 检查服务是否运行:systemctl status xray
  3. 查看日志:journalctl -u xray -f
  4. 检查端口是否被占用

Q: 流量用完了怎么办?

A:

  1. 升级套餐
  2. 或重置流量(部分商家支持)
  3. 或更换 VPS

总结

自建 VPN 的完整流程:

选择 VPS(Vultr 推荐)
购买并创建服务器
SSH 连接
一键安装 X-UI
配置域名和证书(可选)
安全加固
客户端配置
日常维护

成本: $5-10/月
时间: 30-60 分钟(首次)
难度: ⭐⭐⭐(中等)

👉 下一课: VLESS+Reality+XTLS:2026最强抗封锁协议


快速命令参考

BASH
# 查看 X-UI 状态
x-ui status

# 重启 X-UI
x-ui restart

# 查看日志
tail -f /var/log/xray/access.log

# 更新系统
apt update && apt upgrade -y

# 重启服务器
reboot

版权声明

作者: 易邦

链接: https://e8k.net/posts/self-hosted-vpn/

许可证: 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。