标题:自建最强科学上网:v2ray + websocket + web + nginx
作者:
日期:2019-06-05 22:27:01
内容:

自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)

v2ray的诞生正应验了古训“魔高一尺,道高一丈”。在GFW封锁网络升级后,翻墙爱国网友也遇到了一些问题:VPN使用艰难,而且很多VPN的背后并非国外的安全来源,安全无从保障;前几年为网友广泛喜爱的SS(Shadowsocks)的开发者被喝茶、SSR(ShadowsocksR,SS的修改增强版)也因故停止开发。至今,v2ray的新方法成为翻墙网友的新宠,而且逐渐得到了完善,v2ray作为创新的翻墙方法,利用其核心技术可以变换出多种翻墙应用,目前结合 v2ray + websocket + web + nginx (EasyEngine)的翻墙爱国方式,成为最强的科学上网工具,美博园翻墙网本文详细介绍给网友。

很多人刚上手 v2ray 的时候,因v2ray 复杂的配置文件无所适从,即使是感觉步骤都完成了,却还是无法代理上网。不过,随着大家广泛的使用, v2ray 的多种建立代理方式都日渐成熟,配置越来越简化,懂一点点基本服务器知识的网友只要复制代码指令就可完成自建代理全程,基本上按照详细教程的步骤走,就能够建立一个属于自己和/或朋友们的安全代理。

起初可能不熟悉,步骤多一点,可能会花上一天时间,但熟悉之后,重建、新建代理也就是复制命令、不到一小时就可搞定的活,得到的却是安全上网、可以体会到一劳永逸的欣慰,值得大家一试。

请注意:本文介绍的方法只是v2ray应用的多种科学上网方法之一。也欢迎网友完善补充。

一、v2ray是什么

V2Ray 是在 Shadowsocks 作者被请喝茶之后出现的一个开源项目,V2Ray是早期的叫法,后来 V2Ray 规模越来越大,就成立一个 Project V 项目。

美博园翻墙网这里重点介绍建立代理的具体步骤,原理不详细介绍,要了解原理的网友,请参考v2ray官方的详细介绍。

v2ray.Project V GitHub项目官方: https://github.com/v2ray

v2ray.Project V 官方网站:https://www.v2ray.com/

二、v2ray特点

1、把v2ray代理流量伪装成https,代理上网就是在访问一个https网站;
2、V2Ray 定位是一个平台,开源,任何开发者都可以在这个平台上利用V2Ray开发出一个新的代理软件;
3、V2Ray 的功能非常强大,
4、V2Ray提供自己原创的翻墙协议VMess,一般认为比Shadowsocks 更安全,一般声称支持V2Ray,就是指支持 VMess协议
V2Ray也支持其他协议:
传统的代理协议:HTTP 和 SOCKS。
MTProto:Telegram 的开发团队制作的一款协议,作为 Telegram 的专用代理协议。
Shadowsocks协议,但不支持 ShadowsocksR;

三、自建 v2ray + websocket + web + nginx (EasyEngine) 的条件

1)一台 VPS 主机
2)一个域名
3)SSH连接工具:以前用putty较多,现在用xshell很方便,本文会以这个进行说明。

四、建立代理

建立步骤大致分为三个大的部分:

1、v2ray 服务器端安装及配置
2、nginx (EasyEngine)安装及配置
3、v2ray 客户端使用

美博园本文并没有区分这三大部分,而是按照每一个操作过程顺序来写出具体操作步骤,请网友自建代理时,按照下面编号顺序一步一步往下走:

01、基本条件之一:购买VPS并安装系统

请见教程:
自己搭建代理服务器:VPS的选择
自己搭建代理服务器:Vultr VPS 购买图文教程
自己搭建代理服务器:Vultr VPS 系统安装图文教程

请记住VPS安装系统后得到的: ip地址 密码 用户名(默认是root),后面会用到。

本文以系统 Ubuntu 18.04为例说明。

02、基本条件之二:购买域名及设置与ip服务器关联

请参考教程:
自己搭建代理服务器:域名购买及设置与ip服务器关联

利用v2ray建立代理,并非一定需要域名,不要域名也可以建立代理。
但是,整合有域名的代理技术,可明显提高代理安全性,把代理行为伪装成,是实质的非虚拟,访问https网页,显然多一个域名整合进来是值得的。

美博园翻墙网本文介绍的是整合域名的方法。

03、用SSH工具——XShell 连接VPS服务器

在自家电脑上通过安全的SSH连接到远端的VPS服务器,就可以发出各种指令来安装、建立代理服务器,在电脑上安装XShell软件来实现SSH连接非常方便,美博园推荐这个工具。

请参考:SSH连接软件-Xshell下载及使用教程

以下進入安装自建代理的部分,各种指令按照本教程做就行。

04、更新系统

执行以下指令:

dpkg-reconfigure tzdata && apt update && apt -y dist-upgrade && apt -y autoremove && reboot

然后回车

弹出窗口

自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)

在出现的窗口中,这里需首先选择时区:

用键盘上下键,选择:
–> Asia,回车
再选择
–> Hong Kong 回车
就可以,之后就会下载更新并自动重启。

自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)

自建最强科学上网:v2ray + websocket + web + nginx (EasyEngine)

安装过程中,
在命令框中可看到不断的数据变化
最下方有进度显示,至100%才完成,耐心等待约数分钟才能完成。

此结束时,系统自动重新启动,SSH将断开,需要重新连接SSH。

05、时间校准

美博园先说明:一般来说,如果你的电脑、VPS服务器本身是自动调准时间的,时间一般是准确的,这一步并非需要调整。

据v2ray官方介绍:对于 V2Ray,它的验证方式包含时间,就算是配置没有任何问题,如果时间不正确,也无法连接 V2Ray 服务器的,服务器会认为你这是不合法的请求。所以系统时间一定要正确,只要保证时间误差在90秒之内就没问题。

对于 VPS(Linux) 可以执行命令 date -R 查看时间:

date -R

会显示出,如:

Sun, 22 Jan 2017 10:10:36 -0500

显示的结果中的 -0500 代表的是时区为西 5 区,如果转换成东 8 区时间则为 2017-01-22 23:10:36。

如果时间不准确,可以使用 date --set 修改时间:

sudo date --set="2017-01-22 16:16:23"

会显示出,如:

Sun 22 Jan 16:16:23 GMT 2017

对 VPS 的时间校准之后,自己的个人电脑时间也要调准,电脑时间调准这里不再赘述,网上方法很多。

无论是 VPS 还是个人电脑,时区是什么无所谓,因为 V2Ray 会自动转换时区,但是时间一定要准确。

06、环境要求-安装curl

要求系统中装有curl,建议提前在此安装,安装命令:

# Debian/Ubuntu系统输入如下命令:

apt-get update -y && apt-get install curl -y

# CentOS系统输入如下命令:

yum update -y && yum install curl -y

07、安裝 unzip 和 daemon

安裝 V2Ray 時需要用到 unzip 和 daemon,需首先執行如下命令:

apt install unzip daemon

安装完成显示:

Processing triggers for man-db (2.7.5-1) ...
Processing triggers for mime-support (3.59ubuntu1) ...
Setting up daemon (0.6.4-1) ...
Setting up unzip (6.0-20ubuntu1) ...
root@vultr:~#

08、安裝 官方版 V2Ray

美博园(allinfa.com)特别提醒:

网上有一些安装v2ray的一键安装包,美博园翻墙网在此郑重提醒网友:最好是直接安装官方版v2ray,就是美博园本文用到的,其实就是一条命令,并不复杂。有些一键安装包只会省略很少的步骤,但安装包里面却有一些特别的设置,对网友并非都适用,切记!

安裝 官方版 V2Ray 執行命令:

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

这样一条命令就会完成安裝 V2Ray.
执行很快

此脚本会自动安装以下文件:
    /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。目前自动运行脚本只支持带有 Systemd 的系统,以及 Debian / Ubuntu 全系列。

运行脚本位于系统的以下位置:
    /etc/systemd/system/v2ray.service: Systemd
    /etc/init.d/v2ray: SysV

执行完成末端会显示有:

  PORT:12345 (这里只是示意,非真实端口数据)
UUID:ewer735c-e888-40cc-8ded-1fe74d715c75  (这里只是示意,非真实ID数据)
Created symlink /etc/systemd/system/multi-user.target.wants/v2ray.service → /etc/systemd/system/v2ray.service.
V2Ray v4.18.0 is installed.
root@vultr:~#

请留意:

这里可以看到 Port 和 UUID, UUID 相當於 V2Ray 的密码,
请将 Port 和 UUID 这二项资料复制保存记录下来,后面要用到。

09、启动v2ray

虽然已经安装了 V2Ray,但并没有启动,

现在启动v2ray,输入命令:

service v2ray start

//查看v2ray状态,输入命令:

service v2ray status

如看到如下绿色字 active (running),表明 v2ray已经启动:

Active:   active (running) since Sun 2019-04-28 08:53:48 HKT; 39s ago

10、 安装 EasyEngine

V2ray需用到 NGINX,NGINX是什么,大多数网友不需要了解,知道用下面命令安装即可,若需要详细了解的网友可自行网上查询。

美博园翻墙网这里推荐安装 EasyEngine 来架前端,它相当好用,因它内置了 NGINX 和 Let’s Encrypt,省去我们一些安装步骤,而且,EasyEngine可在 Let’s Encrypt的 SSL加密证书三个月期满后自动续约,相当方便。

一键命令安装EasyEngine

wget -qO ee rt.cx/ee && sudo bash ee

完成需约2、3分钟

中途会询问你的 名字 和 email

请自己随意输入

提示:

EasyEngine (ee) will NEVER send your information across
Enter your name:
(输入名字,如:)
abcd   (请改为自己想输入的名字,只是标示,可随意)
回车

接着,提示输入 mail

Enter your name: abcd
Enter your email:
(输入mail,如:)
abc123@gmail.com    (请改为自己的mail,也没有看到实际用途,可随意)
回车

继续快速安装,几十秒完成
完成安装可见:

For EasyEngine (ee) auto completion, run the following command
source /etc/bash_completion.d/ee_auto.rc
EasyEngine (ee) installed/updated successfully
EasyEngine (ee) help: http://docs.rtcamp.com/easyengine/
root@vultr:~#

11、 应用bash自动完成功能

安装完成后,需要为EasyEngine ee命令应用bash自动完成功能,令设定更加顺利。
运行以下命令:

source /etc/bash_completion.d/ee_auto.rc

12、安装 Let’s Encrypt 的SSL证书

Let’s Encrypt 提供免费的 SSL证书,为大家使用ssl加密(即:https)提供了方便,每3个月需要重新申请一次,但本文方法安装在EasyEngine中,到期会自动续约。

在安装EasyEngine后,可以很方便安装Let’s Encrypt 的SSL证书,一个命令解决问题。

先请大家留意,如下命令中的域名 abc.com(本文示意),需要換成你自己申請的 域名domain!

输入命令:

ee site create abc.com --html --letsencrypt

回车

大概几分钟后,会提示:

root@vultr:~# ee site create abc.com --html --letsencrypt
Adding repository for NGINX, please wait...
Updating apt-cache, please wait...
Fixing missing GPG keys, please wait...
Installing packages, please wait...
Reload : nginx     [OK]
Running pre-update checks, please wait...
Setting up NGINX configuration 	[Done]
Setting up webroot 		[Done]
Reload : nginx     [OK]
HTTP Auth User Name: easyengine
HTTP Auth Password : bHJJEG
Successfully created site http://abc.com
Letsencrypt is currently in beta phase. 
Do you wish to enable SSl now for abc.com?
Type "y" to continue [n]:

询问是否继续

输入 y
回车

约几分钟完成,

可见:

Do you wish to enable SSl now for abc.com?
Type "y" to continue [n]:y
Downloading LetsEncrypt          [Done]
Please Wait while we fetch SSL Certificate for your site.
It may take time depending upon network.
Let's Encrypt successfully setup for your site
Your certificate and chain have been saved at /etc/letsencrypt/live/abc.com/fullchain.pem
Configuring Nginx SSL configuration
Adding /var/www/abc.com/conf/nginx/ssl.conf
Adding /etc/nginx/conf.d/force-ssl-abc.com.conf
Added HTTPS Force Redirection for Site  http://abc.com
Creating Cron Job for cert auto-renewal
Reload : nginx     [OK]
Congratulations! Successfully Configured SSl for Site  https://abc.com
Your cert will expire within 89 days.
root@vultr:~#

说明安装ssl成功,ssl证书已经安装到你的域名 abc.com上了,89天后过期。

12、将 v2ray 加入 nginx

其实就是在域名domain中建立一个路径。按照下面几步输入命令:

12-1)进入 nginx 的 conf(整合文件)

同样需注意,下面命令中的域名abc.com,要改为你的域名domain
输入:

cd /var/www/abc.com/conf/nginx

回车

12-2)之后输入下面指令编辑NGINX配置文件:v2ray.conf

输入命令:

nano v2ray.conf

12-3)在窗口中,将下列内容贴上去:

请注意下列要贴上去的内容中,有二个地方要先修改为你自己的内容:

a)将 vv22 改为你自己的路径,可改为任意数字字母
b)12345这个端口号,改为你前面第08步记下的port

美博园(allinfa.com)提示: 复制、修改下面代码时特别注意不要增减空格或任何标点符号等。

再次提示:下面代码中这个路径 /vv22  的斜杠后没有空格;127.0.0.1:12345这些数字间都没有空格!

--- 请复制以下代码,不包括本行 ---

location /vv22 {
proxy_redirect off;
proxy_pass http://127.0.0.1:12345;
proxy_http_version 1.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;
}

--- 复制代码结束,不包括本行 ---

退出nano编辑状态

输入上述修改后的内容后,退出nano编辑状态

按 Ctrl+X
它会问你会否储存档案,按下 y 后,
再按多一次 Enter 键就可以了。

返回根目录

注意,上述退出nano编辑后,并不在根目录,而是在:root@vultr:/var/www/abc.com/conf/nginx#
需要退回到根目录后再输入后续命令。

在root@vultr:/var/www/abc.com/conf/nginx# 后面
输入

cd

回车
就可退回到根目录

13、建立一个 html网页文件

给域名建立一个网页文件,请输入如下命令,

请注意:务必先将下面命令中的域名 abc.com(本文示意)改为你自己的域名

cp /var/www/html/index.nginx-debian.html /var/www/abc.com/htdocs/index.html && chown www-data: /var/www/abc.com/htdocs/index.html

14、重新启动 NGINX

输入命令

service nginx restart

回车

查看nginx启动状态

输入命令:

service nginx status

显示有绿色的 active (running),表明nginx正在运行。

15、设定 V2ray服务器端

V2ray 服务器端所有设定都在 /etc/v2ray/config.json,所以修改这个文件就可以了。

15-1)首先备份原本的 V2ray 服务器端 配置文件 config.json

输入命令:

cp /etc/v2ray/config.json /etc/v2ray/config.json.bak

15-2)然后,删除原本的config.json文件

因上一步已经备份了原本的config.json文件,可以将原本删除了。

输入命令:

rm /etc/v2ray/config.json && nano /etc/v2ray/config.json

15-3)编辑 V2ray 服务器端 配置文件 config.json

还记得前面第08步叫大家记下 port 和 UUID 吗? 这里就会用到了。

---
如果忘记的话,可以输入以下指令:

cat /etc/v2ray/config.json.bak

就可看到原本的 UUID 和 port
---

将下列内容复制到窗口中

美博园(allinfa.com)提示:

※ 请务必不要动代码中的任何标点符号、包括不要增减空格等等;

再次提示:这个服务器端的代码中,最容易出错的是自己填入的几个数据如端口、ID、路径等,在『复制』时无意中『增加了空格』,如ID那一行:

本来是 "id": "ewer735c-e888-40cc-8ded-1fe74d715c75", 即:双引号中的字符间全部没有空格;

但在复制时系统可能会在引号前、后或ID那串字符前增加半角空格,不易发现,变成这样,如:

"id": " 这里多一个空格ewer735c-e888-40cc-8ded-1fe74d715c75", 这就会出错。

※ 请务必替换下面3项内容:

1)"port":12345,    将12345换成第08步自己的端口号
2)"id": "ewer735c-e888-40cc-8ded-1fe74d715c75",   请更换为第08步自己的UUID
3)"path": "/vv22"    请将vv22更换为第12-3步中自己的路径

再次提示:这个路径 "/vv22" 的引号前、引号后、斜杠前、斜杠后,都没有空格,即:

"/vv22" 这是对的,字符间全部没有空格;

这些有空格的都会出错:" /vv22"   "/ vv22"   "/vv22 "   " / vv22" 等

========= 复制下面的内容,不包括本行 ===========

{
    "log": {
            "access": "/var/log/v2ray/access.log",
            "error": "/var/log/v2ray/error.log",
            "loglevel": "warning"
    },
    "inbound": {
            "port": 12345,
            "protocol": "vmess",
            "settings": {
                    "clients": [{
                            "id": "ewer735c-e888-40cc-8ded-1fe74d715c75",
                            "level": 1,
                            "alterId": 64,
                            "security": "auto"
                    }]
            },
            "streamSettings":{
                    "network":"ws",
                    "security": "auto",
                    "wsSettings":{
                            "path": "/vv22"
                            }
                    }
    },
    "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"
                }
            ]
        }
    }
}

========= 复制到此结束,不包含本行 ==============

15-4、保存修改:

贴上上述代码后,不用回车
按Ctrl+X
来退出 nano编辑

它会问你是否储存档案,按下 y
再按 Enter 键就可以了。

16、重新启用v2ray

输入命令:

service v2ray restart

检查一下启动状态,输入命令:

service v2ray status

如看到 绿色字 active (running),表明 v2ray已经启动。

17、重新 reload sysctl

输入

sysctl -p

回车

=================
至此,本教程v2ray代理已经安装完成可以使用了。 大功告成!
=================

19、高级用法:开启防火墙-端口设置

我们只是用于翻墙,需要打开这几个端口 port: 22, 80, 443,和你自己的端口(本教程例举为12345),用下面的代码打开这几个 port。

依次輸入以下指令:

ufw allow 22

回车

ufw allow 80

回车

ufw allow 443

回车

再次提醒下面命令的12345改为自己『08、安裝 官方版 V2Ray』产生的端口

ufw allow  12345

回车

再输入命令启用防火墙

ufw enable

回车

会提问:

root@vultr:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?

问是否真的启用防火墙 enable firewall,并警告如果设定不当会断线。因我们已经启用 allow port 22 ,所以没有问题,

按下 y
回车

就可以了。

20、高级用法:linux系统设定微调

参考:Linux TCP 性能調優筆記 · Siege

目的是改善丢包,使得连线速度更好一些

20-1)首先备份原本设定

cp /etc/sysctl.conf /etc/sysctl.conf.bak

20-2)删除原本文件

rm /etc/sysctl.conf && nano /etc/sysctl.conf

20-3)复制下面新设定文件内容

========== 复制 下面内容 开始 start,不包含本行 ===========

#
# /etc/sysctl.conf - Configuration file for setting system variables
# See /etc/sysctl.d/ for additional system variables.
# See sysctl.conf (5) for information.
#

### 改善记情体管理 ###

#提高整个系统的文件限制
fs.file-max = 2097152
fs.inotify.max_user_watches=524288

# 减少使用缓存
vm.swappiness = 10
vm.vfs_cache_pressure=50
vm.dirty_ratio = 60
vm.dirty_background_ratio = 2

### 一般网络安全设置 ###

#表示开启SYN Cookies。当出现SYN等待队列溢出时,使用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_syncookies = 1

# Number of times SYNACKs for passive TCP connection.
net.ipv4.tcp_synack_retries = 2

#表示用於向外连接的端口范围。缺省情况下很小
net.ipv4.ip_local_port_range = 2000 65535

# Protect Against TCP Time-Wait
net.ipv4.tcp_rfc1337 = 1

# 减少 tcp_fin_timeout 等待时间
net.ipv4.tcp_fin_timeout = 15

# 表示当keepalive起用的时候,TCP发送keepalive消息的频度。
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 15

### TUNING NETWORK PERFORMANCE ###

# 预设 socket 缓存
net.core.rmem_default = 31457280
net.core.wmem_default = 31457280

#增加 TCP 缓存上限
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864

# 增加接收的连接
net.core.somaxconn = 65535

# 当网络卡接收的 packets 快过 kernel 能处理的时候,增加连线进来的 backlog queue 能令 kernal 有更多时间处理
net.core.netdev_max_backlog = 250000

# Increase the maximum amount of option memory buffers
net.core.optmem_max = 25165824

#表示SYN队列的长度,默认为1024,加大队列长度?8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 1440000

# Increase the maximum amount of option memory buffers
net.core.optmem_max = 25165824

#增加 Linux 自动调整的 TCP 缓存上限
# This is measured in units of pages (4096 bytes)
net.ipv4.tcp_mem = 65536 131072 262144
net.ipv4.udp_mem = 65536 131072 262144

# Increase the read-buffer space allocatable
net.ipv4.tcp_rmem = 8192 87380 16777216
net.ipv4.udp_rmem_min = 16384

# Increase the write-buffer-space allocatable
net.ipv4.tcp_wmem = 8192 65536 16777216
net.ipv4.udp_wmem_min = 16384

# 表示系统同时保持TIME_WAIT的最大数量,如果超过这个数字,TIME_WAIT将立刻被清除并打印警告信息,可以用来防止简单的 DOS 攻击。
net.ipv4.tcp_max_tw_buckets = 1440000

#表示开启重用。允许将TIME-WAIT sockets重新用於新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1

#表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭;
#为了对NAT设备更友好,建议设置为0。
#修改TW快速回收的问题以更好的兼容移动设备。
net.ipv4.tcp_tw_recycle = 0

#修改系统默认的 TIMEOUT 时间。
net.ipv4.tcp_fin_timeout = 30

#额外的,对於内核版本新於**3.7.1**的,我们可以开启tcp_fastopen:
net.ipv4.tcp_fastopen = 3

#recommended for hosts with jumbo frames enabled
net.ipv4.tcp_mtu_probing = 1

#设置TCP拥塞算法,建议 Linode 用户选择 bbr,其他公司可以输入以下指令(不要 # 号)
# sysctl net.ipv4.tcp_available_congestion_control
# 如果看到 bbr 可以选 bbr,否则建议 htcp
net.ipv4.tcp_congestion_control = bbr

==============复制上面内容 结束,不包含本行 ====================

20-4、退出保存

粘帖上述内容后
按Ctrl+X
退出 nano,

问你会否储存档案,按下 y

再按Enter 键
就可以。

21、高级用法:开启BBR加速

Google 开源了 TCP BBR 拥塞控制算法,根据用户使用体验的效果来看在 VPS 上开启了 TCP BBR 后网速最高可达到10几倍的提升。

关于 Google BBR 拥塞控制算法目前有两个版本,一个原版,另一个为魔改版,魔改版 Google BBR 是在原版的基础上调整了一些参数,加速效果更胜一筹。

美博园(allinfa.com)建议:安装 Google 原版,不要安装修改版。

Debian 9 和 ubuntu 18.04 都默认了4.9或以上的内核, 所以不需要更换内核, 可以直接开启BBR。

查看内核版本
输入命令:

uname -r

如果是4.9.x或以上可以直接继续

21-1、修改系统变量
输入命令:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf

再输入:

echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

21-2、保存使其生效
输入命令:

sysctl -p

21-3、查看内核是否已开启BBR

输入命令:

sysctl net.ipv4.tcp_available_congestion_control

显示如下:

# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno

再输入命令:

sysctl net.ipv4.tcp_congestion_control

显示如下:

net.ipv4.tcp_congestion_control = bbr

表明已经开启BBR加速

21-4、验证BBR是否已经启动

输入命令:

lsmod | grep bbr

显示如下即启动成功:

# lsmod | grep bbr
tcp_bbr          20480  14

22、一些在线工具/资源

前面提到了,v2ray为网友搭建了一个平台,网友可以发挥才智创建多种代理用法,本文介绍的只是众多用法中的一种方式。
以下是一些在线工具/资源,方便网友在进一步使用时自己创新和灵活应用(不分先后顺序):

VeekXT V2Ray配置生成(veekxt.com)

https://www.veekxt.com/utils/v2ray_gen
支持 4.x 版本的配置文件生成器

V2Ray 配置生成器(GitHub)

https://github.com/htfy96/v2ray-config-gen
静态 V2Ray 配置文件生成页面

UUID Generator(uuidgenerator.net)

https://www.uuidgenerator.net/
VMess User ID 生成工具

vTemplate 项目仓库(GitHub)

https://github.com/KiriKira/vTemplate
一个 V2Ray 配置文件模板收集仓库


返回列表 网站首页