月下博客

SS/SSR服务器IP被墙 TCP阻断解决方案汇总

 

 

关于TCP阻断

在国外VPS服务器上搭建Shadowsocks/ShadowdsocksR,如果设置不当,有一定的机率会被GFW墙掉。

如何避免被墙?可以参考:安全使用SSR的一些注意事项 避免VPS服务器被墙

 

服务器被墙分为几个级别,其中TCP阻断是目前较为主流的封锁方式。如何检测VPS是否被TCP阻断,可以点此查看

TCP阻断的表现形式:

 

解决TCP阻断的思路

在TCP阻断的封禁模式下,国外服务器上的所有TCP流量,都无法在国内正常连接。而SSH、HTTP流量、SS/SSR流量,走的恰好就是TCP流量。

在TCP流量被阻断的同时,其它协议,比如ICMP、UDP等流量,是可以正常连接的。

根据以上情况,我们可以将服务器上的Shadowsocks/ShadowsocksR使用的TCP流量,在服务器内部转化为UDP流量发出来。经过这样转化后,就可以正常在国内连接了。

 

解决TCP阻断的两种方法

根据以上思路,下面我们提供两种具体方案:

方案一:在VPS服务器上安装KCPTUN

KCPTUN是一款服务器网络加速工具,加速效果极为明显,开发本意并不是用来解决IP被墙、服务器被TCP阻断的。

但是KCPTUN的一大特点,就是将服务器某个端口的TCP流量,转变为KCPTUN协议的UDP流量发出,所以正好可以用来解决TCP阻断问题。

KCPTUN的运行,需要分别使用服务器端和客户端,连接成功后,就可以突破TCP阻断,顺便享受网络加速效果。

KCPTUN服务器端一键安装:

超级加速工具KCPTUN一键安装脚本 附100倍加速效果图

提示:KCPTUN在服务器上安装比较简单,并且不挑架构(OVZ/KVM),不挑系统(CentOS/Debian/Ubuntu)。

 

KCPTUN各平台客户端下载:

KCPTUN各平台客户端下载汇总 附KCPTUN搭建流程

 

方案二:在服务器上安装V2ray科学上网

V2ray是科学上网领域的后起之秀,自带mkcp加速,可以选择流量以TCP协议发出,或是UDP协议发出。

由于以上特点,我们将V2ray设置为使用UDP流量,就可以解决服务器TCP阻断问题。

V2ray服务器端一键安装:

V2Ray一键安装脚本 自带图形化界面控制面板

提示:在部分服务器系统版本中,可能会安装不成功,建议在纯净系统安装。

 

V2ray各平台客户端下载:

V2Ray各平台客户端下载汇总 带图形化界面!

 

如何将V2ray流量以UDP协议发出:

以V2ray Windows客户端为例,将V2ray服务器连接参数中的如下两项:

 

以上为V2ray客户端设置,服务端也有传输协议设置,不要选择默认的TCP,可以设置为mkcp。

经过以上设置后,V2ray的流量,将以UDP的形式发出,也可以避开TCP阻断。

 

SSH端口还是无法连接?

以上两种方案,只能解决SS/SSR所用端口的流量转换,并不能解决其它端口的TCP流量被阻断问题。

也就是说,设置之后,可以正常科学上网,但是直接SSH连接服务器,可能还是连不上,无法用Winscp/Putty等工具对服务器进行管理。

如何解决:

VPS服务器可以正常科学上网后,可以采取 自己代理自己 的方式,即通过相关设置,让Winscp/Putty,通过同一服务器上的SS/SSR/V2ray代理中转连接,连接成功后就可以正常使用了。

相关内容可以参考:

为Winscp添加代理设置,通过SSR中转连接至服务器

SSR端口转发 不借助其它工具使电脑任意软件走代理