Linux使用Brook转发端口一键脚本

有时候我们连接远程服务器SSH,或其它端口地址出现很慢的情况,很影响体验;这时候我们可以在网络好的服务器使用Brook转发任意的远程服务器端口,从而改善网络情况。

大致原理

比如我服务器B网络不太好,服务器A网络可以,而服务器B有我在运行的程序,地址为http://服务器B的ip:3000,那么我可以使用服务器A的任意端口,比如4000端口转发服务器B3000端口,这时候你访问http://服务器A的ip:4000的时候,服务器A会去请求http://服务器B的ip:3000,最后再将数据返回给你,也就是不需要直接访问服务器B,而是访问服务器A就可以了,间接的等于你访问服务器B的数据,达到一种加速效果。

安装Brook

首先我们需要挑选一个网络相对较好的服务器进行中转,起码也要比你转发的服务器网络要好,不然就没什么意义了。

系统要求:CentOS 7+Debian 8+Ubuntu 16.04+AlmaLinux 8+Rocky Linux 8+

然后使用SSH客户端,比如Xshell软件,登录该VPS服务器,使用命令:

#下载脚本
wget -N --no-check-certificate -O /opt/brook.sh https://file.efvcms.com/moeapp/shell/brook.sh
#运行命令,运行之前请修改相关参数,8888为本地端口,192.6.8.1:9999为远程ip地址:远程端口
bash /opt/brook.sh 8888 192.6.8.1:9999

运行完成后,你访问安装端口转发服务器的ip:8888就等于访问远程服务器的192.6.8.1:9999

如果你需要转发其它端口,且可以多次通过运行该命令,来中转多个远程服务器端口地址。

删除相关端口转发

如果我们多次运行脚本转发端口,有些不使用了,需要删除,则按要求操作命令:

#查看全部转发端口配置文件,格式为brook_8888.service,8888为本地转发的端口
ls /etc/systemd/system/brook_*

#停止端口转发,8888为你需要停止的本地转发的端口,自行修改
systemctl stop brook_8888

#删除端口转发,8888为你需要停止的本地转发的端口,自行修改
systemctl disable brook_8888
rm -rf /etc/systemd/system/brook_8888.service

运行完成后,指定端口转发会彻底删除。