VeryHOST

VeryHOST knowledge base - a professional IDC encyclopedia knowledge platform

V2Ray (WebSocket + TLS + Web + Cloudflare) 手动配置详细说明

Update time: 2023-09-14

先决条件

开始操作之前,建议你先了解以下基础知识:

  • 使用 ssh 命令或 ssh 客户端登录远程服务器

  • 使用 vim 或其他编辑器的最基本的操作

购买 VPS

购买 VPS 的说明(点击以展开)


初始化 VPS

具体步骤



















安装 V2Ray 前的准备

正经的 Linux 用户不会用 root 干所有的事情,如果这么做的话将会很危险。所以使用普通用户,再通过 sudo 指令用 root 权限执行命令是坠吼的。

使用普通用户通过 ssh 登录到你的远程服务器后再完成以下操作:

时间校准

对于 V2Ray,它的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以系统时间一定要正确,只要保证时间误差在 90 秒 之内就没问题。

1
2
3
4
sudo timedatectl set-ntp true # 启用 NTP 服务
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 将时区设为“亚洲/上海”
sudo hwclock --systohc # 将硬件时钟调整到与当前系统时间一致
date -R # 以 RFC 5322 格式输出日期和时间。例如 Mon, 18 Jan 2021 11:04:16 +0800

执行完之后,终端显示的时间如果正确,那么就没问题了。

防火墙初始化

  • 本文将使用 ufw 来管理系统的防火墙

1
2
3
sudo apt install ufw
sudo ufw enable
sudo ufw allow 'OpenSSH'

安装相关软件包

  1. 更新系统已知的软件包列表、升级系统上的所有软件包、移除不再需要的依赖软件包:

1
sudo apt update && sudo apt upgrade && sudo apt autoremove

  1. 安装编辑器 vim(后续编写配配置文件需要,当然你也可以使用其他编辑器)

1
sudo apt install vim

  1. 安装所需要的依赖软件包:

1
sudo apt install curl openssl

安装并配置 V2Ray

下载 V2Ray 安装脚本

1
2
curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh
curl -O https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-dat-release.sh

安装 V2ray 主程序

1
sudo bash install-release.sh

安装最新发行的 geoip.dat 和 geosite.dat

  • geoip.dat:IP 数据文件

  • geosite.dat:域名数据文件

1
sudo bash install-dat-release.sh

配置 V2Ray

使用 vim 编辑 V2Ray 的配置文件:

1
sudo vim /usr/local/etc/v2ray/config.json

清空文件原有内容,然后输入以下内容:

/usr/local/etc/v2ray/config.json
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
{
   "log":{
       "loglevel":"warning"
   },
   "routing":{
       "domainStrategy":"AsIs",
       "rules":[
           {
               "type":"field",
               "ip":[
                   "geoip:private"
               ],
               "outboundTag":"block"
           }
       ]
   },
   "inbounds":[
       {
           "listen":"127.0.0.1",
           "port":10000,
           "protocol":"vmess",
           "settings":{
               "clients":[
                   {
                       "id":"9dfe7fee-d08f-44f8-ad2d-300d4c9c3a0e",
                       "alterId":0
                   }
               ]
           },
           "streamSettings":{
               "network":"ws",
               "wsSettings":{
                   "path":"/ray"
               }
           }
       }
   ],
   "outbounds":[
       {
           "protocol":"freedom",
           "tag":"direct"
       },
       {
           "protocol":"blackhole",
           "tag":"block"
       }
   ]
}

  • port:V2Ray 的 WebSocket 所监听的内网端口,取值范围是 1 ~ 65535,但为了避免端口占用,所以不能填常用的端口号(如 22 是 ssh 的端口号,80 是 HTTP 的端口号,443 是 HTTPS 的端口号等),此处设我为 10000

  • id用户的主 ID。可通过 UUID 生成器 - v2fly 或者 Online UUID Generator 生成(任选其中一个网站生成就行),此处我设为 9dfe7fee-d08f-44f8-ad2d-300d4c9c3a0e

  • alterId:根据新 V2Ray 白话文指南 – VMess,推荐值为 0,代表启用 VMessAEAD

  • network传输协议。设为 WebSocket,即 ws

  • pathWebSocket 所使用的 HTTP 协议路径。可自定义,例如我设为 /ray