科学上网对于墙内的居民来说一直是个头疼的问题。机场总是跑路,支付数据被人家握在手里,流量数据也不安全。自建成本高,线路选择与维护麻烦,还得时时担心会不会被墙。权衡之下,有些人可能就想着还是自己折腾一下比较好。毕竟服务器在自己手里用着安心,还能顺便丰富下生活锻炼下能力,何乐而不为呢?今天博主就来由浅入深水一篇V2ray的详细教程,方便各种不同需求。

前期准备

  • 准备公网服务器一台,杜甫,vps,nat不限。
  • 准备域名一个,提前解析到对应要安装v2ray的服务器,多级解析均可。
  • UUID一个。生成链接:http://www.uuid.online/
  • V2ray配置文件模板教程一份。
  • 提前申请对应域名的SSL证书(nat必选,vps可选)。

以下教程排列顺序由简单到困难,请根据目录自行选择

方案一:纯净系统使用一键脚本安装

最简单的一种方法,可以直接使用wulabing的一键脚本,一条龙贴心配置所有需要的环境,小白使用首选。注意目前脚本的稳定版Release是旧的Vmess协议,如果想尝鲜使用新版Vless协议请拉取dev版本。

#安装Git,wget
yum install -y git wget

#稳定版本
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/master/install.sh" && chmod +x install.sh && bash install.sh

#Dev版本
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/V2Ray_ws-tls_bash_onekey/dev/install.sh" && chmod +x install.sh && bash install.sh

之后根据文字提示一步一步安装即可。推荐使用V2ray+WS+TLS方案。

NAT VPS注意!

如果你的服务器为NAT VPS,因为无法通过80端口文件验证,大概率是无法使用脚本签发Let's Encrypt的证书的。

如果会使用acmesh.sh项目脚本的话可以尝试修改本v2ray一键脚本来使用dns验证签发证书,本文不作记录。

一般用户这里需要将之前准备工作中手动生成的 crtkey 文件命名为 v2ray.crt v2ray.key 放在 /data 目录下(若目录不存在请先建目录),请注意证书文件权限及证书有效期,自定义证书有效期过期后请自行续签并替换对应旧证书文件。这里推荐亚洲诚信一年免费单域名证书,一年申一次,一次用一年,省心。

上传好证书文件后再运行一键脚本,到安装最后选择保留本地证书文件就万事大吉了。

这个方法是最简单的,但是需要纯净系统,可能不适合已经部署了网站环境的新老司机,可以接着往下看。

方案二:非纯净系统使用一键脚本安装(例如宝塔面板)

这一个方法是依靠一键脚本完成v2ray安装配置,然后自己设置本地的反向代理SSL,适用于已经拥有建站环境的主机,比如LNMP环境等,在反向代理证书配置与伪装站点方面也比较灵活。

这里的示例环境为宝塔面板,已经安装了推荐的Nginx1.18.0等建站程序。

首先使用脚本安装v2ray,这里可以使用官方脚本其他第三方脚本。这里因为简单先介绍第三方脚本。

1.安装v2ray

1.1 第三方脚本

#第三方脚本
bash <(curl -s -L https://git.io/v2ray.sh) && chmod +x v2ray.sh && bash v2ray.sh

运行后根据文字提示选择WebSocket+TLS安装,随意设置一个未占用端口,然后根据引导一步一步完成安装操作。最后根据提示输入v2ray url或者v2ray qr即可生成导入链接或者二维码。

安装完成后v2ray的二进制文件保存在/usr/bin/v2ray/v2ray,配置文件保存在/etc/v2ray/config.json。使用第三方脚本的好处是他会帮你生成默认的vmess配置文件,你只需要更改一下其中的uuid,并且添加伪装目录即可。如果想配置vless请看下面的官方教程。

 {
  "inbounds": [
    {
      "port": 27000, #应该跟你在脚本中设置的端口是一样的
      "protocol": "vmess", 
      "settings": {
        "clients": [
          {
            "id": "请填入自己生成的uuid", 
            "level": 1, 
            "alterId": 0
          }
        ]
      }, 
      "streamSettings": {
        "network": "ws", #如果自定义路径请添加逗号
    ###如果你想自定义伪装路径请添加以下内容(记得上一行末尾添加逗号),不然可以忽略
        "wsSettings": {
          "path": "请填入你想使用的伪装路径,如/abc"
        }
    ###
      }, 
      "sniffing": {
        "enabled": true, 
        "destOverride": [
          "http", 
          "tls"
        ]
      }
    }
  ]
}

1.2 官方脚本

  • 该脚本在运行时会提供 infoerror 等信息,请仔细阅读。
bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

安装完成后v2ray的二进制文件在/usr/local/bin/v2ray,配置文件在/usr/local/etc/v2ray/config.json。这里不出意外配置文件应该是空的,这里给出两个推荐的配置文件,分别使用vmessvless

vmess配置文件

vless配置文件

其中使用的端口为12345,uuid为0c0b3efa-8801-4c65-8e73-35ebc14515ec,伪装路径为/v2path/。如有需要请自行更改。

重启 V2ray

sudo systemctl restart v2ray

开机自启

systemctl enable v2ray

查看运行状态

sudo systemctl status -l v2ray

2.nginx配置反代与SSL(以宝塔面板为例)

这里为了方便用宝塔面板来配置nginx反向代理与SSL证书配置,跟直接配置并无太大区别。

1.1 创建新站点

创建新站点

1.2 配置反向代理

在新建站点的设置中选择配置文件,并加入以下配置。其中的伪装路径反代端口请与之前v2ray的配置文件保持一致。修改完毕后保存退出。

 #V2ray 代理 
     location /v2path{
     proxy_redirect off;
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     proxy_set_header Host $http_host;
     proxy_intercept_errors on;
     if ($http_upgrade = "websocket" ){
         proxy_pass http://127.0.0.1:12345;
     }
     if ($http_upgrade != "websocket" ){
         return 301 ../index.html;
     }
}

如果你使用了第三方脚本且没有配置自定义伪装路径。

这时使用的是默认目录/,请记得更改对应的location参数。

1.3 配置SSL

这步可以使用宝塔的一键申请,也可以使用自己的证书。

如果你使用了第三方脚本且没有配置自定义伪装路径。

这样的话默认的伪装路径将会是/,代表了整个目录。这样是无法使用宝塔自带的文件验证来申请SSL证书。这时推荐去你的解析商申请token来使用dns验证,或者是使用自己的证书。这时也无法配置伪装站点。

3.配置伪装站点

这步没什么好说的,随便拖个网站或者博客啥的放在网站根目录即可。

方案三:使用docker安装

官方给出了官方镜像详细教程,这里就不多说了。配置完成后还是一样的使用nginx配置反向代理与SSL增加安全性。

最后修改:2021 年 01 月 26 日 01 : 25 PM
如果觉得我的文章对你有用,请随意赞赏