完整记录v2ray折腾http2方式代理过程

v2ray支持很多协议,如tcp、wkcp、websocket、http/2、quic等,这次用http/2协议搭建科学上网服务器。

近期,墙威力大增,很多人的vps都被封了,哀嚎遍地,还好我的3个vps都安然无恙。我每台都装了v2ray和ss-libev,期间也没关机保平安。我主要用的是v2ray tcp方式,这种方式我测试下来是速度最快的一种。我300M带宽,搬瓦工gia线路,speedtest测试能满速到320M,youtube最高200M,无论白天晚上能稳定在160M左右。看到很多人vps被封,v2ray相对抗封锁更好点,以前也用过websocket+tls+cdn翻过,这次想用http/2来翻墙,这次做个完整记录,方便以后搭建。

完整记录v2ray折腾http2方式代理过程
    这次还是用的是搬瓦工双11的服务器进行测试,域名在namesilo新购。自己宽带环境300M电信宽带。这次不打算套cloudflare的cdn,套了cdn后速度下降严重。毕竟搬瓦工双11特价服务器号称也是cn2网络。为了防止在ssh过程中被墙屏蔽,以下操作都是在科学上网环境下处理的。
一、先注册域名
进入https://www.namesilo.com/注册一下,再购买一个域名,找最便宜的域名即可。我注册了个.top的域名,目前0.99美元第一年,还是挺便宜的,到期后再换其他域名。价格超过1美元的域名可以用bandwh或v2ray这个优惠码,可以帮你节省1美元。
二、解析域名
不打算套cdn可以直接在namesilo里面解析域名ip,我这次也没打算套cdn,但为防止ip被封,还是想用cloudflare进行解析,一旦被封可以一键切换到cdn,又能复活vps。要用cloudflare解析ip,先解锁域名,选中域名前勾后点unlockdomains,然后提交即可;然后点切换域名服务器change nameserver,把原有的都删除,换成cloudflare的域名服务器ns1:isaac.ns.cloudflare.com ns2:jasmine.ns.cloudflare.com
完整记录v2ray折腾http2方式代理过程
三、Cloudflare解析ip
https://www.cloudflare.com注册一下,已经注册好的直接add a site增加一个域名,按提示操作。然后解析ip,在dns处添加A记录,输入你vps的ip地址。特别要注意在“status”点击为dns only状态,不然Caddy不能自动创建tls加密。等Caddy创建完成后可以改为cdn状态。以后一旦ip被封,点击一下此处切换到cdn,就可以复活你的vps了。用cdn还要在“cryto”处把ssl状态改为full。
cloudflare解析ip

四、vps相关处理
1、重新安装系统,进入搬瓦工后台,先停止服务器,然后“install new os”,我用的是centos7 64系统,建议不要用自带bbr的系统,我们自己安装bbr。记住下ssh端口号和密码。
2、用putty或xshell登录vps。
相关软件下载:
putty下载地址 https://www.putty.org/     xshell官网下载地址(需验证邮箱)https://www.netsarang.com/zh/free-for-home-school/    winscp下载地址 https://winscp.net/eng/docs/lang:chs
我们先安装bbr,由于 秋水逸冰的bbr脚本会自动换成最新内核,我测试下来秋水的bbr会比搬瓦工官方自带的bbr速度更快。

yum install wget net-tools -y
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

3、安装逗逼caddy一键脚本

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubi/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh install

安装结束后,我们用winscp软件登陆vps进行相关修改。进入/usr/local/caddy/ 下新建Caddyfile文件(注意大小写 )并写入配置文件。下面我用cloud.cctv.com域名、demo@cctv.com邮箱、/data路径为例,进行相关配置。请换成自己的。

https://cloud.cctv.com {
  root /var/www/
  tls demo@cctv.com
  proxy /data https://localhost:10000 {
    insecure_skip_verify
    header_upstream X-Forwarded-Proto "https"
    header_upstream Host "cloud.cctv.com"
  }
  header / {
    Strict-Transport-Security "max-age=31536000;"
    X-XSS-Protection "1; mode=block"
    X-Content-Type-Options "nosniff"
    X-Frame-Options "DENY"
  }
}

保存后,启动Caddy。

/etc/init.d/caddy start

启动后可以重启vps直接输入reboot命令。重启后看/temp/caddy.log启动是否正常,如果不正常,看相关提示操作。在winscp里面按ctrl+alt+H键,看是否有隐藏文件夹.caddy。
4、安装v2ray

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

winscp打开/etc/v2ray/config.json进行修改

{
  "log" : {
    "access": "/var/log/v2ray/access.log",
    "error": "/var/log/v2ray/error.log",
    "loglevel": "warning"
  },

  "inbound": {
    "port": 10000,
    "listen": "127.0.0.1",
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "8f9c704b-2cdc-4aae-b7f7-bd639f522016",
          "level": 1,
          "alterId": 64
        }
      ]
    },

    "streamSettings": {
      "network": "h2",
      "security": "tls",
      "httpSettings": {
        "path": "/data",
        "host": ["cloud.cctv.com"]
      },
      "tlsSettings": {
        "serverName": "cloud.cctv.com",
        "certificates": [
        {
          "certificateFile": "/etc/v2ray/v2ray.crt",
          "keyFile": "/etc/v2ray/v2ray.key"
        }
        ]
      }
    }
  },

  "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"
        }
      ]
    }
  }
}

其中cloud.cctv.com改为自己的,路径/data和Caddy中一致,”certificateFile”: “/etc/v2ray/v2ray.crt”,”keyFile”: “/etc/v2ray/v2ray.key”的路径要和/.caddy/acme/acme-v01.api.letsencrypt.org/sites/cloud.cctv.com/进行软链,不进行软链要输入完整Caddy生成的证书文件所在的位置

ln -s /.caddy/acme/acme-v02.api.letsencrypt.org/sites/cloud.cctv.com/cloud.cctv.com.crt /etc/v2ray/v2ray.crt
ln -s /.caddy/acme/acme-v02.api.letsencrypt.org/sites/cloud.cctv.com/cloud.cctv.com.key /etc/v2ray/v2ray.key

操作完成后,启动v2ray

service v2ray start
service v2ray status

service v2ray查看v2ray是否正常启动。
如一切正常,你就可以用http/2协议进行翻墙了。
五、电脑及路由器设置
电脑端用v2rayN进行翻墙,下载地址https://github.com/2dust/v2rayN/releases,相关设置

完整记录v2ray折腾http2方式代理过程

路由器上我用的是lean的ssr-plus,相关配置如下

完整记录v2ray折腾http2方式代理过程

六、相关测速
这次没有套用cdn,针对这台搬瓦工双11特价机直接进行测试,早上8:30左右,网络相对较好情况下,对v2ray的tcp、websocket、h2进行了相关测试,测试不是太严谨,仅供参考

路由tcp路由ws路由h2电脑tcp电脑ws电脑h2
Youtube180Mbps160120160150100
Speedtest320Mbps(满速)320140250250140

可以看到直接tcp速度最快,ws次之、h2速度最慢。

完整记录v2ray折腾http2方式代理过程
注意点:
1、caddy自动申请证书未成功前,cloudflare的dns解析不能为cdn状态。v2ray也不要启动,如v2ray已经启动了,执行service v2ray stop 命令。
2、查看端口是否启动 firewall-cmd --query-port=443/tcp,返回为no说明未开放443端口。开放443端口,执行 firewall-cmd --add-port=443/tcp --permanent   提示  success 表示成功,再执行firewall-cmd --reload ,443端口即可开放成功。
3、caddy创建证书不成功,可到tmp/caddy.log文件查看不成功原因。也可用tail -f /tmp/caddy.log 命令查看。日志文件出现 Serving HTTPS on port 443  https://down.xxxxx.top(你的二级域名),即表示证书创建成功。
4、caddy证书创建成功后,有效期是3个月,到期后会自动续期。但如果你是用cloudflare的cdn服务,到期后需要关闭cdn服务即设为dns only状态,再执行service caddy restart 命令才能正常续期。

技术不断升级,请注意文章时效性。
本站文章,欢迎转发。转载请注明出处:https://www.bandwh.com/net/42.html

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论列表(7条)

  • 匿名
    匿名 2021年2月1日 23:57

    v2服务起不来是因为配置文件问题,按上面的配置文件搞不定。

  • 匿名
    匿名 2020年6月17日 12:10

    v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: disabled)
    Active: failed (Result: start-limit)
    Process: 2661 ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json (code=exited status=23)
    照着一步一步做的,为什么出错?

  • 匿名
    匿名 2020年4月21日 03:25

    啊,求教怎么做到的这么快的速度的呀,我用的莫斯科的服务器,直接ping是200多的延迟,但用v2ray连接延迟就到1000了。最重要的是速度也不快,服务器测速是20MB的速度,但是用就只有2MB了最高,套的websocket,没用cdn

  • 匿名
    匿名 2020年3月3日 21:12

    国内CDN不支持HTTP2回源,阿里腾讯云等官方文档都写的只HTTP/HTTPS,套CDN不行的,只有ws可以,但是巨贵,3元/G

  • 匿名
    匿名 2019年9月24日 17:44

    失败了,套上CDN就不行了,求指导

  • dalinfisherman
    dalinfisherman 2019年9月20日 15:44

    安装v2ray失败Active: failed (Result: exit-code)/etc/v2ray/config.json (code=exited status=23)

  • 匿名
    匿名 2019年9月18日 18:43

    可以出个视频吗