一、部署准备

1、一台可以连接外网的Linux系统

说明:下面三种都可以建议使用Ubuntu系统,我演示服务器是在 Vultr 购买。

Image 1 Image 2 Image 3

2、科学上网软件

说明:本教程所用的VPN模式是基于Outline VPN配置而来,客户端软件其实Outline本身的软件就已经很全了,基本目前所有操作系统都有,但是Outline VPN配置完并不能实现分流,所以才使用下面的软件代替。

2.1、Windows客户端

a、V2ray官网链接V2ray-Github下载链接

b、Clash官网链接Clash-Github下载链接

2.2、Android客户端

【 安卓软件推荐下载地址】—>apkcombo

a、V2ray-apkcombo.com

b、Clash官网链接Clash-Github下载链接

二、服务器基础配置

说明:这里演示部署使用Ubuntu系统,建议大家以后都用Ubuntu系统(Ubuntu持续更新,其他系统个别版本面临停更,不在维护,bug安全得不到解决)

1、更新系统软件/内核、安装工具包

sudo apt update


sudo apt -y upgrade


sudo apt install linux-generic


安装系统常用工具包

sudo apt install net-tools

2、增加交换空间SWAP

说明:因为我们买的服务器是日本的1核1G25G,内存比较小,所以为了后续运行服务流畅,可是使用SWAP交换空间功能虚拟出来原始内存的1~1.5倍内存。

下载集成工具包链接(内含:SWAP和BBR)

wget -O box.sh https://raw.githubusercontent.com/BlueSkyXN/SKY-BOX/main/box.sh && chmod +x box.sh && clear && ./box.sh

重点!
等脚本下载完会自动运行,先按:18,在按:2,然后你会退回到root的#号界面,你在运行一遍脚本进去,在按:18,再按:1,在输入swap数值,这个数值是你的服务器内存的1~1.5 倍数值,比如你服务器是1G内存,那你这里的swap数值就写1024~1536这个区间即可,我的是1G的内存,我写的是1024,然后回车,这一步就结束了。


重新运行脚本命令

./box.sh

输入:sudo swapon --show,查看交换空间是否配置成功。
输入:free -h,查看虚拟内存的使用情况。

sudo swapon --show
free -h

三、VPN正式部署

1、部署Outline VPN管理平台

说明:有兴趣的小伙伴可以深入研究一下Outline VPN的其他玩法,Outline VPN是谷歌旗下的一款开源VPN服务,绝对安全可靠,具体介绍可参考Outline VPN官网

后续我们可以通过客户端管理平台,查看并管理我们所有的节点信息,包括节点流量使用情况,节点服务器状态,节点分享等等。

1.1、下载管理平台

Windows下载链接
👇

https://s3.amazonaws.com/outline-releases/manager/windows/stable/Outline-Manager.exe

Linux下载链接
👇

https://s3.amazonaws.com/outline-releases/manager/linux/stable/Outline-Manager.AppImage

MacOS下载
👇

https://s3.amazonaws.com/outline-releases/manager/macos/stable/Outline-Manager.dmg

管理平台界面展示
👇

1.2、安装OutlineVPN

将下面红框内的命令复制到服务器内运行

👇

sudo bash -c "$(wget -qO- https://raw.githubusercontent.com/Jigsaw-Code/outline-server/master/src/server_manager/install_scripts/install_server.sh)"

运行结束后,将下面红框内的信息复制到客户端管理平台

复制上面红框的信息到客户端管理平台后,点击完成

如果有类似下面的报错,需进行如下排查

首先查看管理端口(Managemen port)和访问密钥端口(Access key port)是否正常侦听。

lsof -i:57537
lsof -i:31538

查看端口是侦听状态LISTEN),说明服务器防火墙没有放行端口,进行下面的操作放行对应端口。

第一步:开启端口重定向和IP转发

sudo vi /etc/sysctl.conf

进入sysctl.conf文件后,按键盘的“i”键,当左下角出现INSERT时,复制下面的代码贴入,注意前面不能有“#”号,贴入后按ESC,然后在按Shift+:,输入wq(保存并退出)。

net.ipv4.ip_forward = 1
net.ipv4.ip_local_port_range = 1024 65535

使sysctl.conf配置生效

sudo sysctl -p

开启防火墙端口,你的肯定不是下面的端口,请不要直接复制下面的代码粘贴,需根据你安装完返回的实际端口放行

sudo ufw allow 59087/tcp
sudo ufw allow 31538

然后返回客户端管理平台,点击重试

没有任何报错,直接到这个界面,说明配置完成

1.3、配置Outline VPN管理平台

点击添加新密钥

点击分享复制访问密钥

1.4、客户端配置

1.4.1、windows客户端

说明:这里演示V2ray使用步骤,Clash步骤差不多。

先用 ip111.cn 看一下自己当前上网IP地址,稍等可以做对比.

选择从剪贴板导入批量URL(Ctrl+V)将从Outline VPN管理平台复制的访问密钥加进去。

这里可以看到我的日本服务器IP模糊是:..126.215

点击启动服务

点击电脑状态的V2ray,将系统代理改成:自动配置系统代理

V2ray图片变成红色去刷新 ip111.cn

1.4.2、Android客户端

说明:可以直接使用草料二维码将ss链接复制进去生成二维码,手机直接扫描二维码即可。

1.5、结果验证

小问题:Windows的V2rayN-V5.39貌似不行 ?然后我换了最新的6.27,并且Windows好像要安装下面的NET,才能运行6.27版本,换了版本后使用了Chrome的无痕模式刷新 ip111.cn就好了。【内心:刚刚刷不出来该不会是Chroem网页缓存吧😂】

https://download.visualstudio.microsoft.com/download/pr/30841ca9-5538-40c3-9022-d1ba1e69f6e8/aa94715bc3d74ee0b2e27de757ef0cdb/windowsdesktop-runtime-6.0.19-win-x64.exe

Windows
👇

Andriod
👇

来一张总图
👇

1.6、VPN测速

1.6.1、安装bmon软件

说明:用bmon命令可以查看服务器接口实时流量大小

sudo apt -y install bmon

查看上网接口名称

ip addr

我的是enp1s0

输入下面的命令,然后使用 Speedtest 测试

sudo bmon -p enp1s0

2、Outline VPN 补充

我们还可以已通过OutlineVPN管理平台添加更多密钥,然后设置流量大小,比如使用超过1G链接失效,这样可以分享给好朋友临时使用。

四、进阶版

1、开启BBR加速

说明:BBR+FQ:启用 BBR 拥塞控制算法,它可以在网络拥塞时自适应地调整传输速率,提高网络吞吐量和延迟性能;设置默认的网络队列调度器为 Fair Queueing (fq),用于提高网络流量的公平性和吞吐量。

还是用前面扩容虚拟内存的工具包即可,运行box.sh脚本

./box.sh

输入:13 ;启动BBR FQ算法(建议先给服务器打一个快照,防止出现意外情况)

输入:reboot,重启生效

reboot

检查bbr加速是否开启,回显如下则开启

lsmod | grep bbr

2、服务器安全加固

还是基于box.sh脚本

./box.sh

输入:19 ;安装fail2ban脚本(建议先给服务器打一个快照,防止出现意外情况)

根据提示进行下一步,参考图片

如果需要卸载fail2ban脚本,下载下面的卸载脚本

wget https://raw.githubusercontent.com/FunctionClub/Fail2ban/master/uninstall.sh && bash uninstall.sh