1、原理

使用ssr+kcptun来看netflix经常因为流量被GFW监控而封掉vps,为了解决这个问题,决定使用更为安全的v2ray来实现科学上网,大致过程如下

  • 国内请求域名
  • 请求指向cloudflare的域名服务器,对域名进行解析,并将请求负载到目标vps最近的缓存服务器,有缓存服务器向vps发出请求
  • 缓存服务器收到响应后原路将数据返回给v2ray客户端

2、域名注册

1年的免费域名
03ik6

3、DNS服务注册

cloudflare
cloudflare是一个免费的CDN服务商,注册一个账号并添加域名进来
03ik7
登陆Cloudflare 添加域名,它会提供DNS 服务器地址
03ik8

在freenom 修改nameserver
03ik9

在cloudflare商进行域名解析
03ik10
稍等几分钟测试以下域名解析应该就好了

4、部署nginx

注意这里我们为了安全起见,利用https将数据封装,所以需要部署一个nginx

server {
  listen  443 ssl;
  ssl on;
  ssl_certificate       /etc/letsencrypt/live/www.linuxwt.tk/fullchain.pem;
  ssl_certificate_key  /etc/letsencrypt/live/www.linuxwt.tk/privkey.pem;
  ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
  ssl_ciphers           HIGH:!aNULL:!MD5;
  server_name           www.example.com;  
  

        location / { 
        proxy_redirect off;
        proxy_pass http://127.0.0.1:10000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;

        # Show realip in v2ray access.log
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
}

5、部署v2ray

一键部署脚本
bash <(curl -s -L https://git.io/v2ray.sh)
bash <(curl -s -L http://down.linoden.com/v2/fangfengv2ray.sh)

下面是部署完成后形成的配置信息
03ik18

6、cloudflare配置

03ik12

03ik13

03ik14

7、v2ray客户端配置

R7000路由客户端配置
03ik17

03ik16

安卓客户端配置

8、BBR加速

本身这个科学上网方案最大的目标是减少被封的风险,所以传输性能肯定是比不上ssr+kcptun的,这里可以使用谷歌开源的BBR来进行tcp加速
一键部署
wget --no-check-certificate -O tcp.sh https://raw.githubusercontent.com/Mufeiss/Linux-NetSpeed/master/tcp.sh && chmod +x tcp.sh && ./tcp.sh

安装 BBR/BBR魔改版内核

9、报错

2021/03/29 11:36:08 117.136.52.24:0 rejected v2ray.com/core/proxy/vmess/encoding: failed to drain connection DrainSize = 2224 48 6 > v2ray.com/core/proxy/vmess/encoding: invalid user > v2ray.com/core/proxy/vmess: Not Found

解决办法:服务端于客户端时间需要同步