V2Ray完全使用教程

V2Ray一个优秀开源网络代理工具,可帮你畅爽体验互联网,目前已经全平台支持 Windows、Mac、Android、IOS、Linux 等操作系统的使用。相对起 Shadowsocks 来说属于后起之秀,在混淆能力、兼容性、速度上有着独到的优点。在目前 Shadowsocks、ShadowsocksR 停止更新的情况下,多掌握一个活跃项目工具的使用是完全有必要的。

前言

本文最后一次更新时间为:2018-11-12

本文起初于2016年,时至如今收到很多读者的反馈,经过不断的完善字数也从一两千到现在的一万三千字!这种完善也产生了副产品,许多章节并不是每个人都需要的,即使经过结构化的梳理对他们来说仍会产生的干扰和混淆。

于是我重新写了一篇教程,不做过多的描述,仅写最基础的使用和操作。我知道你不关心它是什么和为什么,只关心怎么做才能正常的访问 Google,那么请移步看我新写 面向新手的V2Ray搭建指南 这篇对新手更友好的教程。

我将尽量避免这两篇文章的重复,所以那篇文章只会讲述最基本的安装和使用,这一篇文章才涉及到配置讲解,所以那篇文章未涉及到的内容,你可以综合两篇文章一起看。

一、V2Ray(Project V)介绍

Project V 包含一系列工具,帮助你打造专属的定制网络体系。

v2ray.com

和Shadowsocks一样,V2Ray的运行需要服务端和客户端的相互支持,也就是说除了你正在使用的设备,你还需要配置一个境外远程服务器。这个过程并不是很简单,需要付出你的一点点努力才能完成,所以我在这里分享出我的使用经验,与君共勉。

1-2、和Shadowsocks有什么区别

V2Ray 更像是一个集成工具,它集合了多种多样的协议和功能,对个人用户而言像是一个工具箱,可以使用各种各样的工具组合。对开发者而言像是一个脚手架,可以在此基础上开发扩充自己需要的功能而节省开发时间。

总而言之大体上的道理是相同的,你若是需要个性化的功能,那么需要更复杂的配置,若是需要最基本、普遍的功能,只需要在已有基础上稍作修改即可。

所需工具:

境外VPS:

地域选择

任何境外 VPS 都可以,一般而言香港、台湾、新加坡、韩国、日本等亚洲机房速度(延迟小)最快,但价格贵并且由于用的人多经常会被重点关照。无论如何,如果预算充足并追求速度可以选择这些机房,但需要提前了解测试线路是否是直连中国,一些线路可能会绕美国。

美国VPS价格低廉宽带足,其中的洛杉矶(Los Angeles)、西雅图(Seattle)两个机房对中国物理距离最近,这两个机房为首选。

退一步说话,就目前的网络优化技术下(推荐BBR),延迟对实际感觉到的网速而言存在感并不够强烈,所以需要更注重掉包率。最差的情况下(网络优化前),延迟不高过350,掉包率不超过15%,这样就已经能满足大多数人的网络体验了。

所以选购VPS时,大多数人并不需要太过追求于日本、香港线路,追求各种CN2优化的极致速度,大多数VPS实际上就已经能满足需求了,前提是开启BBR优化,这一点很重要。

商家选择

点击图片进入官网注册账户

购买VPS推荐使用 Vultr ,支持支付宝、微信付款(付款时选择 Alipay),多地机房选择最低月付 2.5$(IPV6 only)起,按小时计费可随时删除创建多个 VPS,意味着实际上无流量限制,通过备份快照,删除再还原 VPS 的方式可以重置流量。

目前 Vultr 中合适的套餐选择是月付 3.5$ 的套餐,购买VPS后,推荐安装 Ubuntu 系统,因为简单易用且教程丰富,遇到问题容易找到解决方法,接下来的服务端部署教程全部基于 Ubuntu 18.04 环境。

Vultr 中的 Ubuntu 18.04 LTS 已经默认启用了 BBR 加速,所以无需再进行额外配置,只需要部署 V2Ray 即可食用。

耐心+加油

若有 Linux 系统(如 Ubuntu) 使用经验,那么这个过程对你来说是轻而易举。即使你没有太多电脑基础也没有关系,跟着本文进行操作,遇到不懂的问题善于使用搜索,或者在本文下方的评论区留言求助,相信机智的你可以轻松搞定。

写给新手

一些新手遇到了问题往往不知道如何解决,并且求助于我并解决问题后,发现很多问题所在都是配置不按照教程走(或许是从别处看的有失误的配置)。本文在下方手动安装环节展示了完整的服务端配置,并且在下方 3-3Linux 章节(客户端配置均通用,Windows用户可直接复制粘贴)中展示了完整的客户端配置。

当你无法理解配置的含义时,完全跟着教程的配置是最保险的选择,成功的运行是一个大前提。当你已经掌握用法并且想要更深一步的折腾时,可以跟着官方教程一步一步摸索。

另外由于 V2Ray 的更新,个别配置可能会产生变动或者客户端与服务端的不兼容,所以为了避免不必要的麻烦,请总是使用 V2Ray 最新版本的客户端和服务端。

我可以使用其他系统吗?比如 Centos

是的你可以使用,但是许多新手并不清楚 Centos 默认开启防火墙,这意味着即使你安装好 V2Ray 并运行后仍然无法进行连接,因为防火墙阻断了他们之间的连接。

当你并不熟悉 Centos 时,我建议关闭系统防火墙,这也许会带来安全方面的隐患,但是为了安全使用密钥而不是密码登陆,并禁用 root 用户远程登陆和密码登陆这些措施对于安全更为有效。当你不熟悉系统操作时,防火墙给你带来的负担远大于好处。如果你确定要关闭防火墙,那么运行下面两个命令即可:

systemctl stop firewalld #停止firewall
systemctl disable firewalld #禁止firewall开机启动

二、服务端搭建过程

开始讲解在VPS上部署V2Ray的过程。大多数情况下推荐使用自动安装脚本,当你无法使用脚本安装成功后,可以跟随 2-2 部分内容手动安装。

要进行下面的搭建过程当然需要先 ssh 连接我们预先购买的 VPS,如果你当前使用的是 Win10 系统,不妨使用自带的 ssh 客户端用于连接远程主机。使用方法参考:使用Win10内置SSH客户端

2-1自动安装脚本(推荐)

V2Ray 官方维护并提供了适用于大多数主流系统的自动安装脚本,只需一行命令即可完成安装,当你想要更新V2Ray 的时候同样只需要运行下面一行命令。(谨慎使用第三方的安装脚本)

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

安装完成后会新增下列

  • /usr/bin/v2ray/v2ctl:V2Ray 工具,用于给程序自身调用
  • /usr/bin/v2ray/v2ray:V2Ray 核心程序
  • /etc/v2ray/config.json:配置文件
  • /usr/bin/v2ray/geoip.dat:IP 数据文件,V2Ray 路由功能时有用,下同
  • /usr/bin/v2ray/geosite.dat:域名数据文件

脚本安装完成无误后,可以进行如下操作:

  1. 编辑 vim /etc/v2ray/config.json 文件来配置你需要的代理方式;
  2. 运行 systemctl start v2ray 来启动 V2Ray 进程;
  3. 之后可以使用 systemctl start|restart|stop|status v2ray 控制 V2Ray 的运行。

以上命令均需要 root 权限。对于第一步编辑配置文件,可以改动端口为三位数或更小的数字(如443端口)对速度也许有所改善,这是一种玄学 : ) 。

当你使用自动脚本安装结束后,就可以说服务端的部署已经完成了,自动脚本不仅安装了 V2Ray,还在配置中随机生成了一个 5 位数端口以及 UUID 供我们直接使用,所以我们无需进一步配置服务端,我们已经获得三个必要的信息了:IP、端口(Port)、id(UUID)。

若需要支持 Shadowsocks,则需要进一步配置,可以参考下面章节 2-2手动安装 中的部分。V2Ray 服务端支持同时配置多种协议,你可以在一个端口配置Vmess协议,一个端口配置 Shadowsocks 协议。配置 Shadowsocks 协议后,你也可以使用其他 SS 客户端而非一定要使用 V2Ray 的客户端。

2-2手动安装

手动安装和自动安装达到的效果基本一致,但是许多脚本自动完成的地方却需要我们自己操作,不建议自己手动安装,仅仅在自动安装失败后再尝试。

2-2-1下载与安装

首先 SSH 连接上自己的 VPS,然后到 Releases 找到适合自己 VPS 系统的版本,在下载链接上右键复制链接。

大多数情况下,VPS的CPU都是Inter架构,而系统位数则已经在购买VPS时就已经选择了,所以下列查询架构和运行模式的部分只在不确定的时候再进行。

那么如何判断 CPU 型号以及运行模式(32 还是 64)呢?可以通过命令很方便的查询,比如来查询 CPU 运行模式:

getconf LONG_BIT
32

返回的 32 表明运行模式为 32 位,查询 CPU 型号也只需要一行命令:

lscpu | grep "Model name"
Model name: 2 Intel(R) Xeon(R) CPU E5620 @ 2.40GHz

下列命令是下载 64 位版本的 V2Ray 主要过程,随后进行详细说明(这里的配置文件“vpoint_vmess_freedom.json”对应自动安装脚本中的 /etc/v2ray/config.json,二者完全相同):

# 创建一个目录并进入
mkdir v2ray;cd v2ray
# 下载压缩包
wget https://github.com/v2ray/v2ray-core/releases/download/v4.5.0/v2ray-linux-64.zip
# 解压压缩包
unzip v2ray*.zip
# 复制安装包中的配置文件到 /etc/v2ray 目录中
cp vpoint_vmess_freedom.json /etc/v2ray/config.json
# 创建一个目录用来储存日志文件
mkdir /var/log/v2ray/
# 运行,默认在 /etc/v2ray/config.json 寻找配置文件
./v2ray

不出意外就能看到下面的界面:

为了方便接下来的使用,我们还是按照文件的存放约定把配置文件放到 etc 路径下(这里忽略官方的示例配置文件,使用文章下方的配置,这里仅仅创建一个文件),可执行文件文件放到 /usr/bin 路径下:

sudo mkdir /etc/v2ray /usr/bin/v2ray /var/log/v2ray # 创建目录
sudo chmod +x v2ray v2ctl # 赋予可执行权限
sudo mv v2ray v2ctl geoip.dat geosite.dat -t /usr/bin/v2ray # 移动文件
touch /etc/v2ray/config.json # 仅创建配置文件的空文件
sudo mv systemd/v2ray.service /etc/systemd/system/
sudo systemctl enable v2ray # 用于程序开机启动并且崩溃时自动重启程序

OK,经过上列的操作,我们的 V2Ray 和用脚本自动安装的达到的效果已经基本一致了,注意此时的最后一条命令是让 V2Ray 永久运行并且开机启动,但是执行此命令时并未让它启动(还没有配置 config.json 当然不会启动)。

我们需要接着下面的步骤来修改我们的配置文件,每次配置改动都需要重启程序使其生效,执行命令:

sudo systemctl restart v2ray

2-3、配置 V2Ray

通过下方命令编辑配置文件:

vim /etc/v2ray/config.json

服务端配置如下:

{
  "inbounds": [
    {
      "port": 443, // Vmess 协议服务器监听端口
      "protocol": "vmess",
      "settings": {
        "clients": [
          {
            "id": "b831381d-6324-4d53-ad4f-8cda48b30811" // id(UUID) 需要修改
          }
        ]
      }
    },
    {
      "port": 444, // SS 协议服务端监听端口
      "protocol": "shadowsocks",
      "settings": {
        "method": "aes-128-gcm", // 加密方式
        "password": "yuan.ga" //密码
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "settings": {}
    }
  ]
}

以上配置了两种协议,Vmess 在 443 端口,Shadowsocks 在 444 端口,也就是说你可以一个客户端使用 Vmess 协议,另一个客户端使用 Shadowsocks,当然你闲置一个不用也无所谓。

对于上述配置而言,最少只需要修改 Vmess 的 UUID 和 Shadowsocks 的密码就可以直接使用了。

2-3-1Vmess

换掉 ID 可以使用 Online UUID Generator 这个网站生成,注意服务端的 ID 需要和客户端保持一致。

当然还可以修改端口,如下图所示:

2-3-2Shadowsocks

Shadowsocks 的端口配置支持1000-1010这种形式的连续多端口配置。

  "inbounds": [
    {
      "protocol": "shadowsocks",
      "port": 444, // 监听 444 端口
      "settings": {
        "method": "aes-256-cfb",  // 加密方式
        "password": "V2Ray",     // 密码,必须和客户端相同
      }
    }
  ],

V2Ray的json配置文件支持 //、/* */形式的注释,所以不需要删除注解也可以运行,当你的文本编辑器支持 json 的语法检查时可能会对注释报错,不用理会,V2Ray会正确的处理它。

目前 V2Ray 支持的加密方式很多,以下仅推荐两种:

  • aes-256-gcm:PC端推荐,安全
  • chacha20-ietf:移动端推荐,更省电,更快速,良好的加密性

2-3-1、永久运行

如果一致跟着教程走,我们已经配置了 Systemd,成功配置完成后我们需要使用它来管理 V2Ray 的运行,需要掌握的命令就以下几条:

启用和禁用

注意启用和禁用并不会直接影响当下 V2Ray 的运行,启用状态时 V2Ray 崩溃会自动重新运行,开机会自动运行 V2Ray。

sudo systemctl enable v2ray
sudo systemctl disable v2ray
启动、停止、重启V2Ray
sudo systemctl start v2ray
sudo systemctl stop v2ray
sudo systemctl restart v2ray
查看状态
sudo systemctl status v2ray

三、客户端的使用

3-1Windows

3-1-1安装

我们在 Github 下载 V2Ray,打开链接 https://github.com/v2ray/v2ray-core/releases ,往下翻找到 v2ray-windows-32.zip,意思为这个是 Windows 32位系统的客户端,如果你的系统是 64 位当然可以选择 v2ray-windows-64.zip。

3-1-2配置

下载完成后,我们找一个地方进行解压,这里我是在 C 盘创建一个文件夹 tools,然后把 V2Ray 解压到其中。进入我们解压好的文件夹修改 config.json 文件,删除原先的内容并完整的复制下方内容粘贴进去。

{
  "inbounds": [
    {
      "port": 1080,
      "protocol": "socks",
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth"
      }
    },
    {
      "port": 8080,
      "protocol": "http",
      "sniffing": {
        "enabled": true,
        "destOverride": ["http", "tls"]
      },
      "settings": {
        "auth": "noauth"
      }
    }
  ],
  "outbounds": [
    {
      "protocol": "vmess",
      "settings": {
        "vnext": [
          {
            "address": "8.8.8.8", // 服务器 IP
            "port": 443, // Vmess 协议端口
            "users": [
              {
                "id": "7d4cd078-e529-4bdb-a483-cf5733d96a66", // id(UUID)
                "alterId": 64 // 需要和服务端一致
              }
            ]
          }
        ]
      }
    },
    {
      "tag": "direct",
      "settings": {},
      "protocol": "freedom"
    }
  ],

  "routing": {
    "domainStrategy": "IPOnDemand",
    "rules": [
      {
        "type": "field",
        "ip": [
          "geoip:private"
        ],
        "outboundTag": "direct"
      }
    ]
  }
}

alterId 的值需要服务端和客户端一致,否则无法正常使用,如果没有填写则默认值为 0。一般情况下使用自动脚本安装服务端 V2Ray 生成的配置文件中 alterId 值为 64,值的大小并不必然的影响安全性。

上述配置中仅需要把 IP、 port 和 id(UUID) 修改成之前安装时的内容,保存后直接运行 v2ray.exe。把你的系统代理设置成 socks5 127.0.0.1:1080 或者 http 127.0.0.1:8080 ,就可以正常使用了。

此时此刻 V2Ray 客户端已经正常运行,我们配置一下系统,让它使用我们的代理即可。一张图讲解 Win10 设置系统代理的方法:

打开设置——网络和 Internet——代理,进行如上设置即可。可以看的出来,这里我是使用的 http 127.0.0.1:8080,而不是 socks 协议,因为系统对 http 代理的支持更好。

设置完成后,你对一切都非常满意,但是觉得 V2Ray 的那个黑糊糊的命令行窗口十分碍眼,OK,关闭这个窗口,双击 wv2ray.exe 运行即可。二者完全一样,只是 wv2ray.exe 没有窗口。

3-1-3开机启动

最后你还想要它能开机自己启动,而不是自己每次都要点,so easy。按下快捷键 WIN+R,输入 shell:startup 回车,这个时候会打开一个文件夹,这个文件里中放入任何程序都会开机时运行。

当然不能直接把 wv2ray.exe 直接放进去,我们对着它右键——创建快捷方式,把创建的快捷方式放入到那个文件夹中就完成了。

Windows键(Winkey),简称“Win键”,是在计算机键盘左下角 Ctrl 和 Alt 键之间的按键,图案是 Microsoft Windows 的视窗图标。 现在大多数运行 Windows 的 PC 键盘上都有这个按键。

3-1-4进阶(可选)

经过上列的步骤,我们已经可以访问 Google 了,但是对此你仍然不满足,想要对什么网站用代理有个更详尽的把控。

这就需要浏览器插件来完成了,Chrome的扩展 Omega 或者 Firefox 的 Proxy SwitchyOmega ,这两款实际上是同一个插件。其中配置成socks 127.0.0.1:1080就好了。如果在服务端配置中还加上了Shadowsocks的支持,那么也可以直接使用Shadowsocks的客户端。

GFWList 是一个有用的东西,可以帮助代理仅仅被屏蔽的内容,我们可以结合OmegaGFWList 来配置自动代理,甚至可以使用 Omega 生成 PAC 文件来设定系统级别的自动代理。

3-2安卓Android

目前可用的客户端有v2rayNGBifrostVActinium。如果你对上述客户端没有了解,那么我推荐你使用BifrostV,它的UI界面相对更加完善,整体布局设计模仿了安卓版Shadowsocks,当你使用过安卓版Shadowsocks时使用这个软件就不存在太多障碍。

同时支持 VMess、Shadowsocks、SOCKS 等协议,也就是说上述协议的连接只要一个客户端就可以搞定了。APP有少量广告(设置中有关闭广告选项,但需要Google Play的支持),希望用户可以理解开发者的劳动成果,包容那点广告或选择捐赠支持开发者。

BifrostV下载链接在此(适用于无法使用Google Play的用户)

上述APP都可以去Google Play下载安装。对于无法使用Google Play的人,建议使用 APKPure ,这是一个以 Google Play 中的安装包源为基础的软件商店,优点在于支持中文、可以下载干净的APK,无侵入式广告,可以无网络障碍的使用

3-3Linux系统下客户端配置(仅适用于Linux桌面端用户)

V2Ray 客户端和服务端的文件是一体的,你仍然可以复用上列在服务器端安装、运行 V2Ray 的方法,唯一的不同之处在于配置文件 config.json。

使用自动脚本安装,因为是从 Github 下载安装包,所以要求机器本身能够访问自由互联网。此时可以把自动安装脚本 go.sh 下载下来,用些手段下载 V2Ray 压缩包,然后使用 ./go.sh –local v2ray.zip 命令安装本地名为 v2ray.zip 的文件。

3-3-1V2Ray Vmess配置

我们可以复用原先的 3-1-2配置 部分的配置,把它完整复制粘贴进 config.json 并覆盖原先的内容。

这份配置文件中,我们可以通过两种方式连接我们设定的代理:

  • socks://127.0.0.1:1080
  • http://127.0.0.1:8080

一直到这里,我们已经完完全全配置好了 V2Ray,但是你还是不能直接打开浏览器就访问谷歌,因为你还没有让目标软件使用代理。

PAC 自动代理(推荐)

还有个问题就是,Windows 客户端一般都有自动设置PAC系统代理,这种方式代理有个好处就是不需要浏览器插件就可以分网站使用代理,并且对于大多数桌面软件也可以自动应用代理规则,实际上 Linux 也支持这种功能,只是缺少简单的方法去实现这个,要多费些功夫。

先回到上一节 3-1Windows 的内容,根据自己使用的浏览器安装我们需要的插件,实际上 Firefox 和 Chrome 的那两个插件是同一个,仅仅是名字有点出入。安装完毕后我们进入插件的配置页面,设定默认自带配置 Proxy 为 socks5 协议 127.0.0.1 地址 1080 端口,然后点击 Apply changes 使设定生效。

接着配置 auto switch,需要设置的仅有三点需要注意:

  1. Rule list rules 设定为proxy。意为符合规则的走我们设定的代理。
  2. Default 设定为 Direct。意为不符合规则的直接连接。
  3. Rule List URL 粘贴进去 https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt,然后点击Download Profile Now。

点击 Apply changes 使设定生效,然后点击右上角的 Export PAC 导出我们的代理规则。

最后设定PAC代理方面,不同的Linux桌面环境会有区别,可以自行搜索关键词:设置pac “系统名+版本号”。这里以Ubuntu18.04作为示范:

打开设置—Network—Network Proxy,选择Automatic模式,填入file://pac文件绝对路径,如果你的pac配置文件放到了/etc/v2ray/proxy.pac,那么就填入:file:///etc/v2ray/proxy.pac。

四、简单问题排查

遇到的问题五花八门,但就目前的经验来看,大多数人的错误所在都在于并未严格遵循本文的系统环境和配置。

当你遇到问题的时候,首先需要检查服务端V2Ray 是否正常运行,但只要你正确配置,一般很少出现无法运行的情况,即使是意外崩溃也可以自己重启运行。

如果对英语有一定理解能力,并且懂点计算机常识,那么通过查日志你就可以解决大多数问题。如果你想要其他人帮助你解决问题,准确而具体的描述你所遭遇的情况,并且附上日志文件和配置文件都可以让别人更快速的看出你的问题所在。

4-1获取日志

要想对问题进行更准确的定位,大多数时候都要求展示你的配置和运行日志,然而很多人却不知道运行日志在哪获取,获取方法其实很简单。

4-1-1服务端日志

服务端的日志形式是在 config.json 配置文件中进行设定的,如果配置文件中存在类似于下方的字段:

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

那么服务端的日志存在于 /var/log/v2ray 目录下,这个目录下存在两个文件:

  • access.log:包含正常连接的消息
  • error.log:仅包含错误连接的消息

在排查问题的时候,error 日志可能会有很长的内容,这种时候仅需要最底部的十几行内容(越靠下意味着内容越新),在 Linux 系统下我们使用 tail 工具去查看日志,默认只显示文件底部 10 行内容。

sudo tail /var/log/v2ray/error.log

如果没有在配置文件中写明 log 重定向到文件,那么我们可以使用 journalctl 工具查看:

sudo journalctl -b -u v2ray

4-1-2客户端日志

对于 Windows 系统,如果你使用的是官方 V2Ray 客户端并且是按照我的配置进行设置,那么你的日志信息只是会在 v2ray.exe 程序运行的命令行窗口中打印出来。

如果你的客户端也是 Linux,那么按照 4-1-1服务端日志 的方法即可。

4-2检查服务端是否运行

systemctl status v2ray

有 active(running) 这样的字样说明是正常运行。


写在最后:如果你发现本文有错误或有任何疑问,请在下方评论区中指出以帮助作者改善文章,大多数情况都能保持一天之内(或更快)进行回复,注意你的邮箱收到的作者回复提醒。

“V2Ray完全使用教程”的129个回复

    1. 谢谢谢谢谢谢提醒!!!其实我早一阵子就发现了这个失误,一直到今天也没想起来改!

    1. 你的问题有些模糊,你是想把 V2Ray 的客户端部署在路由器上吗?这个目前并没有流行成熟的方案,但是网上是存在一些教程的,我并没有尝试过。如果你的意思是部署 SS 的客户端在路由器上,可以在网上搜索你的路由器和路由器系统寻求更加具体的帮助。

    1. 感谢反馈,将会接受建议更新Linux客户端的使用方法。建议访客留言使用真实邮箱,以保证及时获得回复(不会泄漏邮箱,不会发送任何垃圾邮件)。

    1. 如果你需要类似于VPN的全局代理,那么需要借助第三方工具Proxfixer来实现。如果你只是需要系统代理的全局代理功能,如Shadowsocks-win的全局代理功能,许多客户端都支持,或者你也可以手动设置。

  1. 请问运行v2ray后怎么让他后台执行呢?还有就是我怎么知道v2ray在不在后台运行呢?用ps a 命令吗?

    1. 当你使用自动安装脚本安装成功后,会自动配置使用Systemd管理程序的运行与启动,所以当你安装完毕后程序既是后台运行并且是永久运行的(程序崩溃和系统重启都会自动启动)。所以你可以使用systemctl v2ray status命令查看程序运行状态,使用systemctl v2ray restart重新启动程序,使用systemctl v2ray disable禁止开机自动启动。

      这些已经在文章中有描述过,如果你有更多疑问可以接着在下方留言,我会考虑对这一方面进行更加详尽的讲述。

  2. 自动安装的时候显示了 V2Ray v3.31 is installed,但是在执行 systemctl v2ray start 的时候显示 Unknown operation v2ray.。换手动安装也不行。请大佬赐教。

    1. Hi~感谢你的反馈,已确认是教程本身的问题,本文近期的一个修改产生的低级错误,正确命令为systemctl start v2ray。语法为 systemctl 操作行为 程序名

      1. 那在xshell上安装好 v2ray以后,怎么验证是否安装成功,或者正常运行呢(小白问题)。另外,我看很多教程都有提到过v2ray的客户端。是不是可以不用v2ray的客户端,而直接使用原SS/SSR的客户端呢?

        1. 运行命令systemctl status v2ray,在运行结果第二行出现Active: active (running),则为正常运行。目前V2Ray的服务端是支持配置Shadowsocks协议的,当你的服务端配置了Shadowsocks协议后(需要手动配置,文章中有讲到方法),你可以使用任何一款SS/SSR的客户端,这是完全没问题的。

          V2Ray的服务端支持多种协议,Vmess则是V2Ray独有的协议,当你服务端配置的协议为Vmess时,则只能使用兼容V2Ray的客户端。V2Ray的服务端是支持同时配置多种协议的,但是显然客户端同一时间只能使用一种协议,这是可以自由选择的。

          1. 多谢大佬指点。。已成功自由上网~最后再问下,现在只支持安卓的嘛?苹果手机有什么可以用的客户端嘛?

          2. IOS没有官方客户端,但存在一些第三方支持Vmess协议的客户端,如Kitsunebi、Shadowrocket,再其次你也可以使用支持Shadowosocks协议的客户端,有大量的选择。

  3. 尊敬的大佬,按照您文章中的方式,配置了shadowsocks的协议。然后使用SSR的客户端后并没有效果。网上搜索了半天,都没找到有用的资料。不知道是哪里出了问题。

    1. 请确认你是否可以使用其他shadowsocks客户端进行连接,如果不能附上v2ray的日志。如果其他客户端可以正常连接,附上SSR的配置截图。信息也可以发到我的邮箱yearliny@outlook.com。

  4. 虚拟机里装了linux系统,安装完v2ray也后台能正常开启,但还是访问不了‘有土鳖’

      1. 虚拟机里是64位的linux做客户端用,前天刚装的arch系的manjaro,
        照着这里【https://www.v2ray.com/chapter_00/install.html】安装的,
        配置文件复制了自己win下的不知道对不对

      1. 搞不好我比你大多了
        大多数情况下,VPS的CPU都是Inter架构,而系统位数则已经在购买VPS时就已经选择了,所以下列查询架构和运行模式的部分只在不确定的时候再进行。

        这里也要改intel…

  5. 楼主,心里着急啊,网页里面全是英文,很多看不懂,麻烦做一个APP,还有我的电脑是WINDOWS8中文版的,可以安装不?安装后需要卸载QQ这些能够被监控的程序吗?

    1. 你是有哪些网页看不懂,无法顺利在Vultr上购买还是看不懂Github,电脑基础薄弱可以考虑购买他人搭建服务,或者我可以帮你部署。

      Win8完全可以安装。

      qq无需卸载,但是如果有国产杀毒软件如360,建议卸载了。

    1. 感谢反馈,3-3 章节是 Shadowsocks 的配置,没有对此进行说明是一个失误。由于我常用客户端是 ss 所以我在 Linux 下也习惯性的配置了 ss。

      我会接受你的建议和参考链接,尽快完善内容避免误导。

  6. =.= 上一条评论带了链接好像被当成垃圾评论过滤掉了
    已经配置好了 参考了一下别人的配置 本来还想发链接出来的
    还是要谢谢博主 前面内容给我带来很大的帮助 希望能够吧3-3完善好

  7. 能发个V2RAY NG的apk文件给我吗?我用不了谷歌play。。找不到下载的地方,我QQ**********

  8. 配置完之后不仅无法科学上网甚至国内的也上不了。。
    2018/09/07 22:08:46 tcp:127.0.0.1:64848 accepted tcp:clients4.google.com:443
    2018/09/07 22:08:49 tcp:127.0.0.1:64850 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:08:54 tcp:127.0.0.1:64853 accepted tcp:www.bilibili.com:80
    2018/09/07 22:08:54 tcp:127.0.0.1:64852 accepted tcp:www.bilibili.com:80
    2018/09/07 22:08:54 tcp:127.0.0.1:64856 accepted tcp:www.bilibili.com:443
    2018/09/07 22:08:54 tcp:127.0.0.1:64858 accepted tcp:www.bilibili.com:443
    2018/09/07 22:08:54 tcp:127.0.0.1:64860 accepted tcp:www.bilibili.com:443
    2018/09/07 22:08:54 tcp:127.0.0.1:64861 accepted tcp:www.bilibili.com:443
    2018/09/07 22:08:55 tcp:127.0.0.1:64864 accepted tcp:www.bilibili.com:443
    2018/09/07 22:09:42 tcp:127.0.0.1:64867 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64869 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64871 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64873 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64875 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64877 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64879 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64881 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64883 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64885 accepted tcp:suggestion.baidu.com:80
    2018/09/07 22:10:02 tcp:127.0.0.1:64887 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64889 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64891 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64893 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64896 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64898 accepted tcp:www.youtube.com:443
    2018/09/07 22:10:02 tcp:127.0.0.1:64900 accepted tcp:www.youtube.com:443
    这是r2ray客户端的记录,请问大神我该如何解决

    1. Hi~请问你是按照本文的方法配置的吗?请附上你的全部日志文件 error.log (可以以附件形式发送)和服务端以及客户端的 config.json 配置文件发送到我的邮箱中。

  9. 我在公司的电脑里搭建了服务器,装了V2Ray,外网连接是正常的。后面在家里的笔记本下载安装了V2Ray,配置之后也一切正常,也显示配置成功启动成功,就是一直打不开外网,点击测试服务器速度就出现了:The remote server returned an error:(500)Internal server error ,这是什么原因呢?(服务器是正常的,在公司电脑里都能正常打开外网。)

    1. 500错误意味着代理没有正常连接。启动成功只代表配置没有 json 格式的语法错误,而不会进行更多的检查。要想查出问题的所在,需要查看客户端和服务端的错误日志。

      1. 客户端和服务器都是没有问题的,测试了多个服务器和客户端,在别的电脑上都是可以用的,就是在我的电脑上不行。貌似是电脑本身网关的问题或者是电脑其他哪里配置上的问题,这个该怎么解决呢。(电脑系统(windows 7, 32位 )

  10. 大佬好,配置完毕后无法连接,任何网页都是连接超时,客户端和服务端是直接复制的上面的代码,只修改了VPS的地址和ID,客户端报错:
    [Warning] [758417348] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: failed to find an available destination > Retry: [dial tcp “IP地址”: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. dial tcp “IP地址”: operation was canceled] > Retry: all retry attempts failed

    1. 只要运行错误,都会显示 exit-code,后面会附上错误代码以表示某一类错误,所以你的回复让我能知道的内容仅有 V2Ray 启动失败。

      当你运行失败想要排错,那么你需要附上配置文件和错误日志。

    1. 对于仅仅搭建这种服务而言,64或32是可以随便选择的,对于小内存机来说使用32位系统可以节省内存。我是习惯于使用 Ubuntu 系统,而目前的最新版本 Ubuntu 18.04LTS 没有 32 位系统可供选择,所以我使用的是 64 位系统。

      连接服务器都是使用 SSH 协议,而 Xshell 是 Windows 下的一个很好用的 SSH 客户端,推荐新手使用,当然你用其他诸如 Putty 的客户端都是可以的。

      1. 你好。我综合参照了你的和这位大神(https://toutyrater.github.io/prep/install.html)的方法,完成了配置,服务器地址、端口、uuid都换了虚拟服务器的。查看v2ray的状态也是active,但就是上不了网,请问这是为什么呢?
        我是win10,64位系统的laptop,安装有linux18.04双系统,在win10系统下,v2ray运行正常。但是在linux下完成配置后,却出现了上面的问题,不知道问题出在哪里。
        linux小白一只,求解,感谢感谢。

        以下是我查看错误日志的内容。

        houjing_wei@ubuntu18-04:/$ sudo cat error.log
        [sudo] houjing_wei 的密码:
        2018/10/14 00:35:53 [Warning] v2ray.com/core: V2Ray 3.47 started

  11. 你好,感谢你的回复。不知道你说的客户端错误信息是不是这个?以下是终端运行的数据。麻烦帮看一下这样是对的吗?
    ● v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabled)
    Active: active (running) since Mon 2018-10-15 22:02:01 CST; 44min ago
    Main PID: 961 (v2ray)
    Tasks: 9 (limit: 4915)
    CGroup: /system.slice/v2ray.service
    └─961 /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json

    10月 15 22:02:01 ubuntu18-04 systemd[1]: Started V2Ray Service.
    10月 15 22:02:01 ubuntu18-04 v2ray[961]: V2Ray 3.47 (die Commanderin) 20181011
    10月 15 22:02:01 ubuntu18-04 v2ray[961]: A unified platform for anti-censorship.
    我电脑安装双系统后,出现双系统时间不一致的现象,不知道是否跟这个有关。

    1. Hi~如果客户端和服务端的时间误差超过一分钟,是会导致无法连接,在日志中会显示如下类似报错:“rejected Proxy|VMess|Encoding: invalid user”,但是你展示的信息没有任何报错。

      请确认你的客户端配置中有如下字段:
      “log” : {
      “access”: “/var/log/v2ray/access.log”,
      “error”: “/var/log/v2ray/error.log”,
      “loglevel”: “warning”
      }
      loglevel 至少为 warning 等级,错误日志路径在 /var/log/v2ray/error.log 。然后你就可以使用 sudo less /var/log/v2ray/error.log 命令查看错误日志。

      当你配置了 error 日志的路径时(如”/var/log/v2ray/error.log”),控制台就不会出现错误信息,而是直接被定向到日志文件中。所以当你使用 systemctl status v2ray 才可能没有出现任何错误信息。这种情况下你应该直接访问日志文件,而不是使用 systemd 查看状态。

      如果客户端还是没有任何日志出现,说明你的电脑没有连接到 V2Ray 的代理。需要设置 socks5 代理为127.0.0.1:1080。

  12. 您好,这里小白一只。
    我在vultr购买服务器时,系统是选择Debian还是Ubuntu?看您的教程意思是选择Ubuntu?可是我看了网络上的其他教程也有选择Debian的,是否选择后就无法用Ubuntu配置服务端?

    1. Linux 发行版众多,Debian 和 Ubuntu 都是其中一个,如果你从未接触过 Linux 系统,建议选择 Ubuntu 作为入门选择。但仅仅比较 Debian 和 Ubuntu 二者在搭建 V2Ray 或者 SS 等服务的时候,二者没有丝毫的区别,教程对于这两个系统是不做区分的,他们看起来非常相似,所以你无需担心教程中选择 Debian 还是 Ubuntu,可以使用相同的方法配置。

      Linux 世界还有其他发行版,有些则区别较大,对于比较流行的发行版比如 Centos、Redhat、Arch 等,V2Ray 的自动安装脚本均可以以适当的方式进行安装,所以始终推荐新手使用自动脚本安装和升级 V2Ray。安装完成后的使用基本类似,但为了避免细节方面不必要的麻烦,按照教程选择发行版是必要的。

      综上所述,对于你的需求而言 Debian 和 Ubuntu 的操作是完全一样的,所有操作和配置完全可以复用。但是鉴于 Ubuntu 的流行度而在互联网上产生的丰富教程和手册而言,以后遇到问题或者想要进一步学习 Linux 系统,Ubuntu 是新手的一个很好的选择。

  13. 申请的服务器,IP地址只有port22 是开启的,但是如果SS设置了远程端口为22,提示 connection closed by peer,请指导如何操作谢谢

    1. 你对此可能有点误解,如果你使用的系统是ubuntu,那么默认是没有防火墙的,所以端口的有没有开启在于是否有程序在监听。ssh的22端口已经被占用的情况下你是无法给其他程序使用的,所以解决方法就是更换端口为 443 或者其他端口,你可以随便设定但不能冲突。

      顺便一提,为了安全请更改ssh端口为其他端口,无聊的人很多。

      1. 谢谢!小白一个。
        我原先的系统不是ubuntu,是CentOS 7 x64,之前设置端口为443,昨天突然不能连了,今天用端口扫描站(http://tool.chinaz.com/port)看了下,除了22外,其他都是关闭的,所以我想按您的教程重新设置一个服务器,但是我申请的10多个,端口扫描下来都是除22外其他都是关闭,所以我不知道如何处理了

        1. Hi~我发现经过我的一番解释你还是存在较多误解,那么我就避开原理更直接的和你说吧。

          首先,你的新开 VPS 只开放 22 端口这是正常的,如果开放了许多端口反而有问题。

          当你使用脚本安装了 V2Ray,它会自动开放一个端口,就是你在客户端填写服务器的那个端口。

          虽然 V2Ray 开启了端口,但是如果系统上套了个防火墙,你没有设置防火墙放行这个端口,那么它就会拦截这个端口。所以如果开启了防火墙,你也扫描不出来开放端口。Ubuntu 默认没有防火墙,所以只要有程序监听这个端口,那么你就能通过端口扫描器看到。

          而 Centos 默认有防火墙,所以程序每开放一个端口,就需要你设定防火墙对此放行。对你来说最简单的方法就是关闭防火墙。

          systemctl stop firewalld
          systemctl disenable firewalld
          

          如果端口还没有开放就应该检查 V2Ray 是否正常运行,使用下列命令检查状态:

          systemctl status v2ray
          # 如果显示 inavtive 就运行下列命令运行
          systemctl start v2ray
  14. 大神,在vultr的centos的64位系统,按照教程进行配置,并且关闭了防火墙。
    我在安卓客户端(BifrostV)进行了相关配置,然而还是无法翻墙,并且出现国内网站(百度等)能帮忙看下设置是不是出了什么问题么?
    PS:不知道您所说的日志文件如何获取。

    1. 服务器端的日志文件通常在 /var/log/v2ray 目录下,一般需要的是其中的 error.log 文件最底部的十几行内容,可以通过 less /var/log/v2ray/error.log 命令访问,然后开启大写键盘按下 G 会跳转到文件最底部。

      而 Windows V2Ray 客户端的日志文件通常在程序目录下。

      但从你的描述并不是很清楚是什么情况,你是说在访问类似于谷歌的网站会跳转到百度这类网站吗?如果是这样的话则很确定是 DNS 劫持,更换一个无污染的 DNS 即可。

      1. 不是DNS的问题,那些都是配置的默认参数。
        目前的疑问是:
        1 可能VPS服务器没有启动(相关的配置信息发送至您的gmail邮箱了,不知道阁下有没有时间帮忙查看一下配置)
        2 安卓端的配置或许不正确(配置信息也添加在邮件的附件了)

  15. 选了个 洛杉矶 的 vps,在 ssh 时,总是不时的断开。也真的是晕倒了。配置的过程中,总是断开。不知道是不是哪里设置的问题。请指教

    1. 有两种可能性:

      1. 长时间没有操作,自动断开
      2. 出现严重的掉包。在本机 Ping 服务器 IP 地址(eg. ping 8.8.8.8),查看是否出现严重掉包

      鉴于第一种情况,设定本机 SSH 客户端定时发送 keep-alive 包以保持连接,请根据自己使用的 SSH 客户端自行搜索配置方法。
      第二种情况,可以启用 BBR 优化或者删除再创建主机。

  16. 大神,麻烦问一下,我之前看了你的教程正常使用了挺久了,今天突然不能用了,我看了节点是正常运行的,ping的通,设置都没有修改,电脑端和手机端的v2ray都不能上网了,请问怎么排查问题,谢谢!

    1. 这种问题很少见,连接上主机执行命令 systemctl status v2ray,检查是否有 active(running) 等字样。很大几率是服务端 V2Ray 崩溃并无法自行运行。我之前碰到类似情况仅有一次,是日志文件体积过大把主机空间塞满,以至于无法运行,但是这个 Bug 早已经被修复了。

      1. 后来我再去看就好了,我就ssh登陆一下,然后看了状态也是正常的,再去用就没问题了,我也不知道是什么原因。
        还有问一下服务器端的v2ray能不能升级啊,不知道怎么操作

        1. 可以升级,请阅读本文服务端自动脚本安装部分内容,那个自动安装脚本命令重新运行一次即可。

          另外为了避免不必要的问题,请先下载好最新版的客户端,两端版本最好一致。

  17. 你好。
    客户端连接埠了,我的客户端错误日志显示为:
    2018/11/02 16:13:16 [Warning] [245238840] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp IP地址和端口: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. dial tcp IP地址和端口: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
    2018/11/02 16:13:19 [Warning] [1556798153] v2ray.com/core/app/proxyman/outbound: failed to process outbound traffic > v2ray.com/core/proxy/vmess/outbound: failed to find an available destination > v2ray.com/core/common/retry: [dial tcp IP地址和端口: connectex: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. dial tcp ip地址和端口: operation was canceled] > v2ray.com/core/common/retry: all retry attempts failed
    服务器端正常。没有报错。
    root@vultr:~# netstat -apn | grep 端口号
    tcp6 0 0 :::端口号 :::* LISTEN 30346/v2ray

    1. V2Ray 安装产生的文件分别在如下路径:

      • /usr/bin/v2ray/
      • /etc/v2ray/
      • /var/log/v2ray/
      • /etc/systemd/system/v2ray.service

      把这些文件和文件夹全部删除即可,Linux 系统不存在 Windows 中的注册表概念,能把生成的文件全部删掉就是卸载。

  18. ● v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabl
    Active: failed (Result: exit-code) since Thu 2018-11-08 22:22:58 CST; 19min ago
    Process: 1376 ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json (code
    Main PID: 1376 (code=exited, status=255)

    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Main process exited, code=ex
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Failed with result ‘exit-cod
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Service hold-off time over,
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Scheduled restart job, resta
    Nov 08 22:22:58 vultr.guest systemd[1]: Stopped V2Ray Service.
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Start request repeated too q
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Failed with result ‘exit-cod
    Nov 08 22:22:58 vultr.guest systemd[1]: Failed to start V2Ray Service.
    lines 1-14/14 (END)…skipping…
    ● v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Thu 2018-11-08 22:22:58 CST; 19min ago
    Process: 1376 ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json (code=exited, status=255)
    Main PID: 1376 (code=exited, status=255)

    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Main process exited, code=exited, status=255/n/a
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Failed with result ‘exit-code’.
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Service hold-off time over, scheduling restart.
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Scheduled restart job, restart counter is at 5.
    Nov 08 22:22:58 vultr.guest systemd[1]: Stopped V2Ray Service.
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Start request repeated too quickly.
    Nov 08 22:22:58 vultr.guest systemd[1]: v2ray.service: Failed with result ‘exit-code’.
    Nov 08 22:22:58 vultr.guest systemd[1]: Failed to start V2Ray Service.

    请问这种情况怎么解决

    1. 这种错误八成是 config.json 配置并未遵守 json 格式而产生的语法错误,所以客户端无法正常启动。对于新人最常见的错误就是忽略“,”逗号或者 “{}” 花括号没有成对出现。

      自己解决的简单方案就是使用带有语法检查的编辑器查看配置文件哪里配置错误。顺便一提,Ubuntu18.04 下的 Vim 默认便有 json 格式的语法检查,也可以在自己的电脑上下载 VS Code 等编辑器查看文件。

  19. 善良的博主,你好,看此文之前已安装好V2Ray(反向代理),自己折腾了几个小时,准备睡时已经凌晨一两点了,但到现在还是没睡意。
    刷完了这篇文章和大部分评论,请教一个关于SSH的问题,如何通过SSH将网站从一个虚拟主机迁移到另一个虚拟主机(如美国BlueHost到香港BlueHost),或者VPS?
    我尝试了很多次都没有成功,两台主机都能用xShell连上,也在新主机上导入了旧主机的公钥,但还是不行。
    一是自动断线,连接超时。二是连接后会出现xxx禁止转发。大概的英文提示就是这两个意思。
    快四点了,逻辑不太清晰,打了这么一段,也不知道前辈看懂我想表达的意思没。
    邮箱已留,期待回复。

    1. SSH 有自动断线的机制,当你长时间没操作时避免空闲连接占用资源,这个问题可以通过设置 ssh 心跳包解决。

      xxx 禁止转发看不懂,直接说明什么情况下出现,附上英文信息即可。

  20. 对了,我已经在旧主机上连上SSH后,通过命令将网站文件和数据库打包,就卡在将网站文件和数据库通过SSH传输到另一个空间上去解压了。

      1. 浏览了很多网页还是没解决这个问题。
        目前用命令打包了网站文件和数据库,但怎么把文件从老主机传到新主机,没成。
        scp 和 wget 命令都尝试过了,
        老铁你比我专业,怎么解决?

      2. Error establishing a database connection
        这个问题昨天解决了。
        检查完wp-config.php 文件后,把数据库和数据库用户删掉,上传数据库备份进行恢复,然后新建数据库用户,添加到数据库,授予权限。搞定。

        1. 你连数据库和用户都没创建。。。这个错误只表示无法连接到数据库,所以原因是很多了,我以为你是运行一段时间才出现这个错误

          1. 不是没创建,是原来的用不了,于是删掉重建的。
            前面这个问题如何解决:
            浏览了很多网页还是没解决这个问题。
            目前用命令打包了网站文件和数据库,但怎么把文件从老主机传到新主机,没成。
            scp 和 wget 命令都尝试过了,
            老铁你比我专业,怎么解决?

      1. 配置很麻烦 可不可以在客户端自定义,服务端自适应,文档讲的是要一致才行,总不能每次都连服务器改配置吧

        1. 请问你“每次都要连服务器改配置”是什么配置?部分配置并不是必选项,它有默认值所以可以不用填写。但是一些内容是必填的,比如端口和id,所以好像没有什么需要频繁修改的地方。

          你说的服务端完全自适应是难以做到的,首先服务端和客户端要能保持正常、安全的通信下,“自适应”部分配置才是可行的,实际上 V2Ray 的一些配置确实是自适应的。

  21. 脚本安装
    root@vultr:/home/XXX# bash <(curl -L -s https://install.direct/go.sh)
    Installing V2Ray v4.6.0 on x86_64
    Downloading V2Ray.
    % Total % Received % Xferd Average Speed Time Time Time Current
    Dload Upload Total Spent Left Speed
    100 608 0 608 0 0 3048 0 –:–:– –:–:– –:–:– 3055
    100 11.9M 100 11.9M 0 0 1205k 0 0:00:10 0:00:10 –:–:– 1335k
    Extracting V2Ray package to /tmp/v2ray.
    Archive: /tmp/v2ray/v2ray.zip
    inflating: /tmp/v2ray/config.json
    creating: /tmp/v2ray/doc/
    inflating: /tmp/v2ray/doc/readme.md
    inflating: /tmp/v2ray/geoip.dat
    inflating: /tmp/v2ray/geosite.dat
    creating: /tmp/v2ray/systemd/
    inflating: /tmp/v2ray/systemd/v2ray.service
    creating: /tmp/v2ray/systemv/
    inflating: /tmp/v2ray/systemv/v2ray
    inflating: /tmp/v2ray/v2ctl
    extracting: /tmp/v2ray/v2ctl.sig
    inflating: /tmp/v2ray/v2ray
    extracting: /tmp/v2ray/v2ray.sig
    inflating: /tmp/v2ray/vpoint_socks_vmess.json
    inflating: /tmp/v2ray/vpoint_vmess_freedom.json
    Shutting down V2Ray service.
    Restarting V2Ray service.
    V2Ray v4.6.0 is installed.

    启动
    root@vultr:/home/XXX# service v2ray start

    状态
    root@vultr:/home/XXX# service v2ray status
    ● v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabled)
    Active: active (running) since Tue 2018-11-27 01:35:56 UTC; 2min 3s ago
    Main PID: 1902 (v2ray)
    Tasks: 7
    Memory: 4.0M
    CPU: 227ms
    CGroup: /system.slice/v2ray.service
    └─1902 /usr/bin/v2ray/v2ray -config /etc/v2ray/config.json

    Nov 27 01:35:56 vultr.guest systemd[1]: Started V2Ray Service.
    Nov 27 01:35:56 vultr.guest v2ray[1902]: V2Ray 4.6.0 (Po) 20181122
    Nov 27 01:35:56 vultr.guest v2ray[1902]: A unified platform for anti-censorship.
    Nov 27 01:35:56 vultr.guest v2ray[1902]: 2018/11/27 01:35:56 [Warning] v2ray.com/core: V2Ray 4.6.0 started
    Nov 27 01:36:25 vultr.guest systemd[1]: Started V2Ray Service.

    但是执行
    root@vultr:/home/XXX# v2ray qr
    v2ray: command not found

    请问是v2ray qr这个指令不对还是其他问题呢?

    1. 完全不懂你的 v2ray qr 命令是从哪看到的,因为 V2Ray 可执行文件路径并不在 Path 环境变量中,所以你无法直接使用文件名执行,需要引用绝对路径,比如使用命令 /usr/bin/v2ray/v2ray -h 获取程序的帮助,会打印出所有可用参数。

      不过目前这对一般使用来说没有什么意义,使用 systemd 管理 V2Ray 的启动与关闭就足够了,目前你的服务端是正常运行的,继续往下进行配置客户端即可。

  22. 2018/12/04 20:39:39 tcp:127.0.0.1:4362 accepted tcp:clients1.google.com:443
    2018/12/04 20:39:41 tcp:127.0.0.1:4365 accepted tcp:clients1.google.com:443
    请问为什么我的客户端信息里能看到网站的反馈,但就是无法通过浏览器打开需要的网页呢?仅限科学上网。不知道哪里出现了问题

  23. v2rayNͻɵķļƵ䷽ʽΪkcpͿãѡtcpͷʧܣô

    root@ubuntu:~# root@systemctl status v2rayrror.log
    v2ray.service – V2Ray Service
    Loaded: loaded (/etc/systemd/system/v2ray.service; enabled; vendor preset: enabled)
    Active: failed (Result: exit-code) since Tue 2018-12-04 10:29:20 EST; 8min ago
    Process: 3661 ExecStart=/usr/bin/v2ray/v2ray -config /etc/v2ray/config.json (code=exited, status=255)
    Main PID: 3661 (code=exited, status=255)

    Dec 04 10:29:19 ubuntu systemd[1]: v2ray.service: Main process exited, code=exited, status=255/n/a
    Dec 04 10:29:19 ubuntu systemd[1]: v2ray.service: Failed with result ‘exit-code’.
    Dec 04 10:29:20 ubuntu systemd[1]: v2ray.service: Service hold-off time over, scheduling restart.
    Dec 04 10:29:20 ubuntu systemd[1]: v2ray.service: Scheduled restart job, restart counter is at 5.
    Dec 04 10:29:20 ubuntu systemd[1]: Stopped V2Ray Service.
    Dec 04 10:29:20 ubuntu systemd[1]: v2ray.service: Start request repeated too quickly.
    Dec 04 10:29:20 ubuntu systemd[1]: v2ray.service: Failed with result ‘exit-code’.
    Dec 04 10:29:20 ubuntu systemd[1]: Failed to start V2Ray Service.

    1. 汉字乱码了。服务器配置文件是用v2rayN直接生成的。传输方式用kcp就没问题,用tcp就显示如上错误,请问是啥问题?

  24. 感谢大神的文章,我想请教如何用脚本卸载呢?我看过这个脚本代码有帮助和卸载,但是不知道怎么运行。

    1. 三个步骤:
      1. 下载脚本
      2. 添加可执行权限
      3. 使用脚本的 –remove 参数

      wget https://install.direct/go.sh
      chmod +x go.sh
      ./go.sh --remove
      1. 这么快就回复了~非常感谢大神 我研究了1个多小时没想到这么快回复了~~我还有个请教的 我按你方法可以配置参数可以出墙 后来我又配置了个MKCP协议就不行了~是不是如果要用MKCP协议还要在服务器安装此协议?

        1. 是的,所有的传输协议(TCP、mKCP、WebSocket、HTTP/2、DomainSocket、QUIC)都需要服务端和客户端的共同配合,服务端修改配置后需要重启 V2Ray 使配置生效。

          mKCP 效果是不错,但目前的最佳实践是服务端有 BBR 加速就够用了,避免折腾。

  25. “3-1-2配置”的配置config.json文件的部分,似乎有些不合时宜了。我下载的v4.9.0版本的v2ray的config.json结构已经有很大改变了,完全复制你的配置的话,v2ray会闪退。

    1. Hi~感谢你的反馈。

      经过检查是自己最近一次的编辑失误,导致配置文件错乱。现在已经修复这个问题,经过本地测试可用,请再次尝试。

      顺便一提,V2Ray 配置会保持至少一个大版本号的向后兼容,即 V2Ray 5.xx 能够兼容使用 V2Ray 4.xx 的配置。大多数闪退都是因为配置格式的错误。

  26. 配置完了启动客户端总是[Warning] v2ray.com/core: V2Ray 4.9.0 started。不知道哪里错了
    Dec 24 12:17:53 vultr.guest systemd[1]: Started V2Ray Service.
    Dec 24 12:17:53 vultr.guest v2ray[2588]: V2Ray 4.9.0 (Po) 20181212
    Dec 24 12:17:53 vultr.guest v2ray[2588]: A unified platform for anti-censorship.
    Dec 24 12:17:53 vultr.guest v2ray[2588]: 2018/12/24 12:17:53 [Warning] v2ray.com/core: V2Ray 4.9.0 started

  27. 服务器日志文件如下。客户端日志文件没找到。都是V2Ray 4.9.0 started但是就是连不上外网。按照面向新手搭建的。不知道哪里出的问题。我用的是win10的设置代理的方法用的是127.0.0.1:8080。socks 5是直接端口改成1080就可以了吗,尝试过但是还是不行…
    — Logs begin at Mon 2018-12-24 10:47:03 UTC, end at Tue 2018-12-25 02:02:23 UTC. —
    Dec 24 11:02:24 vultr.guest systemd[1]: Started V2Ray Service.
    Dec 24 11:02:24 vultr.guest v2ray[2331]: V2Ray 4.9.0 (Po) 20181212
    Dec 24 11:02:24 vultr.guest v2ray[2331]: A unified platform for anti-censorship.
    Dec 24 11:02:25 vultr.guest v2ray[2331]: 2018/12/24 11:02:25 [Warning] v2ray.com/core: V2Ray 4.9.0 started
    Dec 24 12:17:53 vultr.guest systemd[1]: Stopping V2Ray Service…
    Dec 24 12:17:53 vultr.guest systemd[1]: Stopped V2Ray Service.
    Dec 24 12:17:53 vultr.guest systemd[1]: Started V2Ray Service.
    Dec 24 12:17:53 vultr.guest v2ray[2588]: V2Ray 4.9.0 (Po) 20181212
    Dec 24 12:17:53 vultr.guest v2ray[2588]: A unified platform for anti-censorship.
    Dec 24 12:17:53 vultr.guest v2ray[2588]: 2018/12/24 12:17:53 [Warning] v2ray.com/core: V2Ray 4.9.0 started

    1. 你的客户端 config.json 配置文件中是否有 alterId 这一项配置?如果你的服务端是用自动脚本安装的,并且未修改过,那么服务端配置默认是 0,这项设置两端需要一致,请尝试把客户端 alterId 修改为 0 再试试。

      如果还有问题,把两端配置文件通过 email 发给我。(服务端若是默认配置,就不用发)

      1. 更改了alterId以后依然不行。请问有什么测试的手段吗,我现在不知道客户端到底那一步出错了。另外需要服务器和客户端两边的时间保持一致吗(我尝试改过时区让两边一致但是结果依然是能started但是打不开网页)

  28. 你好,我配置成功了,链接正常,我能不能设置限定指定的MAC地址才能链接服务器成功?就是别人知道了密码也不能链接服务器,因为这个服务器只有我一个人用。

    1. Hi~你的研究方向应该是 iptables 配置基于 MAC 过滤。我没有尝试过,你可以试试,
      iptables -A INPUT -p tcp –dport 80 -m mac –mac-source 01:01:01:01:01:01 -j ACCEPT,这条命令允许 01:01:01:01:01:01 用户访问 80 端口,然后设定全局黑名单,当然也要放开 ssh 的访问,免得以后登录不上主机。

  29. 你好,抱歉打扰你。我是已经配置过服务端,并且在mac上也配置了客户端并能正常使用。 我在虚拟机ubuntu里也打算配置一个客户端,那么也是直接用2-1中的脚本吗?我试了,下载一直为0,请问是资源出现问题了吗

        1. 是的,由于通往翻墙的路常常被墙,所以当一个人没有任何技术手段时,很难独立完成这一系列过程。所以最好能保留一些关键工具或资源,存在本地或信任的网盘,随时可用。

          由于你已经配置好代理了,只是额外多配置一个 Ubuntu,这个操作对你来说就不会很难。

发表评论

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