0%

宝塔BT面板+V2Ray:实现Websocket+TLS+Nginx分流

事前准备

一台VPS(系统Ubuntu 16.04),一个域名(提前做好解析),SSH工具

部署过程

安装V2Ray

SSH连接上远程VPS后,下载安装脚本:
wget https://install.direct/go.sh
然后执行脚本安装V2Ray:
sudo bash go.sh
在安装完V2Ray之后,修改配置文件重启V2Ray即可,配置文件路径为/etc/v2ray/config.json

以下是V2Ray可使用的命令:
sudo service v2ray start #启动V2Ray
sudo service v2ray stop #停止运行V2Ray
sudo service v2ray restart #重启V2Ray
sudo service v2ray status #查看V2Ray状态

安装宝塔BT面板

根据VPS具体系统选择相应一键安装脚本,本教程以Ubuntu为例:
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
安装完成后,记录终端自动生成的账户密码,然后浏览器登录BT面板操作,建议初次登陆后修改用户名和密码。

安装LNMP环境+Nignx配置

  • 登录BT面板后,可一键部署源码,选择安装LNMP环境;
  • 一切都安装完后,点击「网站」——「添加站点」
  • 成功添加完站点后,点击「设置」——SSL——Let’s Encrypt,成功申请SSL后,保存
  • 再点击站点「设置」的「配置文件」选项,在ssl最后一个}前添加如下代码:
       location /ws {   
         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; 
         http://127.0.0.1:你的V2Ray端口; 
    } 
    
    }
  • 回到「首页」,重启「Nignx服务」
  • BT面板「安全」,防火墙端口放行,新增你的V2Ray端口

修改V2Ray配置文件

  • 打开面板「文件」,在路径中输入_etc_v2ray/,编辑一下文件,并保存
    {
    "log" : {
      "access": "/var/log/v2ray/access.log",
      "error": "/var/log/v2ray/error.log",
      "loglevel": "warning"
    },
    "inbound": {
      "port": 00000, #自动生成的端口,须与Nignx设置的相一致,可自定义
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "UUID", #自动生成的UUID
            "level": 1,
            "alterId": 64
          }
        ]
      },
      "streamSettings": {
      "network":"ws",
      "wsSettings": {
      "path": "/ws", #path可自定义,这里是/ws,须与Nginx和客户端的path相一致
      "headers": {
      "Host": "" #Host可自定于任意域名,此处没有添加
      }
      }
      }
    },
    "outbound": {
      "protocol": "freedom",
      "settings": {}
    },
    "outboundDetour": [
      {
        "protocol": "blackhole",
        "settings": {},
        "tag": "blocked"
      }
    ],
    "routing": {
      "strategy": "rules",
      "settings": {
        "rules": [
          {
            "type": "field",
            "ip": [
              "0.0.0.0/8",
              "10.0.0.0/8",
              "100.64.0.0/10",
              "127.0.0.0/8",
              "169.254.0.0/16",
              "172.16.0.0/12",
              "192.0.0.0/24",
              "192.0.2.0/24",
              "192.168.0.0/16",
              "198.18.0.0/15",
              "198.51.100.0/24",
              "203.0.113.0/24",
              "::1/128",
              "fc00::/7",
              "fe80::/10"
            ],
            "outboundTag": "blocked"
          }
        ]
      }
    }
    
    }
  • 重启V2Ray服务
    service v2ray restart
    service v2ray status #通过该命令,可查看v2ray是否运行成功

安装加速

  1. 开启CDN,推荐CloudFlare
    • 优点:隐藏真实IP地址
    • 缺点:国内解析速度较慢,会影响速度
  2. 安装BBR:推荐一键安装最新内核并开启BBR脚本

客户端使用

iOS

  • Shadowrocket:选择Vmess协议,「混淆」选择「websocket」并添加路径/ws

macOS

  • V2RayX,配置如下:


Andorid和Windows

由于没有相关设备,请自行搜索

总结

通过Websocket+TLS+Nginx能够在最大程度上隐藏VPS的地址,同时伪装成正常的网站访问,从而降低IP被Ban的风险;通过这个方法,同样也能够使已经被封的IP重新使用。