首先必须要承认,我标题党了,ping值是很难救的,物理距离带来的延迟是什么加速器都救不了的(或许我们可以期待一下疯子马斯克能够超越光速的奇思妙想)。不过对于普通家庭宽带,加速器还是可以有很大的优化空间的。
家庭宽带线路一般都比较差,连接海外服务器会有比较高的延迟,除了物理距离,还有线路的差异,从国内到美西最短情况下可以做到130ms的ping延迟,但是家庭宽带和服务器之间的线路很少能够达到。还有就是,由于方校长的存在,海外连接QoS极差,千兆的家宽连一张图片都要加载很久,或者是连接时断时续。这就是加速器的两个目的:一是优化网络链路,降低延迟;二就是保证连接能够有比较高的带宽和稳定性保证。话说玩游戏的应该都知道这些吧,就不过多赘述,下面直接进入正文。
其实之前也写过全局透明代理网关的教程,那篇博客主要解决的是无需配置,让客户端科学上网。使用了redsocks来做协议的转换,解决了从无到有的问题。不过由于redsocks是设计用于转发TCP流量的,很多游戏为了保证延迟,采用了UDP协议,所以那个实现无法加速游戏。
除了游戏加速器之外,本教程还有另外一个目的,就是把代理变成全局透明代理,目前访问互联网的方式主要分成两种,一种是VPN,例如PPTP、L2TP、OpenVPN等等;另一种是代理,例如shadowsocks、v2ray等等。VPN会接管全局流量,应用无感知,但是缺点很明显,就是VPN的目的是为了安全,而不是伪装,所以识别率很高,容易受到干扰。而具有特色的代理则是为了伪装而生,在使用上不及VPN那么方便,需要针对每个应用单独设置,而有的应用不支持设置代理,这篇教程可以解决这种问题。
以下进入正题。
本文会涉及到的技术有Virtual Box(用VPS、个人PC替代都可以)、V2ray、iptables,有一定的技术难度。如果对Linux系统的使用还停留在一键脚本的程度,这篇教程可能写的还是不够详细,花钱比自己折腾要容易许多。
一台独立的机器(中继节点)
虽然可以在本地部署,不过鉴于大多数人都不会使用Linux作为自己的主系统,再加上修改了本地流量,可能还是会有一些影响的,所以推荐使用一台独立的电脑,安装Linux操作系统,硬件要求不高,比路由器强那么一点就行,比如树莓派,比如斐讯N1都可以,或者你有VPS的话就更好了。
如果是游戏加速器目的,建议使用VPS,提供商推荐阿里云上海/北京/深圳,挑一个离你最近的城市,这样路由不会绕路。阿里云的机器路由优化的都还不错,不过流量价钱也很贵,建议切换到按量计费模式,然后带宽开大一点。如果觉得0.8¥/G的流量费太贵的话,也可以使用自己的小主机,但是性能可能会差一点。
这里如果你使用了单独的电脑,或者是VPS,就可以直接跳到下一部分了,毕竟安装操作系统不是本文的内容之一。
如果你身边没有小主机,也不想花大价钱买VPS,推荐virtual box,虚拟一个机器出来。至于virtual box的概念、安装、基本使用,这里不过多涉及,只有一个地方需要注意,就是默认情况下网络是NAT模式,需要改成桥接/bridge模式,并且只需要这一个网卡。
安装VPN(全局流量)
前面我们说了VPN的伪装性很差,那么这里为什么还要使用呢?有一点要指出,那些设备都是部署在出国骨干网上,国内间的流量还是比较宽松的,我们用VPN连接到中继节点上,然后在中继节点上进行流量的转换,再用正常的流量出国。实现了本机全局+流量伪装的目的。
VPN有很多,我们本文使用wireguard,因为对比了几个,wireguard在安装上是最简单的。下面以Debian Buster系统为例,其他系统可以换成类似的命令。不同系统的安装方式可见WireGuard官网。
为了方便起见,以下都是使用root用户操作。由普通用户切换成root用户时,推荐使用su -
命令,否则可能出现命令不存在的错误。
如果在最后一步安装提示linux-headers-$(uname -r)
不存在,说明你的内核可能有点旧了,需要升级,在尝试的过程中,失败率还是很高的,建议直接安装最新版本。
下面开始配置WireGuard。
配置文件里本来有一个DNS设置,我删掉了,因为后续会劫持DNS流量再做分流。
这里需要修改Endpoint
为你的中继节点地址,VPS的话需要设置成公网IP。然后把输出复制粘贴到客户端配置中。
在客户端上点击激活/activate,如果一切顺利的话,打开IPIP就可以发现IP变成了VPS的地址。或者通过观察连接状态里的流量发送和接收数据,如果一直在增长,并且本机可以上网,说明配置正常。使用命令 wg
来检查连接状态。
一般来说VPS的路由比较好的话,就已经可以实现加速器的效果了,可以尝试打开游戏测试一下,如果对结果满意,后面就不需要了,毕竟挺复杂的。
代理安装(流量出国)
本文选取的是V2ray,因为它支持承载UDP协议,ss似乎也可以,但是配置就不太会了。根据相关法律法规,跳过安装步骤。
配置文件太长,以链接的形式给出。
需要修改其中的服务器配置,其中域名部分需要修改两次,仔细查找一下serveradd.com
。
修改了其中暴露服务的监听地址,其中dokodemo-door
设置成本地会出错,所以只能监听所有网卡,建议用外部防火墙过滤掉12345端口。
其中的dns国内解析使用了阿里的,如果使用本地DNS,需要修改路由。
流量拦截与转发
添加/usr/local/global.sh
文件,内容如下:
iptables可以采用持久化的形式,不过因为容易出错,我一般倾向于在脚本里写。
加速器搭建成功~
开机自动启动
在 /etc/rc.local
文件中加上以下几行,以后开机就可以自动开启服务了。
这里有一点需要注意,如果你的中继节点ip不是固定的,需要自己在ip变更的情况下修改客户端配置。
以上,就是自建游戏加速器的全部教程。
有看官可能要问了:折腾得这么麻烦,我直接买现成的加速器不好么?没错,有句话叫“世界加钱可及”,能用钱解决的问题,为啥还要花时间自己来折腾呢,况且省不了多少钱。其实我不玩那些FPS游戏,换了macOS之后对游戏也只能望洋兴叹,不过最近发现了GeForce Now这个宝贝,但是本地网络不佳,加上不是每一个应用都能设置代理,Proxifier又太贵了,实在是不觉得那玩意能值这么多钱。除此之外吧,自建加速器如果舍得花钱,可以比商业加速器得到更高的加速效果,而且不会因为使用人数太多带来质量下降;再有就是,不是所有游戏和终端都能用加速器加速,比如说不知名的小游戏,比如说switch。最后么,自建一个加速器还能睁开眼看看外面的世界,多么划算。
折腾了这么多,不由的有两个想法:外国的月亮就是更圆;有钱真好。真希望有一天,这片土地上不会再出现乐乐所说的真是闲的,花那么多钱搞自己人
。愿世界和平~
如果有对顶着国内高延迟玩Geforce Now是一种什么样的体验感兴趣的话,可以看一下我在油管贴的视频。文中使用了阿里云进行中转,国外使用了cn2gia线路。
原文链接:https://blog.newnius.com/convert-socks-proxy-to-global.html
原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/8003