• 推荐!搬瓦工官方代理,自动更换被封IPJust My Socks

ad

一键脚本搭建V2Ray V2Ray配置与优化

V2Ray这一年来不断完善,增加的功能、支持的协议越来越多,也已经支持了Windows、Mac、Android、iOS、Linux等所有主流操作系统,可以说V2Ray是一个非常优秀的开源网络代理工具。目前V2Ray已经更名为Project V,V2Ray则演变为Project V的内核。本教程介绍V2Ray的一些基本概念,如何用一键脚本搭建V2Ray,如何配置V2Ray服务器端和V2Ray客户端,以及V2Ray的优化。

 

V2Ray简介

什么是V2Ray

Project V 提供了单一的内核和多种界面操作方式。内核(V2Ray)用于实际的网络交互、路由等针对网络数据的处理,而外围的用户界面程序提供了方便直接的操作流程,简单来说,V2Ray就是一个代理软件,可以用来科学上网学习国外先进科学技术。

 

V2Ray与Shadowsocks区别

V2Ray是在Shadowsocks的作者被请喝茶之后出现的一个开源项目,目的就是为了更好的科学上网。相比于ss,V2Ray的定位是一个平台,任何开发者都可以在这个平台上利用V2Ray开发出一个新的代理软件,简单来说,ss的定位比较简单,功能也比较单一,而V2Ray的功能非常强大,相对的,V2Ray的配置就会复杂很多,喜欢鼓捣的同学可以试试。

 

V2Ray的优势

  • 更完善的协议: V2Ray 使用了新的自行研发的 VMess 协议,改正了 Shadowsocks 一些已有的缺点,更难被墙检测到(不保证可靠性)
  • 更强大的性能: 网络性能更好,具体数据可以看 V2Ray 官方博客
  • 更丰富的功能: 以下是部分 V2Ray 的功能
    • mKCP: KCP 协议在 V2Ray 上的实现,不必另行安装 kcptun
    • 动态端口:动态改变通信的端口,对抗对长时间大流量端口的限速封锁
    • 路由功能:可以随意设定指定数据包的流向,去广告、反跟踪都可以
    • 传出代理:看名字可能不太好理解,其实差不多可以称之为多重代理。类似于 Tor 的代理
    • 数据包伪装:类似于 Shadowsocks-rss 的混淆,另外对于 mKCP 的数据包也可伪装,伪装常见流量,令识别更困难
    • WebSocket 协议:可以 PaaS 平台搭建V2Ray,通过 WebSocket 代理。也可以通过它使用 CDN 中转,抗封锁效果更好
    • Mux:多路复用,进一步提高科学上网的并发性能

 

境外VPS购买

ss/ssr服务器一样,搭建V2Ray也需要一台静态的VPS作为跳板。

对于宽带是移动用户,推荐你们使用Vultr,https://www.vultr.com,英文不好的可以参考Vultr购买图解步骤,最低月付2.5刀,也是目前博主自用以及运行小站的VPS。或者可以选择长久的,年付18.19刀,搬瓦工6%优惠券与购买

对于宽带是电信&联通用户,可以试一下搬瓦工的CN2电信/联通直连线路(季付/半年付/年付),GT线路详情可以参考搬瓦工洛杉矶CN2 GT线路测评,如果想用最优的GIA线路,也可以尝试搬瓦工CN2 GIA线路(强力推荐,效果爆炸,全程CN2,晚上高峰时期线路也不拥堵。2018年5月15日正式启动,搬瓦工洛杉矶CN2 GIA线路测评),当然你也可以直接用Vultr,速度也稳稳的。

 

连接远程Linux服务器

购买完成后根据Windows通过Xshell连接Linux或者Mac通过Terminal远程连接Linux即可。

 

一键脚本搭建V2Ray

简单粗暴,V2Ray官方提供了一个在Linux上自动化安装的脚本。脚本会判断之前有没有安装过V2Ray,如果有,则更新(不更新配置),如果没有,则安装。

我在这个脚本上添加了一点代码,判断如果是CentOS系统的话就先关闭防火墙,脚本地址:https://raw.githubusercontent.com/flyzy2005/ss-fly/master/v2ray.sh

直接复制到命令行回车即可:

wget https://raw.githubusercontent.com/flyzy2005/ss-fly/master/v2ray.sh && chmod +x v2ray.sh && ./v2ray.sh

一键安装v2ray

如果提示bash: wget: command not found,则先安装wget:

Centos执行这个: yum -y install wget
Ubuntu/Debian执行这个: apt-get -y install wget

此脚本会自动安装以下文件:

  • /usr/bin/v2ray/v2ray:V2Ray 程序;
  • /usr/bin/v2ray/v2ctl:V2Ray 工具;
  • /etc/v2ray/config.json:配置文件;
  • /usr/bin/v2ray/geoip.dat:IP 数据文件
  • /usr/bin/v2ray/geosite.dat:域名数据文件

此脚本会配置自动运行脚本。自动运行脚本会在系统重启之后,自动运行 V2Ray。

用这个一键脚本安装好V2Ray后,可以通过如下命令控制V2Ray的开启、关闭、重启、查看状态等:service v2ray start|stop|status|reload|restart|force-reload

:本一键脚本只是在V2Ray官方一键脚本的基础上增加了CentOS防火墙的控制,省去再去设置防火墙的烦恼,也没有增加其他任何功能。

 

配置V2Ray服务器

根据上节的介绍,V2Ray的配置文件在/etc/v2ray/config.json,先删除这个配置文件:rm /etc/v2ray/config.json,之后在V2Ray配置在线生成器生成对应的服务器配置,选择好对应的配置后(取消勾选是否是动态端口和是否是mKCP协议),其中用户uuid是用来识别用户的,服务器端和客户端要一致,直接点击服务器配置下方的复制配置

V2Ray服务器配置

之后新建一个配置文件:vi /etc/v2ray/config.json,把生成的配置拷贝进去即可。

最后,启动V2Ray:service v2ray start

查看V2Ray的状态,service v2ray status

查看V2Ray运行状态

可以看到V2Ray已经在运行了。

 

配置V2Ray客户端

这里按照64位的Windows为例,去V2Ray的GitHub下载v2ray-windows-64.zip(如果github的速度比较慢,可以去https://v2ray.com/download进行下载),下载好后,解压出来后的目录如下:

v2ray windows客户端目录

其中,config.json是配置文件,v2ray.exe是有界面的运行客户端,wv2ray.exe是无界面的运行客户端(目前关闭这个客户端我发现只能在cmd里找到这个进程,然后杀死)。

用文本编辑器打开配置文件config.json(Sublime或者Nodepad++等等),继续去V2Ray配置在线生成器生成对应的客户端配置,填入你的服务器地址,其他信息也要与服务器端一致,选择相应的你的V2Ray的配置后,直接复制配置至你的本地config.json中:

v2ray windows配置

保存配置文件后,直接双击打开v2ray.exe即可:

启动V2Ray

但是现在还是不能科学上网的,因为V2Ray将选择权交给用户,它不会像ss那样直接设置系统代理,而是需要你自己在浏览器或者应用里设置。我这里以火狐为例,在浏览器输入about:preferences进入设置页面(或者你手动进入选项),之后在常规中拉到最下方的网络代理,设置连接设置(不同的版本可能设置的位置不一样):

火狐设置浏览器代理

这里的端口需要跟你上面的配置一致,保存后打开油管就可以发现能用了~在V2Ray的控制台也会打印出你的连接信息。

 

V2Ray的优化

用啥mKCP,基于udp的是不是会多发送数据包,反而会增加你流量的消耗?(我猜的 :symbols:

谷歌的BBR加速所有,一键开启方式:

wget https://raw.githubusercontent.com/flyzy2005/ss-fly/master/ss-fly.sh && chmod +x ss-fly.sh && ./ss-fly.sh -bbr

 

总结

V2Ray作为一个新兴的代理工具,喜欢折腾的同学可以试试,但是如果只是想安安静静的上网,还是ss/ssr简单容易上手~

点赞
  1. asker说道:

    v2ray好像说原作者消失,现在改成社区维护,名字也改成了v2fly.
    这样的情况对以前的安装脚本会有影响吗?
    如果有是否有新脚本出来了?
    这篇帖子里的东西可以继续成功搭建吗?
    谢谢

    1. flyzy小站说道:

      用是一样用的,可能脚本有些变化,那个官方脚本还是可以用的,你根据提示操作就行了。

  2. 2333说道:

    报错 unknow Socks version 67

  3. Gogoal说道:

    如何生成vemss链接呢

  4. Clarence说道:

    新建一个文件vi /etc/v2ray/config.json,没法粘贴啊。然后粘贴完就没然后了。求解~

    1. flyzy小站说道:

      先按 i 进去 INERST 模式,然后右键粘贴

  5. rom6336说道:

    用V2Ray配置生成器生成代码复制后黏贴进去但是没有反应(以用vi /etc/v2ray/config.json生成新的文件),并且代码头部有一部分没有自动黏贴进去。请问这种情况要怎么解决

  6. asker说道:

    按本文说明配置好了v2ray,用了个把月,2月5号突然连不上了。春节后照着又重新装了一次,还是v2ray客户端连不上,服务器上看service v2ray status是正常的。然后脚本生成器里面加了个ss的服务。发现ss的可以用。v2ray还是不行。不知道是为什么。
    客户端显示failed to process outband traffic

      1. 就是我啊说道:

        修改配置文件换了个服务器端口问题解决。谢谢。 :razz:

  7. 匿名者说道:

    这个东西还不太成熟吧,我想用WebSocket协议伪装的,结果还是各种花式报错,换了很多网上的一键脚本都是不行的,后来还是改回用SS,一键安装完就能用。 :cry:

    1. flyzy小站说道:

      SS挺好,我也一直用的SS

  8. aero说道:

    如何修改自动运行脚本,避免自动运行脚本会在系统重启之后,自动运行 V2Ray。换而言之,怎么避免自动运行V2Ray?

    1. flyzy小站说道:

      不清楚,没研究过,应该就是update-rc.d那一套吧

  9. 王哥哥说道:

    怎么删除v2ray呢

    1. flyzy小站说道:

      service v2ray stop,然后把相关文件删了

      1. aero说道:

        相关文件有哪些?有没有删除脚本?

        1. flyzy小站说道:

          文中不是标明了吗

  10. _____空白说道:

    一台VPS可以同时装 V2Ray和SS吗?

  11. dalong说道:

    非常感谢,不用走弯路了。

  12. cnguu说道:

    :evil: 那么怎么关闭bbr呢?

    1. flyzy小站说道:

      sed -i '/net\.core\.default_qdisc=fq/d' /etc/sysctl.conf && sed -i '/net\.ipv4\.tcp_congestion_control=bbr/d' /etc/sysctl.conf
      sysctl -p

      1. aero说道:

        sysctl -p 显示

        net.ipv6.conf.all.accept_ra = 2
        net.ipv6.conf.eth0.accept_ra = 2
        net.core.default_qdisc = fq
        net.ipv4.tcp_congestion_control = bbr

        这个是还没有关闭的意思吧……