Vultr 上安装并配置一台 VMESS/v2ray 服务器
VMess 协议是由 V2Ray (科学上网软件)创立并使用于 V2Ray 的加密传输协议,如同 Shadowsocks 一样为了对抗审查的深度包检测而研发的。在 V2Ray 上客户端与服务器的通信主要是通过 VMess 协议通信。
本文中采用Vultr VPS,一款性能优越、配置的VPS, 其拥有广泛的数据中心分布、丰富的功能和便捷的支付方式,成为众多用户的首选。无论是个人学习、小型项目还是大型企业应用,Vultr VPS 都能提供稳定可靠的服务支持。
拥有一台Vultr VPS可以做很多事情,例如:
更多玩法等待您来解锁。
本文主要讲解在 Vultr VPS上,如何使用自动化脚本和手动两种方式,安装并配置一台 v2ray 服务器(也称为 vmess server)。以及如何通过v2rayA, v2rayN, v2RayNG连接 v2ray 服务器并访问google和chatGPT。
1. 注册 Vultr 账号
访问https://www.vultr.com进入注册页面,输入邮箱、密码,点击“Create account”按钮。(密码需要至少一个大写字母一个小写字母,长度 10 位数以上。)
Vultr 会给注册邮箱发一封验证邮件,进入邮箱,拷贝验证码,再回到 Vultr 注册页面进行验证。
注册完成后进入账号设置页面,设置账号,主要分三个步骤,如下图所示,首先绑定信用卡,然后完善用户信息,最后就可以开始创建实例了。
进入设置界面,完成第一步“Add a Payment Method & Pre-Fund Your Account”也就是绑定信用卡之后就可以看到赠送的 300 美金试用金到账。
访问 account => make a payment 就可以看到 300 美金 到账
从上图可以看到,Vultr 不仅支持信用卡付款,还支持 Paypal, 加密货币,Alipay, Wire Transfer, 礼品代码等。
2. 更新 Profile
更新 profile, 填写个人信息,地址,公司信息
3. 创建 VPS
完成以上注册流程,我们就可以开始创建 VPS 了。
点击左边”Products”,再点击右侧”Deploy +” 进入创建实例界面。
选择“Cloud Compute - Shared CPU”。
选择 location,总共有 30 多个 location 可供选择。亚洲区域选择新加坡,首尔,东京,连接延迟都比较低。
选择操作系统的版本,操作系统版本可以选择 debian 系列的 linux, 或者 Redhat 系列的 linux 都可以,本教程都支持。
但是本教程实际使用的是 Almalinux 9.x 版本。
选择套餐,根据自己的喜好,本教程使用的是最低规格的服务器,1U1G, 价格是 6 美金/月。
可以看到,服务器配置是 1U1G, 存储是 25GB, 免费的网络流量是 2TB, 另外它会绑定两个公网 IP 地址,这些都是免费的。
选择 Additional features
自动备份功能每月会收费 1.2 刀,建议取消,我们只是部署一个 v2ray 代理服务器,存储的数据没有那么重要,出现问题,按照教程重新安装一遍即可,备份的钱没有必要花;
选择”Enable IPV6”,这样就拥有双 IP。
Limit user login 建议选上,这样比较安全,VPS 暴露在网上,经常会被黑客扫描,如果使用默认 root 用户,很容易受到攻击,成为肉鸡。
默认的用户 root 权限太大,而且很容易被黑客知道,最好使用 Limit user login。出于安全性考虑,SSH Key 如果会配置一定要配置上,篇幅有限,这里不做展开讲解了。
给 VPS 取一个容易区分的名字。
然后点击“Deploy Now”按钮。
4. 登陆 VPS
单击节点进入,进入 vps 详情界面,可以找到登陆 VPS 所需详细信息
Windows 系统上可以使用 X-shell 工具,或任何本机存在的 shell 终端, 或者 putty 连接 VPS。
Linux 系统直接打开命令行终端远程连接 VPS 即可。
5. VPS 时间校准
对于 V2Ray,它的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以系统时间一定要正确,只要保证时间误差在 90 秒之内就没问题。
在联网情况下,直接启动 chronyd 系统服务,并设定为开机启动
1 | $ sudo systemctl enable --now chronyd.service |
6. 下载并安装 v2ray server
在 Linux 操作系统, V2Ray 的安装有脚本安装、手动安装、编译安装 3 种方式,选择其中一种即可,本指南提供使用使用脚本安装的方法 以及手动安装方法,推荐使用脚本安装,该脚本由 V2Ray 官方提供。该脚本仅可以在 Debian 系列或者支持 Systemd 的 Linux 操作系统使用。
6.1. 脚本安装 v2ray server (推荐)
1 |
|
6.2. 手动安装 v2ray server
1 |
|
7. 配置 vmess 服务器
1 |
|
以下配置中, clients.id 需要替换为不同的uuid, 其他可以通用。
1 | // vi /usr/local/etc/v2ray/config.json |
原理简析:
根据上文给出的配置,在这里简单的介绍一下 V2Ray 的工作原理。
配置文件都由两部分内容组成: inbounds 和 outbounds。我们可以认为每一个 V2Ray 都是一个节点,inbound 是关于如何与上一个节点连接的配置,outbound 是关于如何与下一个节点连接的配置。对于V2Ray server节点,inbound 与客户端连接;outbound与目标网站连接。
在上例子中,服务器监听来自客户端访问21212的请求,两者采用vmess协议进行沟通。为了保证隐私安全,VMess 协议客户端使用 client id 进行加密, 所以客户端也需要配置相同的client id(后面客户端配置会讲到)服务器端收到数据包后使用client id 解密。解密后将数据包传递给outbond, outbound使用的是freedom协议,它会打开看用户的真实请求是。比如用户需要访问https://google.com,那么freedom协议就负责以https协议访问google,然后将获取的数据进行封装,交由inbound节点加密再返回给对端,也就是v2ray客户端。
8. 检验 v2ray server 配置
检验 config 是否有任何格式或语法错误
1 | $ sudo /usr/local/bin/v2ray test -config /usr/local/etc/v2ray/config.json |
9. 开启并立即启动 v2ray 服务
1 |
|
10. 配置 v2ray 客户端
下面讲解如何配置 v2ray 客户端, 连接 v2ray 服务器。
10.1. 客户端安装可以参考
2024 最新 v2rayA 安装与配置教程 for Windows、Linux、Macos、Android
10.2. v2ray 客户端配置 vmess 节点
客户端以 v2rayA 为例,其他 v2ray 客户端,例如 v2rayN, v2rayNG 可以参考以下配置。
10.3. 连接 vmess 节点
连接节点
10.4. 验证设置是否成功?
浏览器访问https://www.google.com, 如果能成功访问则表示连接成功.
10.5. 测试网络速度
浏览器访问https://www.speedtest.net, 点击 go 按钮
上传速度 11.57Mbps, 下载速度 10.04Mbps, 已经相当可以了。
10.6. 测试能否访问 chatGPT
测试一下,看这个公网 IP 能否访问 ChatGPT。IP 质量挺高,可以正常访问 chatGPT。
11. troubleshooting
问题 1: main: failed to create server > v2ray.com/core/app/log: failed to initialize access logger > open /var/log/v2ray/access.log: permission denied
原因分析:
在 service 的定义文件中,运行 v2ray 定义的用户是 nobody,而 nobody 没有权限访问 /var/log/v2ray/access.log
/etc/systemd/system/v2ray.service
1 | [Service] |
解决办法:
- 为 v2ray 单独创建一个用户和组,例如 v2ray
- 并将 service 中的 user 修改为 v2ray
- 将/var/log/v2ray/ 的目录的 owner 修改为 v2ray