零基础自建VPN教程.md
零基础自建 VPN 教程(完全手工版)
本教程带你从零开始、全程自己动手,用一台全新的 Windows 电脑 + 一部手机,每月约 ¥36,搭出属于自己的专属 VPN。 方案:Vultr 服务器 + 3x-ui 面板 + VLESS Reality 协议 + v2rayN(电脑)/ v2rayNG(安卓)。本教程以日本东京机房为例,第 1 步买服务器时机房可以按自己喜好任选(如大阪、首尔、新加坡)。 ⚠️ 仅供个人学习自用。请勿借给陌生人使用、勿商用;分享链接(vless:// 开头的"钥匙")不要在任何群里传播。
0. 开工前,先搞懂三件事
① 一图看懂整体
你(电脑/手机) ──加密流量──▶ 东京服务器(Xray) ──▶ YouTube / Google / 一切境外网站
- VPN 服务器在你买的东京云服务器上,不在你电脑上。所以:电脑关机,手机照样能用;两台设备互不影响。
- 3x-ui 面板:服务器上的"管理后台",在浏览器里打开,用来造钥匙、看流量。
- vless:// 链接:就是你的"钥匙",复制到客户端里就能上网。
② 花费与准备清单
| 花费 | 说明 |
|---|---|
| 服务器 | Vultr 东京 $5/月(约 ¥36),按小时计费,不用了随时销毁退钱 |
| 首充 | $10(约 ¥72,可用两个月) |
| 软件 | 全部免费开源 |
你需要准备的:一个邮箱(注册用)、支付宝(或信用卡)、一台 Windows 10/11 电脑、一部手机。
③ 下载汇总(后面都会详细讲,先放这里方便找)
| 东西 | 下载地址 |
|---|---|
| 电脑客户端 v2rayN | https://github.com/2dust/v2rayN/releases/download/7.21.3/v2rayN-windows-64-desktop.zip |
| 手机客户端 v2rayNG(安卓) | https://github.com/2dust/v2rayNG/releases/download/2.2.6/v2rayNG_2.2.6_arm64-v8a.apk |
| 备用:.NET 8 运行库(仅标准版 zip 才需要) | https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe |
| 3x-ui 面板项目主页(了解用,无需下载) | https://github.com/MHSanaei/3x-ui |
🌐 如果你连 GitHub 都打不开或下载极慢(国内常见),把下载地址前面加上https://gh-proxy.com/再试,例如:https://gh-proxy.com/https://github.com/2dust/v2rayN/releases/download/7.21.3/v2rayN-windows-64-desktop.zip(这类"加速镜像站"偶尔会失效,失效就换个关键词搜"GitHub 加速下载",找新的镜像站。)
开工前,建一个记事本文件叫"我的服务器信息.txt"放在桌面,后面所有密码都往里面抄,好记性不如烂笔头。
第 1 步 · 买一台境外服务器
1.1 注册 Vultr
- 浏览器打开 https://www.vultr.com → 右上角 Sign Up(注册)
- 用邮箱注册 → 去邮箱点验证链接 → 完成
- 登录后进入控制台:**https://console.vultr.com**(以后管理服务器都在这个网址)
1.2 充值(支持支付宝)
- 充值入口:控制台右上角
My Org下拉菜单 →Make a Payment(找不到也可以走左侧菜单 Billing → Payment Methods) - 首次充值时先添加支付方式:选 Alipay(支付宝)
- 最低充值 $10(约 ¥72,够用两个月)
- 充好后首页显示
Current Balance: -$10.00别慌:Vultr 把余额显示成负数,
-$10.00就是"你有 $10 能花"。
1.3 创建服务器(照着下面选,别选错)
- 控制台左侧菜单点 Compute → 点 Deploy New Server
- ⚠️ 新版界面默认会选一个很贵的"独立 CPU"配置。如果页面有
Switch to old version →链接,点它切回旧版(旧版更简单)。
旧版界面,从上到下逐项选择:
| 选项 | 选择 |
|---|---|
| Choose Server | Cloud Compute |
| Server Location | Tokyo(东京) |
| Image | Debian → 12 x64 |
| Server Size | $5/mo(1 vCPU / 1 GB / 25 GB SSD) |
| Additional Features | 全部不勾 |
| Server Hostname & Label | 随便填,如 vpn |
⚠️ 两个坑:$2.5 那档没有独立公网 IP,不能选;Additional Features 里的No Public IPv4 Address(没有公网 IP)和Limited User Login(没有 root 账号)千万别勾。 💡 如果 Tokyo 的 $5 档显示 Sold Out(售罄,偶尔发生),换 Osaka(大阪),后面所有步骤完全一样。
(若只有新版界面:Choose Type 选 Cloud Compute - Shared CPU;Location 选 Tokyo, Japan;Image 选 Debian 12 x64;Plan 里点 Regular Cloud Compute 标签选 $5/month;其余全部默认。)
- 拉到底部,点蓝色 Deploy Now。
1.4 抄下你的 IP 和密码
- 服务器列表里状态先显示
Installing,等约 1 分钟变 Running - 点进这台服务器 → Overview 页找到:
- 📍 IP Address → 你的服务器 IP(形如
123.45.67.89) - 🔑 Password → root 密码(点旁边的复制按钮)
- 📍 IP Address → 你的服务器 IP(形如
- 把这两个值抄进"我的服务器信息.txt" —— 这是你服务器的钥匙,以后每步都要用。
第 2 步 · 给服务器装"管理后台"3x-ui
这一步全程在"黑窗口"里操作,只需要会复制、粘贴、回车,照着做即可。
2.1 用 SSH 登录服务器(Windows 自带,无需安装任何软件)
- 按键盘 Win + R → 输入
powershell→ 回车(弹出蓝色窗口) - 输入下面命令(把
你的IP换成第 1 步抄的 IP)后回车:
ssh root@你的IP
- 第一次会问
Are you sure you want to continue connecting (yes/no)?→ 输入yes回车 - 出现
password:时,右键粘贴 root 密码,回车粘贴时屏幕上不显示任何字符,是正常的,别以为没输进去!
- 看到光标左边变成
root@你的主机名:~#= 登录成功
如果第 2 步提示"ssh 不是内部或外部命令":你的 Windows 版本太老,去 设置 → 应用 → 可选功能 → 添加 OpenSSH 客户端,然后新开一个 PowerShell 再试。 2.2 安装 3x-ui 面板
把下面这整行复制,到 SSH 窗口里右键粘贴,回车:
bash <(curl -Ls https://raw.githubusercontent.com/mhsanaei/3x-ui/master/install.sh)
- 自动安装,约 1~2 分钟。别关窗口。
- 装完后屏幕上会打印面板信息,立刻抄进"我的服务器信息.txt":
- 面板网址:形如
http://你的IP:2053/xxxxx/(xxxxx是随机生成的一串安全路径,每个人的都不一样) - 用户名 / 密码
- 面板网址:形如
- 它还会自动装好 fail2ban(防爆破工具),不用管它。
💡 这一步是服务器自己去下载安装,服务器在日本,不受墙影响,一定能装上。
2.3 开防火墙(只放行 3 个门)
把下面 5 行逐行复制到 SSH 窗口粘贴回车(第 2 行里的 2053 如果和你面板网址里的端口不一样,换成你的):
ufw allow 22/tcp
ufw allow 2053/tcp
ufw allow 443/tcp
ufw --force enable
ufw status
最后一行执行完,应看到 22、2053、443 三行都写着 ALLOW = 成功。 (解释一下:22 是 SSH 登录用,2053 是面板网页用,443 是以后翻墙流量用;其他门全关,安全。)
第 3 步 · 在面板里"造一把钥匙"
3.1 登录面板
浏览器打开你的面板网址 http://你的IP:面板端口/安全路径/,用安装时抄的用户名密码登录。 (登录页标题显示 3X-UI 就对了。密码在安装时随机生成,找不到就回"我的服务器信息.txt"里翻。)
面板默认是英文界面,下文所有按钮都标了英文对照,照着找就行。想切中文:面板设置(Settings)里找 Language 选 Chinese(不同版本位置略有差别)。
3.2 创建节点
- 左侧菜单点 入站列表(Inbounds)
- 点 + 添加入站(Add Inbound)
- 按下表逐项填写:
| 项目 | 填什么 |
|---|---|
| 备注 Remark | 随便,如 Tokyo |
| 协议 Protocol | VLESS |
| 端口 Port | 443 |
| Reality 区块 | 展开它,把 Reality 开关打开 |
| 目标地址 Dest | swcdn.apple.com:443 |
| 域名 ServerNames | swcdn.apple.com |
| 公钥 / 私钥 | 点面板上的生成按钮(Generate / 生成),自动填好 |
| ShortIds | 填一个 8 位字符,只能用数字和 a~f 这 6 个字母,例如 a7b3c9d1(怕填错就直接照抄这个) |
- 在 Client(用户) 区域点 + 添加用户:
- UUID:点生成按钮自动填
- 流控 Flow:选 xtls-rprx-vision
- 备注随意,如
home-pc
- 点保存。面板会提示 Xray 重启加载配置,等约 30 秒。
3.3 复制你的"钥匙"(vless 链接)
- 回到入站列表,找到刚建的节点,点它那行的 操作 → 复制链接(或二维码图标)
- 得到一串
vless://开头的链接 —— 这就是给客户端用的钥匙 - 抄进"我的服务器信息.txt",保存好
第 4 步 · 电脑端:装 v2rayN 并连上
4.1 下载 v2rayN(选这个版本,自带运行环境,不用装别的东西)
浏览器打开(打不开就用最开头"下载汇总"里说的镜像加速法):
https://github.com/2dust/v2rayN/releases/download/7.21.3/v2rayN-windows-64-desktop.zip
备选:如果你下了不带 -desktop 的普通版 zip,需要先装 .NET 8 运行库: https://aka.ms/dotnet/8.0/windowsdesktop-runtime-win-x64.exe (下载后双击一路"安装") 📌 为什么锁 7.21.3:本教程所有界面描述都基于这个久经验证的稳定版本,照着做不会对不上。想尝鲜就去 https://github.com/2dust/v2rayN/releases 下最新版,步骤一样,只是个别按钮位置可能不同。 4.2 解压放好
- 右键刚下载的 zip → 全部解压缩 → 解压到
C:\v2rayN(新建的文件夹)⚠️ 一定要先解压!别直接在压缩包里双击 exe,那样程序会运行在临时目录里出错。
- 解压后里面是
v2rayN.exe+ 一堆 dll +bin文件夹 - ⚠️ 别把 v2rayN.exe 单独复制到别处——它必须和同文件夹的 dll、bin 住在一起。想挪地方就整个文件夹一起挪。
4.3 首次启动
- 双击
v2rayN.exe - 若弹出蓝色"Windows 已保护你的电脑"→ 点"更多信息"→"仍要运行"
这是正常现象:开源免费软件没有买微软的"付费签名",不是病毒。
- 主窗口弹出 = 成功。程序也会缩到右下角任务栏。
4.4 导入节点(粘贴钥匙)
- 从"我的服务器信息.txt"里复制那串 vless:// 链接
- 在 v2rayN 主窗口里点一下,按 Ctrl + V 粘贴
- 服务器列表出现新节点(名字是你第 3 步填的备注)= 导入成功
4.5 打开代理
- 单击选中这个节点 → 右键 → 设为活动服务器(名字前出现勾)
- 窗口底部下拉框 → 选"自动配置系统代理"
- 完成,浏览器已经开始走代理。
4.6 验证(三连,全通过就大功告成)
- 右键节点 → 测试服务器真连接延迟 → 显示毫秒数 = 连通
- 浏览器打开 https://www.google.com → 能打开
- 浏览器打开 https://ip.sb → 显示的是你服务器的 IP(日本的,不是你家宽带 IP);ip.sb 打不开就用 ip.gs 或 ipinfo.io
4.7 日常开关习惯
| 想做什么 | 怎么做 |
|---|---|
| 上网 | 双击 v2rayN.exe(如果设了开机自启则啥都不用干) |
| 临时关闭 | 底部下拉框 → 选"清除系统代理" |
| 完全退出 | 右下角任务栏 v2rayN 图标 → 右键 → 退出(退出 = 断网) |
| 想开机自动翻墙 | v2rayN 的"设置 / 参数设置"里找"开机自启动"勾上(不同版本位置略有差别) |
第 5 步 · 手机端:装 v2rayNG
5.1 下载安装包
手机浏览器打开(打不开就加镜像前缀,同最开头"下载汇总"的说明):
https://github.com/2dust/v2rayNG/releases/download/2.2.6/v2rayNG_2.2.6_arm64-v8a.apk
近几年的手机都下arm64-v8a这个;如果你的手机是 2017 年以前的老古董,下armeabi-v7a那个(同一个页面里找)。 ⚠️ 华为 2024 年底之后的新手机(纯血鸿蒙 HarmonyOS NEXT)装不了安卓 apk,请换其他安卓手机或苹果手机。能装安卓 App 的旧华为没问题。
也可以电脑下载后传手机(手机浏览器下载失败时用): 电脑打开上述链接下载 → 电脑微信"文件传输助手"发给自己 → 手机微信接收;或用数据线像 U 盘一样复制进手机。
手机微信里点开文件如果没反应,先点"另存/保存到手机",再去手机自带"文件管理"里找到它点开安装。
5.2 安装
- 手机上点开这个 apk 文件
- 提示"此应用来源未知,有风险"→ 点"仍要安装"
- 如果要求开权限 → 选"允许此来源安装"→ 回来再点安装
- 装好后桌面出现 v2rayNG 图标(白色纸飞机样式)
5.3 导入节点(两种方法任选)
方法 A:扫码(推荐)
- 电脑 v2rayN 里 → 右键节点 → 分享 → 屏幕出现二维码
- 手机打开 v2rayNG → 右上角 + → 扫描二维码 → 对着电脑屏幕扫
- 导入成功,列表出现你的节点
方法 B:复制链接
- 电脑上复制 vless:// 链接 → 微信"文件传输助手"发给自己
- 手机上复制这段链接 → 打开 v2rayNG → 右上角 + → 从剪贴板导入
5.4 连接
- 点列表里的节点选中 → 点右下角的圆形按钮(或点节点右侧图标)
- 第一次连接弹出系统提示"v2rayNG 请求设置 VPN 连接"→ 点"确定"
- 手机顶部状态栏出现小钥匙图标 = 成功
- 验证:手机浏览器打开
google.com,能打开就 OK
5.5 苹果手机怎么办(一句话版)
iPhone 装 Shadowrocket(小火箭,约 $3),但国区 App Store 没有,需要美区 Apple ID。没有美区账号的话,先借安卓手机用,或让有美区账号的朋友帮装。装好后同样扫码导入即可。
第 6 步 · 日常维护
| 事项 | 怎么做 |
|---|---|
| 续费 | 控制台 console.vultr.com → 右上角 My Org → Make a Payment(或 Billing → Payment Methods)→ Alipay 充值 $10。保持余额为正,欠费服务器会被停机 |
| 看用了多少流量 | 面板 → 入站列表,每行显示流量;点进节点 → Client 列表看每台设备用量 |
| 给新设备加钥匙 | 面板 → 入站列表 → 点进节点 → + 添加用户(UUID 点生成,Flow 选 xtls-rprx-vision)→ 保存 → 该用户行的二维码图标 → 新手机扫码即可。建议每台设备一个用户,方便单独停用 |
| 临时停掉某台设备 | 面板 → 入站列表 → 点进节点 → 该用户行"启用"开关关掉 |
| 备份(重要!) | ① 面板 → 面板设置 → 备份 → 下载备份文件;② 你的"我的服务器信息.txt"(IP、面板网址、账号密码、vless 链接);③ 把这两样存到 U 盘或网盘 |
| 更新面板(可选) | SSH 登录后执行 x-ui update;若提示无效命令,就重新执行第 2.2 步那条安装命令(它会自动检测并更新,配置不丢) |
换 IP 自救:如果哪天彻底连不上、IP 疑似被墙 → Vultr 控制台销毁这台服务器(Destroy)→ 按第 1 步重开一台 → 按第 2~3 步重装。平时多做备份,重装不慌。
附 A · 卡住了?逐条对照排查表
先做"三步定位":① 浏览器能打开面板网页吗?→ ② 电脑 v2rayN 延迟测试通吗?→ ③ 手机连上了吗? 卡在哪步查哪行:
| 现象 | 可能原因 | 解决 |
|---|---|---|
| 面板网页打不开 | 服务器没在运行 | Vultr 控制台看状态是否 Running;IP 抄错 |
| 防火墙没放行面板端口 | SSH 执行 ufw status,缺哪个端口就 ufw allow 端口/tcp | |
| 网址少了"安全路径"那串 | 面板网址必须形如 IP:端口/xxxxx/ | |
| 电脑延迟测试超时 | 没"设为活动服务器" | 右键节点 → 设为活动服务器 |
| 服务器欠费停机 | Vultr 看余额和服务器状态 | |
| 节点配置填错 | 回面板核对:端口 443、Reality 开、Dest 是 swcdn.apple.com:443 | |
| 手机连不上,电脑正常 | vless 链接没导入对 | 重新扫码/从剪贴板导入 |
| 手机网络问题 | 切换 WiFi / 流量再试 | |
| 手机"清了后台"就断网 | 安卓省电机制杀了 v2rayNG | 最近任务里锁定它的卡片;设置里搜"自启动"打开它、"电池优化"选"不优化";再搜"VPN"打开"始终开启的 VPN" |
| 双击 v2rayN 没反应 | 杀毒软件拦截 | 检查 Windows 安全中心的隔离区,点"还原" |
| 下的不是 -desktop 版且没装 .NET 8 | 装最开头"下载汇总"里的 .NET 8 运行库 | |
| v2rayN 提示"下载核心失败" | 国内直连 GitHub 失败 | 忽略即可,核心已内置在 zip 里 |
| 速度很慢(<1MB/s) | 家宽到东京绕路,属正常 | 能用但看高清可能卡;想更快:Vultr 销毁重建,换大阪/新加坡/首尔机房试 |
| ping 服务器超时 | 该 IP 被墙 | 销毁重建换 IP(见第 6 步) |
附 B · 进阶(可选,不影响使用)
B1. SSH 密钥登录(更安全,可以跳过)
密码登录怕被爆破。密钥登录后,没你的私钥谁也进不去服务器。
- 电脑 PowerShell 里执行
ssh-keygen -t ed25519 -C "vpn",一路回车 - 用记事本打开
C:\Users\你的用户名\.ssh\id_ed25519.pub,复制整行内容 - SSH 登录服务器后执行:
mkdir -p ~/.ssh && chmod 700 ~/.ssh && nano ~/.ssh/authorized_keys - 把第 2 步复制的内容右键粘贴进去 →
Ctrl+O回车保存 →Ctrl+X退出 - 执行
chmod 600 ~/.ssh/authorized_keys - 新开一个 PowerShell 执行
ssh root@你的IP—— 不输密码直接进 = 成功 - ⚠️ 确认上面成功后,才执行下面三行关闭密码登录(顺序别反,反了会把自己锁在门外):
echo "PasswordAuthentication no" > /etc/ssh/sshd_config.d/99-hardening.conf
echo "KbdInteractiveAuthentication no" >> /etc/ssh/sshd_config.d/99-hardening.conf
echo "PermitRootLogin prohibit-password" >> /etc/ssh/sshd_config.d/99-hardening.conf
sshd -t && systemctl restart sshd
从此登录服务器只能用有私钥的那台电脑。私钥文件 id_ed25519 别删、别发给任何人。救急:Vultr 网页控制台有 VNC 可以绕过 SSH 进服务器。 B2. 开启 BBR 加速(几行命令,锦上添花)
SSH 登录后逐行执行:
modprobe tcp_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 看到输出 bbr 即成功。
恭喜,走到这里你已经拥有自己的专属 VPN 了 🎉 记住三件事:每月看余额、密码别外传、定期备份。