需求来源

每次因为个人网站而购买国外服务器时,就总想着把服务器的价值最大化。而 VPN 算是自工作以来的一个必备工具了,虽然之前也折腾过许久,但都因为各种原因容易导致 IP 被封,连带服务器无法使用。
我也尝试过去购买别人的产品,只是别人的产品要不然就是太贵了,或是限流量和限设备,还有隐私等问题,总有让人不满意的点。
于是最近假期期间,趁着空闲,又折腾了起来。并发掘了一些可靠好用的工具。

工具推荐

MHSanaei/3x-ui

  • 推荐指数 ⭐⭐⭐⭐⭐
  • 一个更好的面板 • 基于Xray Core构建。在 x-ui 的基础上升级了面板的效果,更直观好用。

FranzKafkaYu/x-ui

  • 推荐指数 ⭐⭐⭐⭐
  • 脚本+可视化面板的组合,支持支持单端口多用户、多协议。

233boy/Xray

  • 推荐指数 ⭐⭐⭐
  • 一款超便捷的构建脚本,开箱即用。

wulabing/Xray_onekey

  • 推荐指数 ⭐⭐
  • 听说口碑不错,不过由于我之前已经安装了Nginx,脚本构建过程中失败后也就没有继续尝试下去了,有兴趣的朋友可以试试。

构建流程

大部分的使用说明看对应项目的 Wiki 即可,这里主要补充说明一些我遇到的问题。

从这些工具的说明文档里,我大概了解到了以前主机IP容易被封是因为缺少加密协议 TSL(Transport Layer Security),相当于在互联网裸奔,因此极容易被检测管制。

  1. 购买域名并托管

    • 域名购买 namesilo
    • 替换域名服务商 cloudflare,具体步骤可自行 Google 。
      • 登录cloudflare账户主页。
      • 选择添加域,跳转页面后输入已购买域名。
      • 选择免费计划,选择解析记录,这个可以后续再添加,如果之前有解析就默认全选。
      • 之后进入Donmain Manager页面。
      • 选择已有域名并点击Change Nameservers
      • 删除默认服务器,一般默认三组。
      • 然后填写两组服务器bella.ns.cloudflare.com steven.ns.cloudflare.com
      • 之后等待激活,cloudflare 会发动激活邮件通知。
    • 解析域名 DNS 至服务器 IP 地址并获取 cloudflare 对应域名管理 API 。
  2. 一键SSL证书申请并自动续签

    • SSH登录服务器输入x-ui,出现菜单栏。
    • 在列表中找到Cloudflare SSL Certificate对应的数字,并输入。
    • 按照脚本提示依次输入前面替换域名服务商cloudflare的账号和密码,以及对应域名API的Global API Key
    • 之后脚本会自动申请SSL证书并自动续签。
  3. 服务端配置

    • 登录x-ui管理面板,添加入站。
    • 编辑入站配置,主要关注如下几个配置项
      • alt text
  4. 客户端配置

    • 下载客户端软件 v2rayN 并根据生成链接获取订阅。
    • 只要是支持 Xray 协议的客户端就行。

补充说明

如果遇到无法连接至服务器的情况,可以参考如下方式进行排查:

  1. x-ui 管理面板中添加的入站对应端口,需要加入服务器防火墙的白名单中。

    1
    2
    3
    4
    5
    # 开放端口
    sudo ufw allow 端口号

    # 查看端口开放状态
    sudo ufw status
  2. 入站配置中的域名需要修改为 cloudflare 托管的域名名称,而非 IP 地址。

  3. cloudflare 托管的域名DNS解析中,代理状态需要关闭,即代理状态需要调整至 仅DNS