[一键Brook搭建教程2020]使用 Vultr VPS 自建Brook翻墙服务器及客户端配置实现科学上网

本系列教程适合新手小白,当然老鸟也可以看看,也许会有你还不知道的黑科技。一灯不是和尚手把手教你搭建WireGuard/Brook/Snell/NaiveProxy节点服务器并实现科学上网,这可能是史上最全、最简单、最适合小白萌新的一键搭建Brook服务器教程。本教程内容包括购买域名和VPS,远程连接并管理VPS和Brook一键安装脚本最新版以及多用户配置的方法,并开启BBR加速以及Brook客户端配置教程。

[0] Brook是什么?

Brook是一款跨平台的强加密且难以被检测的科学上网代理工具,功能非常强大,它的目标是保持简单易用、傻瓜化操作,且不被检测。Brook 比 Shadowsocks/SS 部署更简单,而且实现了零配置。txthinking大神一直在维护更新,Brook虽然诞生比较早,但一直比较低调小众,也拥有全平台的客户端,类似于我们经常使用的Shadowsocks/ShadowsocksR等代理工具。另外,Brook转发功能也很强大,也是一款出色的转发中继工具。

Brook官网项目地址: https://github.com/txthinking/brook

Brook功能特点:

  • Brook既可以用作客户端,也可以用作服务端;
  • 用作隧道,连接到Brook服务器;
  • 用作DNS服务器;
  • 用作透明代理;
  • WebSocket服务器;
  • Websocket客户端;
  • 连接登录远程服务器;
  • 用作中继;
  • Socks5服务器;
  • 把Socks5转换成http;
  • 用作PAC服务器或下载PAC文件到本地。

1、注册域名和购买非中国大陆地区的VPS

(1)注册域名

如果你使用“Brook+WS+TLS+Web”模式的话,就需要用域名伪装成网站,否则不需要域名。注册域名有两种途径:注册国外免费域名和付费购买域名。

1)注册免费域名

注册免费域名请参考文章 2020年最新的国外免费顶级域名网站Freenom注册免费域名教程与Cloudflare托管解析的方法

2)购买付费域名

购买付费域名推荐 NameSilo(推荐)、Namecheap 或 Name.COM,大部分域名一般不到4美元/第1年,像 .xray 和 .top 这样顶级域名还不到1美元/年,非常划算,第2年重新注册一个新的就可以了。

如果你打算在 NameSilo 注册域名的话,请参考文章 NameSilo – 美国知名域名注册商 | 仅年付0.99/1.99美元 | 域名购买与账户注册图文教程

3)解析域名

注册好域名之后,请把域名解析到你要搭建Brook服务器所用VPS对应的IP地址,一般5分钟之内就可以生效,最迟72小时生效。我一直推荐大家使用 Cloudflare 管理域名,解析速度快,基本秒生效,非常方便快捷,而且 Cloudflare 的免费 CDN 很好用,而且搭建自用WireGuard/Brook/Snell/NaiveProxy服务器节点也经常会用到。

关于互联网域名注册、购买与添加DNS域名解析记录的详细操作教程,请参考文章 互联网域名注册、服务购买与添加域名解析记录及更改DNS服务器的详细图文教程

(2)购买非中国大陆地区的VPS

关于 Vultr 的账户注册、套餐购买和VPS服务器系统安装与远程管理的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述,我后面的图文教程均以 Vultr VPS 为例进行演示。

1)为什么要购买非中国大陆地区的VPS?

因为中国大陆经营的正规VPS提供商都在国家正规备案的,不允许你用VPS搭建Brook节点服务器,一旦发现你违规使用会停掉你的VPS,还可能不退款。另外,即使你可以搭建科学上网服务器,而且没有被发现,那么也可能被监控,并有隐私泄露的风险,因为像国内大厂的云产品上面都有监控代码,你未必能清理干净。鉴于以上原因,我建议你选择非天朝公司且不在大陆备案经营的VPS提供商。

2)使用香港或者澳门公司的VPS怎么样?

当然是可以的,但是他们都很贵,而且仍是天朝下辖地区,还是不碰为好。我推荐你选择美国、台湾、日本、新加坡、韩国等地区机房的VPS,甚至欧洲公司的产品,毕竟中国台湾还没有被统一,天朝直接管不了。

通过以上分析和介绍,我相信你也不愿意选择阿里云、腾讯云、百度云和华为云等这样的国内大公司的VPS,最好选择美国西海岸、日本东京或新加坡机房的VPS。

3)用什么VPS搭建Brook服务器比较好?

一键搭建Brook服务器推荐你使用 VultrBandwagonHOSTHostwinds 等大公司的VPS,其中Vultr是最为推荐的,因为它可以非常方便且无限制地免费更换IP,而且在全球拥有17个数据中心;其次,推荐你使用 BandwagonHOST(搬瓦工),速度稳定,而且性价比非常高,缺点是换IP比较贵;鉴于 Hostwinds IP 地址资源比较少,不再推荐。如果你是老鸟的话,使用哪一家VPS都不错,新手的话还是推荐 Vultr,毕竟免费换IP是杀手锏,以前BandwagonHOST(搬瓦工) 也是这么起家的。

2、远程连接并管理 Vultr VPS 服务器

关于 Xshell/Putty 远程连接并管理 Vultr VPS 服务器的详细使用教程,请参考 最新Vultr账户注册、VPS套餐购买与服务器系统安装以及SSH远程管理的详细图文教程,鉴于图文教程已经非常详尽,我这里就不再赘述。

当完成 Vultr 账户注册、套餐购买并成功连接到远程 VPS 之后,我们就可以继续下面的步骤了。

3、一键搭建Brook安装教程

我这里选择 Vultr VPS 服务器位置在 Seattle(美国西雅图),安装 CentOS 7 X64 系统,使用 Xshell 远程登陆 Vultr VPS 进行操作,然后我们就可以使用Vultr搭建Brook服务器了。具体操作步骤如下:

(1)搭建Brook服务器(需要域名)

1)安装基础依赖组件

apt update && apt install -y socat wget git vim
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

2)安装证书生成脚本

wget -qO- get.acme.sh | bash 
source ~/.bashrc

3)安装证书

acme.sh --issue --standalone -d your_domain.com -k ec-256
mkdir -p /etc/nginx /etc/nginx/conf.d
acme.sh --installcert -d your_domain.com --fullchain-file /etc/nginx/conf.d/server.pem --key-file /etc/nginx/conf.d/server.key --ecc

注意事项:your_domain.com 替换为你自己的域名。

4)安装 Docker && Nginx && Brook

wget -qO- get.docker.com | bash
docker pull nginx
docker pull teddysun/brook
docker pull containrrr/watchtower

5)修改 Nginx 配置

执行编辑配置文件命令:vim /etc/nginx/conf.d/default.conf,配置文件内容如下:

server {
    listen 443 ssl http2;                                                       
    ssl_certificate       /etc/nginx/conf.d/server.pem;  
    ssl_certificate_key   /etc/nginx/conf.d/server.key;
    ssl_protocols         TLSv1.2 TLSv1.3;                    
    ssl_ciphers           ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
   
    server_name  your_domain.com;    #改为你的域名
    location / {
        proxy_pass https://proxy.com;     #改为你想伪装的网址
        proxy_redirect     off;
        proxy_buffer_size          64k; 
        proxy_buffers              32 32k; 
        proxy_busy_buffers_size    128k;
     }

    location /your_path {       #改为你在上面修改的路径
        proxy_redirect off;
        proxy_pass http://127.0.0.1:1000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $http_host;
        proxy_read_timeout 300s;
    }
}
server {
    listen 127.0.0.1:80;
    server_name ip.ip.ip.ip;    #改为你服务器的 IP 地址
    return 301 https://your_domain.com$request_uri;    #改为你的域名
}

server {
    listen 0.0.0.0:80;
    listen [::]:80;
    server_name _;
    return 301 https://$host$request_uri;
  }

6)启动Nginx服务

docker run --network host --name nginx -v /etc/nginx:/etc/nginx/conf.d --restart=always -d nginx
docker run --name watchtower -v /var/run/docker.sock:/var/run/docker.sock --restart unless-stopped -d containrrr/watchtower --cleanup

其中,修改 /your_path 为你的路径,your_password 为你的密码。

docker run --network host --name brook -e "ARGS=wsserver --path /your_path -l :1000 -p your_password" --restart=always -d teddysun/brook

使用这种配置方式,watchtower会自动监测并更新软件,你无需手动更新。至此,你的Brook服务器已经搭建完成。

(2)Brook一键安装管理脚本

我们这里使用逗比大神的Brook一键管理脚本,目前最新版是1.1.13,大神也没有增加新功能,仍然很好用。但是,此一键脚本搭建的Brook服务器属于裸奔模式,不支持“WS+TLS”,没有伪装成网站的功能,不需要域名。

此Brook一键搭建脚本支持的系统:CentOS 6+ / Debian 6+ / Ubuntu 14.04 + ,逗比大神推荐 Debian 8 x64,但是我在 Debian 9 和 10 上面使用也是挺稳定的。

1)安装 wget 依赖包

yum -y install wget #CentOS
apt-get install wget #Ubuntu/Debian

2)执行Brook一键安装管理脚本命令

wget -N --no-check-certificate https://raw.githubusercontent.com/ToyoDAdoubiBackup/doubi/master/brook.sh && chmod +x brook.sh && bash brook.sh

按照提示,一路操作即可,使用一键脚本搭建Brook服务器是非常简单的。如下图所示:

然后,执行脚本会停留在选择安装Brook版本的步骤,直接按“回车”键,安装最新版Brook即可。Brook服务器搭建完成后,如下图所示:

3)运行Brook脚本管理命令

./brook.sh
/etc/init.d/brook start #启动
/etc/init.d/brook stop #停止
/etc/init.d/brook restart #重启
/etc/init.d/brook status #查看状态
/usr/local/brook #安装目录
/usr/local/brook/brook.conf #配置文件
/usr/local/brook/brook.log #日志文件

4)为Brook添加多用户管理

因为脚本默认一次只能添加/删除/修改一个用户配置,如果要批量管理,会很麻烦,所以逗比大神编写了手动批量修改配置文件的方法。

Brook配置文件位置:/usr/local/brook/brook.conf,格式如下:

servers # 第一行必须是Brook混淆协议
2333 doub.io # 下面几行都是以 端口+空格+密码 的方式一行一个
2334 doub.io1
2335 doub.io2

直接使用VI编辑器码字符太累了,就可以直接使用echo命令批量操作,执行命令如下所示:

echo "servers
2333 doub.io
2334 doub.io1
2335 doub.io2" > /usr/local/brook/brook.conf

以上代码是一个整体,复制后粘贴到SSH命令行窗口执行,会替换原配置文件 brook.conf 的内容。

echo "2336 doub.io3
2337 doub.io
2338 doub.io" >> /usr/local/brook/brook.conf

复制以上代码之后,粘贴到SSH命令行窗口执行即可,这样就新添加3个用户,格式为“服务器端口+空格+连接密码”;其中,“>”是清空配置文件再写入,“>>”是追加到配置文件原内容后面。

注意事项:以上新增用户连接密码可以相同,但是端口必须不同。

5)Brook常见问题答疑

问题1:无法连接到 Brook 账号的可能原因之一

因为 Brook 每次更新的内容可能变动较大,所以如果客户端与服务端版本不一致,那么很有可能会导致客户端链接服务端被拒绝。包括我的 Brook Tools 里调用的 Windows 命令行版客户端,所以请尝试更新服务端或客户端为最新版本。

问题2:客户端链接Brook不可用,服务端日志提示 xxxx/xx/xx xx:xx:xx Expired request

出现这种问题说明你的服务器时间与本地时间相差过大,请修改服务器时区,或者手动修改服务器系统时间(注意也要校准自己本地设备时间)!

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 修改时区为北京时区(上海)

date -s "2017-11-02 19:14:00"
# 修改系统时间为 2017年11月02日 晚上19点14分00秒

date "+%Y-%m-%d %H:%M:%S %u %Z"
# 查看服务器当前时间

问题3:提示wget: unknown host “raw.githubusercontent.com” 之类的错误

这是无法解析我的域名,多半是DNS的问题,请更换DNS为谷歌DNS(以下两行一起复制 一起执行)。

echo -e "nameserver 8.8.8.8
nameserver 8.8.4.4" > /etc/resolv.conf

问题4:提示 wget: command not found 的错误

这是你的系统精简的太干净了,wget都没有安装,所以需要安装wget。

# CentOS系统:
yum install -y wget

# Debian/Ubuntu系统:
apt-get install -y wget

问题5:升级脚本

升级脚本只需要重新下载脚本文件就可以了,会自动覆盖原文件。

4、一键安装并开启BBR加速

(1)安装 wget 依赖包

yum -y install wget #CentOS
apt-get install wget #Ubuntu/Debian

(2)执行BBR加速一键安装脚本命令

cd /usr/src && wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh

执行以上安装命令后,如下图所示:

我这里选择“2”,“安装 BBRplus版内核”加速。在安装过程中,可能会出现如下提示,用右方向键选“<No>”,然后回车。如下图所示:

安装完成后会提示重启服务器,这时候输入字母“y”,回车后,重启服务器。当服务器启动后,我们再次执行安装命令,选择“7”启用“使用BBRplus版加速”。

5、Brook客户端配置

目前,Brook客户端除了官方版之外,还有由逗比大神出品的工具 Brook Tools 。Brook官方客户端虽然功能简陋,但是日常使用也是足够了,而且还是一个GUI可视化工具。

Brook客户端下载地址:

Brook客户端官方版 | Brook Tools(年久失修,不推荐使用)

Brook Tools 功能特点:

  • 仍然使用Brook官方Windows内核,本质上是拥有更多选项设置的图形化界面。
  • 支持导入、导出Brook链接。
  • 支持保存多个Brook服务器配置信息。
  • 支持SOCKS5代理、HTTP代理,可互相切换。
  • 支持自定义本地代理端口。

由于 Brook Tools 最新版是1.0.14,更新于2018年9月21日,也是逗比大神作品最后的一个版本。太老了,而且年久失修,一灯不是和尚这里不再推荐使用。

6、Vultr搭建Brook服务器教程结语

如果你有计算机网络技术基础,还懂得那么一点英文的话,一键搭建Brook服务器是一件非常简单的事情;否则,对你来说还真是有点麻烦,因为从购买域名和选择VPS、远程登录和执行安装代码等,都是一件很闹心的事情,尤其是有问题的时候,一定会让你崩溃,甚至想放弃。如果你已经决定使用Vultr搭建Brook服务器的话,那么搭建时请尽可能使用“Brook+WS+TLS+Web”模式实现网站流量伪装,抗封锁能力强,更加安全稳定,但是速度会有所下降。如果你不想要折腾的话,我还是推荐您使用专业的SS/SSR/V2Ray/Trojan机场,请参考 【优质机场评测推荐】好用的V2Ray机场推荐|高速稳定SSR机场推荐|Trojan科学上网|SS节点购买网站|网络加速器|回国节点线路,省事、省心,还更快速稳定。

发表评论

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