从零开始的V2Ray服务器端部署指南

(施工中)

前言

后酸酸乳时代,越来越多的人选择的V2Ray。本文主要介绍V2Ray服务器端的部署。
先提供一些常用的地址:
Project V github项目地址
v2ray-core github项目地址

  • 官方介绍

    Project V 是一个工具集合,它可以帮助你打造专属的基础通信网络。Project V 的核心工具称为V2Ray,其主要负责网络协议和功能的实现,与其它 Project V 通信。V2Ray 可以单独运行,也可以和其它工具配合,以提供简便的操作流程。

  • 主要特性

  1. 多入口多出口: 一个 V2Ray 进程可并发支持多个入站和出站协议,每个协议可独立工作。
  2. 可定制化路由: 入站流量可按配置由不同的出口发出。轻松实现按区域或按域名分流,以达到最优的网络性能。
    多协议支持: V2Ray 可同时开启多个协议支持,包括 Socks、HTTP、Shadowsocks、VMess 等。每个协议可单独设置传输载体,比如 TCP、mKCP、WebSocket 等。
    隐蔽性: V2Ray 的节点可以伪装成正常的网站(HTTPS),将其流量与正常的网页流量混淆,以避开第三方干扰。
  3. 反向代理: 通用的反向代理支持,可实现内网穿透功能。
  4. 多平台支持: 原生支持所有常见平台,如 Windows、Mac OS、Linux,并已有第三方支持移动平台。

前期准备

既然是服务器端部署,首先需要有一台服务器,为了更安全地使用V2Ray的目的,更推荐海外服务器。笔者使用的是Vultr的云服务器(点击可访问),价格良心(最低每月2.5刀),支持支付宝。
本教程基于Debian 9 x64,1Core,1G RAM的Server。
(Ubuntu等系统同样OK且可参考本文)
安利列表:

  1. Vultr 赠送50刀链接
  2. Vultr

登录服务器

下载Xshell

其它支持SSH的工具也可使用
下载Xshell,选择License Type:Home and School use,可供免费的非商业使用。


稍后你会在邮箱中收到Xshell的下载地址,安装并打开。

登录远程服务器

点击右上角新建按钮

在随后弹出的窗口中填入你服务器的基本信息

点击左栏中的用户身份验证,输入用户名(默认为root)和密码(见服务器页面)。

完成后,点击确定。在弹出的页面选择刚才新建的服务器,点击连接。

成功登录。

部署

Linux基本命令、技巧

Ubuntu是Linux的一个发行版。
登陆后默认进入的文件夹是/root,系统中等效于/~。而真正的根目录是/
ll 查看当前目录下文件及文件夹等(=ls -l,也可使用ls dir等)
cd 切换到指定目录
cd .. 回到上级目录
vi 一款基于命令行的编辑器
Ctrl + C(组合键)停止执行命令
需要输入已知文件的全名时,可以先输入开头几个字母,按Tab键后系统会自动补全。

V2Ray安装

一步到位
执行命令

1
bash <(curl -L -s https://install.direct/go.sh)

附上安装位置:

  • /usr/bin/v2ray/v2ray:V2Ray 程序;
  • /usr/bin/v2ray/v2ctl:V2Ray 工具;
  • /etc/v2ray/config.json:配置文件;
  • /usr/bin/v2ray/geoip.dat:IP 数据文件
  • /usr/bin/v2ray/geosite.dat:域名数据文件

V2Ray日常使用

启动:

1
sudo systemctl start v2ray

停止:

1
sudo systemctl stop v2ray

查看状态:

1
sudo systemctl status v2ray

查看日志:

1
2
3
tail -f /var/log/v2ray/access.log
or:
tail -f /var/log/v2ray/error.log

更新:

1
sudo bash go.sh

进行配置

配置好了才能用鸭

V2Ray配置综述

  • V2Ray 的配置文件为 JSON 格式
  • 配置文件的路径是/etc/v2ray/config.json

JSON,全称 JavaScript Object Notation,简而言之是 Javascript 中的对象(Object)。一个 JSON 文件包含一个完整的对象,以大括号“{”开头,大括号“}”结束。

一个 JSON 对象包含一系列的键值对(Key-Value Pair),一个键是一个字符串(String),而值有多种类型,常见的有字符串(String)、数字(Number)、布尔(Bool)、数组(Array)和对象(Object)。

1
2
3
4
5
6
7
8
9
{
"stringValue": "This is a string.",
"numberValue": 42,
"boolValue": true,
"arrayValue": ["this", "is", "a", "string", "array"],
"objectValue": {
"another": "object"
}
}

协议配置

VMess协议

V2Ray的配置文件最主要的部分是inboundoutbound,分别表示数据包的传入配置和传出配置,直观地表明了数据包的流向。

  • 服务器端配置
    port字段表示服务器监听端口
    protocol字段表示主传入协议,可选的有vmessshadowsocks
    settings字段下可以添加多个用户,每个用户为一个对象,用一对{}表示
    用户的ID为一个UUID,可以在UUID Generator生成,此ID可视为用户的标识符。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    {
    "inbounds": [
    {
    "port": 12345, // 服务器端监听端口
    "protocol": "vmess", // 主传入协议
    "settings": {
    "clients": [
    {
    "id": "185e413c-5da1-4e40-b1cc-c12392076f35", // 用户 ID,客户端与服务器必须相同
    "alterId": 64
    },
    {
    "id": "cceeb1dd-73f1-47d3-b044-951a33418503",
    "alterId": 64
    }
    ]
    }
    }
    ],
    "outbounds": [
    {
    "protocol": "freedom", // 主传出协议
    "settings": {}
    }
    ]
    }

参考资料

  1. v2ray-manual
  2. v2ray配置指南
    如果你无意深究Linux知识,只想快速部署及使用,那么就参考快速配置指南吧!
请作者喝咖啡~