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. 客户端安装可以参考
Windows 上安装与配置v2rayA - 鹏叔的技术博客。
Android 上安装与配置v2rayNG - 鹏叔的技术博客
2024 科学上网秘籍:v2rayA 安装与配置指南for Windows、Macos、Linux - 鹏叔的技术博客
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。关于IP质量可以到whoer.com查询。
备注: 要正常访问ChatGTP的所有功能,需要将代理模式设置为tproxy(透明代理)。
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