V2Ray教程

作者 | 2019年9月15日

本文简要介绍V2Ray的安装和使用,客户端下载请访问:V2ray客户端下载,流量伪装配置请参考:v2ray高级技巧:流量伪装

V2Ray简介

V2Ray是近几年十分流行的网络工具,其功能强大,用途不限于突破防火墙,但因其能有效翻墙而广为人知。V2Ray有如下大放异彩的特点:

  • 开源。V2RayProject V的核心工具,源代码开源;
  • 多协议支持。传输层支持TCP、mKCP、WebSocket等,上层协议支持Socks、Shadowsocks、以及自定义的VMess等;
  • 多入口和多出口。V2Ray可同时支持多个入站和出站协议,每个协议独立工作;
  • 多平台支持。原生支持Windows、Linux、MacOS三大常用平台,安卓、iOS两大移动平台有丰富的第三方工具;
  • 隐蔽性。V2Ray流量可伪装成网页流量,更难被检测和干扰。

与另一个知名的翻墙工具Shadowsocks(R)相比,两者区别在于:

  1. V2Ray是一个框架/平台,而Shadowsocks(R)是一个代理工具;
  2. V2Ray功能强大配置复杂,Shadowsocks(R)简单易用;
  3. V2Ray性能更好,协议更完善。

一句话总结:V2Ray更好更强大,但更难上手和用好。

服务端安装和配置

首先你需要买一台位于境外的服务器。购买境外服务器可参考:一些VPS商家整理

买好服务器,选定操作系统安装好后,请使用SSH或者远程桌面能连到服务器。接着打开一个终端(SSH用户无需重新开启新终端),确认当前用户是root

在CentOS、Ubuntu等常用Linux系统上,直接执行如下命令安装V2Ray(如果已安装则更新程序):

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

安装完成后,配置文件为/etc/v2ray/config.json,cat命令可查看内容:cat /etc/v2ray/config.json。一个安装时自动生成的配置文件示例:

{
  "inbounds": [{
    "port": 23581,
    "protocol": "vmess",
    "settings": {
      "clients": [
        {
          "id": "ceb793e6-49cf-25d8-e4de-ae542e62748e",
          "level": 1,
          "alterId": 64
        }
      ]
    }
  }],
  "outbounds": [{
    "protocol": "freedom",
    "settings": {}
  },{
    "protocol": "blackhole",
    "settings": {},
    "tag": "blocked"
  }],
  "routing": {
    "rules": [
      {
        "type": "field",
        "ip": ["geoip:private"],
        "outboundTag": "blocked"
      }
    ]
  }
}

配置文件中”inbounds”下的这几项信息需要留意:port(端口)、clients中的id(用户id)和alterId(额外id),它们将在配置客户端时用到。

配置文件无需任何改动即可正常使用,但注意防火墙要放行监听的端口。接下来启动V2Ray并设置开机启动:

systemctl enable v2ray
systemctl start v2ray

客户端下载和使用

V2Ray项目不区分客户端和服务端,然而实际使用中客户端经常需要用户界面,因此许多开发者基于V2Ray内核开发了友好易用的客户端。各平台的客户端下载请访问:V2ray客户端下载

下面以Windows平台的V2RayW为例说明客户端的配置和使用方法:

  1. 下载客户端,双击V2RayW.exe启动(注意:如果从V2RayW官网下载的客户端,需额外下载v2ray-core,本站提供的客户端无需额外下载);
  2. 右键系统托盘的V2RayW图标,点击“配置”;
  3. 在配置窗口点击“增加”,然后在右侧“服务器信息”中填入服务器的ip端口用户id额外id
  4. 右键托盘图标,点击“加载v2ray”,同时勾选“自动模式(pac)”。

服务器信息配置无误的话,接下来就可以愉快的访问外网了。

其他

V2Ray是一个功能强大的网络平台/工具,除本文简要介绍的配置,实践中还有许多方面值得深入了解,例如:

  1. 日志配置,出现问题时方便排查;
  2. 多协议/出口配置,与Shadowsocks、socks等节点互通;
  3. 路由规则,根据需求引导流量;
  4. 流量伪装,让防火墙更难检测和干扰。

这些内容请参考官方教程或文末链接,本文不再一一介绍。

有用的资源

  1. 官网/主页/官方教程:https://www.v2ray.com/
  2. v2ray-core项目地址:https://github.com/v2ray/v2ray-core
  3. 白话文教程:https://guide.v2fly.org/
  4. 工具合集:https://www.v2ray.com/awesome/tools.html
打赏 赞(216)
微信
支付宝
微信二维码图片

微信扫描二维码打赏

支付宝二维码图片

支付宝扫描二维码打赏

x

V2Ray教程” 有 54 条评论

  1. 头像噢力噢

    如果我要知道有哪个IP什么时间登录得v2ray,有什么办法可以实现吗

    回复
      1. 头像噢力噢

        不从日志看的话 还有没有别的办法。

  2. 头像zzzssss

    请问校园网连不上可能有什么原因啊,ip和端口都没有问题,切换到非校园网的路由器可以正常上外网。

    回复
  3. 头像zZ柒

    内网服务器上搭建的v2ray,现在可以在内网客服端连接使用,如果要从外网连接这个v2ray,我要怎么设置勒

    回复
  4. 头像Newbie

    我的评论被删除了?

    有在v2ray中配置shadowsocks协议成功的吗?我的总是不行! CentOS7 服务端安装的V2ray,vmess协议直连和Websocks+TLS+https转发也已经成功了,就是配置shadowsocks不行。客户端是Andorid的v2rayNG(配置选择了shadowsocks,地址/端口/加密/口令都是匹配的,可连接,测试连接约百毫秒延迟),但google play等网页打不开,浏览器提示DNS未解析及internet未联网。 哪位大侠帮看看原因?谢谢!!
    服务端inbouds中该部分配置如下,
    {
    “protocol”: “shadowsocks”,
    “port”: nnnnnn, // the listening port
    “settings”: {
    “method”: “aes-256-cfb”,
    “password”: “xxxxxxx”, // the password
    “udp”:false
    }
    }
    服务端error.log中看到的一些info ( 客户端安卓未root看不到log )
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/proxy/shadowsocks: tunnelling request to tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/app/dispatcher: default route for tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/proxy/freedom: opening connection to tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:www.google.com:80
    2019/12/09 06:51:53 [Info] [3191162602] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [3191162602] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2025344148] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2025344148] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > v2ray.com/core/proxy/shadowsocks: failed to transport all TCP response > io: read/write on closed pipe
    2019/12/09 06:51:53 [Info] [2296177874] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2296177874] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > v2ray.com/core/proxy/shadowsocks: failed to transport all TCP response > io: read/write on closed pipe

    回复
  5. 头像Newbie

    有在v2ray中配置shadowsocks协议成功的吗?我的总是不行! CentOS7 服务端安装的V2ray,vmess协议直连和Websocks+TLS+https转发也已经成功了,就是配置shadowsocks不行。客户端是Andorid的v2rayNG(配置选择了shadowsocks,地址/端口/加密/口令都是匹配的,可连接,测试连接约百毫秒延迟),但google play等网页打不开,浏览器提示DNS未解析及internet未联网。 哪位大侠帮看看原因?谢谢!!
    服务端inbouds中该部分配置如下,
    {
    “protocol”: “shadowsocks”,
    “port”: nnnnnn, // the listening port
    “settings”: {
    “method”: “aes-256-cfb”,
    “password”: “xxxxxxx”, // the password
    “udp”:false
    }
    }
    服务端error.log中看到的一些info ( 客户端安卓未root看不到log )
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/proxy/shadowsocks: tunnelling request to tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/app/dispatcher: default route for tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/proxy/freedom: opening connection to tcp:www.google.com:80
    2019/12/09 06:51:52 [Info] [3191162602] v2ray.com/core/transport/internet/tcp: dialing TCP to tcp:www.google.com:80
    2019/12/09 06:51:53 [Info] [3191162602] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [3191162602] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2025344148] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2025344148] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > v2ray.com/core/proxy/shadowsocks: failed to transport all TCP response > io: read/write on closed pipe
    2019/12/09 06:51:53 [Info] [2296177874] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/freedom: connection ends > context canceled
    2019/12/09 06:51:53 [Info] [2296177874] v2ray.com/core/app/proxyman/inbound: connection ends > v2ray.com/core/proxy/shadowsocks: connection ends > v2ray.com/core/proxy/shadowsocks: failed to transport all TCP response > io: read/write on closed pipe

    回复
    1. tlanyantlanyan 作者

      看起来是服务端向外请求问题,你试试服务端只配置一个shadowsocks协议,不混搭vmess

      回复
      1. 头像Newbie

        试了,还是不行。v2ray真的支持shadowsocks吗?

      2. tlanyantlanyan 作者

        真的支持。你这需要结合客户端和服务端日志一起看,建议先用windows的客户端调通先

      3. 头像Linda

        哪个Windows的V2ray的客户端支持增加 SS协议配置的? 我现在装的v2rayW好像不支持配置SS。

      4. 头像Linda

        win上试了下v2rayN,SS直接就连上了,看来v2ray服务端的SS配置是正常可用的,Andorid的v2rayN为啥不行再研究研究吧。

      5. tlanyantlanyan 作者

        v2ray可以用ss是毫无疑问的,v2rayng可能是配置问题,因为用的同一个核心

  6. 头像长乐

    大佬用的virmach的VPS搭的,但是延迟很高,有办法加速的吗。。。 还是只能买更好的vps

    回复
    1. tlanyantlanyan 作者

      我没用过virmach的服务器,如果bbr或者锐速不能解决你的问题,建议换其他家的vps(最好是能退款的那种)

      回复
      1. 头像长乐

        哈哈哈 可能是我买的那个内存太小了吧 。跑不动bbr 一装完重启vps 直接就连不上了

      2. tlanyantlanyan 作者

        bbr是内核模块,不会消耗内存。重启连接不上一般是服务器其它问题

      3. 头像我吃牛肉面

        可能是防火墙的原因,我之前也是一装BBR就连不上,关闭防火墙就好了

    2. 头像长乐

      大佬我换了vutrl的vps, 早上的时候ping才100多一点 油管视频正常看, 晚上八九点的卡飞了,有什么提取方法吗,方便出个教程吗?谢谢啦

      回复
      1. 头像长乐

        用的vutrl 5刀一个月的vps,但是速度非常慢,下午有一段时间还时好时坏

      2. tlanyantlanyan 作者

        晚上是高峰期啊,速度都很慢,如果装bbr或者锐速没用的话,只能买香港地区的vps了

  7. 头像长乐

    大佬我用的virmach的VPS搭建的,搭建成功了,然后用v2rayn和v2rayW都不行 用S才能上网,白天延迟250,有什么办法提升网速吗 。麻烦大佬了

    回复
  8. 头像kksion

    请问一下~为啥我的PAC模式不能上外网~全局模式可以~

    回复
      1. 头像kksion

        加载了 选全局就可以 我小白一个 但是怀疑是不是pac.js这个文件有问题呀?没有更新或者啥?界面全英文 我也不太会用~

  9. 头像

    请问连不上,下面的提示怎么搞
    2019/12/06 22:01:58 [Warning] failed to handler mux client connection > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp 34.92.244.176:15924: i/o timeout] > v2ray.com/core/common/retry: all retry attempts failed
    2019/12/06 22:02:06 tcp:127.0.0.1:63642 accepted tcp:www.gstatic.com:443
    2019/12/06 22:02:06 tcp:127.0.0.1:63641 accepted tcp:www.google.com:443
    2019/12/06 22:02:12 tcp:127.0.0.1:63645 accepted tcp:play.google.com:443

    回复
  10. 头像Linda

    V2ray的客户端能配置shadowsocks然后连接shadowsocks服务器端吗?
    How ?
    谢谢:)

    回复
    1. tlanyantlanyan 作者

      要看客户端是否支持sa协议(v2ray 核心是支持的),比如i2ray就能配置,但是windows和mac客户端就不支持(应该也支持,不过要手动编辑json配置文件)

      回复
      1. 头像CR

        没有任何提示,也没有“系统托盘的V2RayW图标”?

  11. 头像dongnan

    你好,v2ray安装成功后,用v2rayW无法访问Google 但是用v2rayN可以访问怎么回事呀

    回复
  12. 头像xdfsd

    v2ray显示已经启动但是还是无法连接 google。
    服务器端防火墙已经关闭了
    能ping通,端口扫描开启
    请问是什么问题呢

    回复
    1. tlanyantlanyan 作者

      根据官方,可能的原因:

      客户端和服务器端的用户 ID 不匹配;
      客户端和服务器端的用户 alterId 不匹配;
      客户端与服务器的时间不匹配,误差不能超过90秒钟

      回复

发表评论

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