V2ray logo

个人简单搭建v2ray实践

本教程适用于新手小白搭建自己的v2ray服务器,高手请略过。
Views: 1099
2 0
Read Time:2 Minute, 41 Second
Shadowsocks vs V2Ray vs Trojan 都有什么区别? - LightyearVPN

v2ray作为一种比较新的科学上网手段,具有许多新的特点,依据官方说法,v2ray拥有以下有优点:

  • 更完善的协议:v2ray拥有自己开发的vmess协议,而该协议相对于shadowsocks或者shadowsocks R相比都具有更好的隐蔽性,使其更难被GFW探测到。
  • 更强大的性能:v2ray的网络性能更好,从协议层面v2ray本身就具备更优良的传输性能。除此之外,你还可以根据官方指导自行设定不同的配置,如开启mux等,从而拥有更好的性能体验。
  • 更丰富对的功能:关于v2ray,其允许个人进行差异化的设置,包括:
    • mKCP: KCP 协议在 V2Ray 上的实现,不必另行安装 kcptun
    • 动态端口:动态改变通信的端口,对抗对长时间大流量端口的限速封锁
    • 路由功能:可以随意设定指定数据包的流向,去广告、反跟踪都可以
    • 传出代理:看名字可能不太好理解,其实差不多可以称之为多重代理。类似于 Tor 的代理
    • 数据包伪装:类似于 Shadowsocks-rss 的混淆,另外对于 mKCP 的数据包也可伪装,伪装常见流量,令识别更困难
    • WebSocket 协议:可以 PaaS 平台搭建V2Ray,通过 WebSocket 代理。也可以通过它使用 CDN 中转,抗封锁效果更好
    • Mux:多路复用,进一步提高科学上网的并发性能

当然,更丰富的功能配置也是有代价的,那就是服务端搭建或者客服端使用时增加了设置的复杂性。鉴于此,网上出现了许多一键搭建脚本。对于这些一键搭建脚本,本人对此还是保持着谨慎态度,因为对于大多数只是想要科学上网的童鞋而言,可能根本不会关心这些脚本背后有什么潜藏的危险,如暗地里捆绑软件、使用你的服务器进行挖矿或者其他木马行为等等。

如果你是v2ray使用初学者,但你恰好会一些Linux的知识,也愿意手动搭建你自己的v2ray服务器,那么你可以参考本教程,因为接下来我将会教大家如何根据官方教程来搭建一个比较基础的v2ray服务器。需要说明的是,此教程仅用作科普与知识分享,请不要搭建v2ray服务器用于盈利或者其他非法行为!

前期准备

  • VPS
  • SecureCRT
  • GitHub

关于VPS:VPS全称为Virtual private server,虚拟化个人服务器,是通过虚拟化技术在一个物理主机上分割出来的多个服务器实例。在服务器搭建过程中,你的v2ray服务端实际上就是运行在VPS上的。由运行在VPS上的服务端转发你的访问请求再回传至你的客服端,从而实现翻墙的目的。本文不针对VPS的购买做介绍,请大家自行Google选择合适的VPS。

关于SecureCRT:在我们购买VPS之后,你会获得一个IP地址以及登录该IP地址的root账户密码。我们需要使用SecureCRT工具通过SSH远程连接你的VPS。当然你也可以不选择SecureCRT,而是其他通用的一些工具如Putty、Xshell等。

关于GitHub:在本教程中,我们会教你根据GitHub官方教程进行搭建。而非网上那些野生的、来路不明的一键脚本(也许并非所有脚本都有问题)。因此你需要访问GitHub,考虑到GitHub在国内已经不那么好访问,建议使用梯子或者代理进行访问。

开始搭建

首先你需要通过SecureCRT连接你的服务器,我们打开SecureCRT,进行登录操作:

  1. 新建节点,选择SSH2连接方式,选择下一页

2.设置Hostname为你自己的VPS服务器Ip地址,Port端口填写时则需要注意,不同的VPS可能会有不同的初始化设置,你需要在Control panel内自行查看或者咨询你的VPS提供商。如果没有相关设置,则默认为22端口。

之后点击完成。

当你进行首次连接时,SecureCRT会弹框提示你当前连接需要一些凭证信息。点击accep&save,输入VPS的root账户密码,即可登录啦。

登录成功后,你所看到的页面将会类似于这样的:

3.打开v2ray GitHub官方网站:https://github.com/v2fly,选择fhs-install-v2ray这个仓库,进入详情页面:

在README.md中找到使用相关:

1)安装和更新v2Ray

// 安裝執行檔和 .dat 資料檔
# bash <(curl -L https://raw.githubusercontent.com/v2fly/fhs-install-v2ray/master/install-release.sh)

复制上述代码,到你的SercureCRT,Enter键执行:

安装的最后,你将会看到info:v2ray v**** is installed.这样的字样。为了让小白更好地了解v2ray安装的一些细节,简单讲一下v2ray安装脚本执行的一些内容:

通过日志输出,我们可以看到,脚本自动在systemd内自动为你创建v2ray.service(这是让你保持v2ray后台运行的关键)。生成v2ray.service后可以借助systemd相关工具快捷管理v2ray服务。

关于v2ray.service的具体内容如下:

# /etc/systemd/system/v2ray.service
[Unit]
Description=V2Ray Service
Documentation=https://www.v2fly.org/
After=network.target nss-lookup.target
[Service]
User=nobody
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
NoNewPrivileges=true
ExecStart=/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json
Restart=on-failure
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
# /etc/systemd/system/v2ray.service.d/10-donot_touch_single_conf.conf
# In case you have a good reason to do so, duplicate this file in the same directory and make your customizes there.
# Or all changes you made will be lost!  # Refer: https://www.freedesktop.org/software/systemd/man/systemd.unit.html
[Service]
ExecStart=
ExecStart=/usr/local/bin/v2ray -config /usr/local/etc/v2ray/config.json

在v2ray.service中,我们可以看到ExecStart这个设置项,实际上这就是v2ray服务器正常运行的关键。这项代表这v2ray将会以/usr/local/etc/v2ray/config.json作为配置文件开始运行。后续的日志输出,我们将会看到v2ray在我们的VPS中安装了哪些内容:

  1. installed: /usr/local/bin/v2ray
  2. installed: /usr/local/bin/v2ctl
  3. installed: /usr/local/share/v2ray/geoip.dat
  4. installed: /usr/local/share/v2ray/geosite.dat
  5. installed: /etc/systemd/system/v2ray.service
  6. installed: /etc/systemd/system/[email protected]

感兴趣的同学可以自行Google上述安装内容各自的作用,本教程不做过多展开。

2)配置你自己的v2ray配置文件

前面我们已经讲过,v2ray拥有丰富的配置项使你可以实现自己独有的v2ray配置。那么我们v2ray的配置文件在哪儿呢,如何去配置呢,请接着往下看。

在上面的安装过程中其实就已经提到,v2ray的配置文件是在/usr/local/etc/v2ray这个目录下的,名为config.json,我们使用vim编辑器来编辑它。

输入以下代码:

vi /usr/local/etc/v2ray/config.json

以下展示的内容是我个人的配置:

{
    "log": {
        "access": "/var/log/v2ray/access.log",
        "error": "/var/log/v2ray/error.log",
        "loglevel": "warning"
    },
    "inbounds": [{
            "port": 43567,
            "protocol": "vmess",
            "settings": {
                "clients": [{
                        "id": "27848759-7e32-4138-5693-098a63964b6b",
                        "level": 1,
                        "alterId": 4
                    }
                ]
            }
        }
    ],
    "outbounds": [{
            "protocol": "freedom"
        }
    ]
}

关于配置中重要的几点,简单做以下说明:

  • port:是v2ray服务端与客户端通信的端口,你可以自行设定在1-65536之间的任意端口
  • protocol:选择vmess协议即可,当然你也可以选择其他的协议
  • id:id的作用类似于一个身份识别码,可以Google UUID生成器自行生成一个,在使用客户端时需要保持id一致

其他的内容保持一致即可。当然,如果你有更复杂的需求,需要更复杂的配置,可以参考v2ray官方的配置文档模板:https://github.com/v2fly/v2ray-examples

在配置完以后请仔细检查格式有无错误。如检查无误,可以使用以下命令进行测试:

v2ray -c /usr/local/etc/v2ray/config.json

如果没有报错,且使用ps -el|grep v2ray命令能够看到v2ray运行,则表明配置文件没有问题。

通过ps命令查看v2ray是否运行

至此,你的配置文件已经配置完成,我们需要使用systemctl让v2ray保持后台运行。

3)使v2ray保持后台运行

为什么要让v2ray保持后台运行呢,这是因为作为服务端,它需要一一直保持运行状态,要不然你每次都需要在使用时启动你的v2ray server,这其实是一件很麻烦的事。因此,我们需要使用systemd相关工具来让v2ray一直保持后台运行。在2)中我们有通过v2ray -c /usr/local/etc/v2ray/config.json命令运行过v2ray服务,但是当我们Crtl+C/Z打断或者SSH断开后,我们会发现v2ray已经无法使用了。

请使用以下两条命令:

systemctl enable v2ray //使能v2ray服务
 systemctl start v2ray //开始v2ray服务

在输入这两条命令后,你可能看不到明显的反馈,那么如何确定我的v2ray服务是否运行呢,通过以下命令进行查看:

 systemctl status v2ray

你应该会看到以下输出内容:

至此,我们v2ray的服务端就已经安装完了。接下来,我们将学习使用客户端。

4)v2ray客户端使用

v2ray的客户端有许多,博主推荐使用v2rayN这个客户端,在安装好v2ray客户端后,点击服务器->添加[VMess]服务器

编辑客户端的配置;

配置完成后,将其设置为活动的服务器,即可正常使用啦!

至此,整个教程就结束了,欢迎有问题的小伙伴在评论区告知我,我会尽量解答的。

Happy
Happy
100 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %
FranzKafka95
FranzKafka95

极客,文学爱好者。如果你也喜欢我,那你大可不必害羞。

文章: 85

2 评论

FranzKafka95进行回复取消回复

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

zh_CNCN