背景:

  近期在搭建shadowsocks VPS的过程中,发现VPS搭建成功后,当本地与VPS之间的网络不顺畅时,经常会出现连接很忙,或者丢包率高的问题。所以考虑使用VPS加速软件,看看能不能加快并稳定***的连接。

  市面上比较常用的免费VPS加速软件有两款,finalspeed和scptun。我们公司在使用finalspeed的过程中,经常出现***不可用的情况,需要不定期重启finalspeed,不知道是不是版本的问题导致。

  故这里,我想换kcptun的方式来实现VPS的加速。



***架构:

  wKiom1hg0__hhbUwAAA3yEI613M766.png



操作:

VPS服务器(已部署shadowsocks):

1:首先购买一个国外的云服务器,并在服务器上部署shadowsocks ***服务。

 查看本地的shadowsocks监听端口(443):

# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address            Foreign Address             State       PID/Program name       
tcp        0      0 0.0.0.0:443         0.0.0.0:*                   LISTEN      52572/python2.6


2:部署kcptun服务端;

 下载kcptun一键安装脚本,根据提示一步一步安装:

# wget https://raw.githubusercontent.com/kuoruan/kcptun_installer/master/kcptun.sh
# sh kcptun.sh 
开始配置参数...
请输入 Kcptun 服务端运行端口 [1~65535]
(默认: 29900): 
---------------------------
端口 = 29900                                         -----kcptun服务端端口
--------------------------- 
是否禁用 IPv6?
(默认: 不禁用) [y/n]: n
---------------------------
不禁用IPv6
---------------------------
请输入需要加速的 IP [0.0.0.0 ~ 255.255.255.255]
(默认: 127.0.0.1):                                  ----VPS服务器地址
---------------------------
加速 IP = 127.0.0.1
---------------------------
请输入需要加速的端口 [1~65535]
(默认: 12948): 443                                  -----shadowsocks端口
---------------------------
加速端口 = 443
---------------------------
请输入 Kcptun 密码
(默认密码: it's a secrect): 123456
---------------------------
密码 = 123456
---------------------------
请选择加密方式(crypt):
(1) aes
(2) aes-128
(3) aes-192
(4) salsa20
(5) blowfish
(6) twofish
(7) cast5
(8) 3des
(9) tea
(10) xtea
(11) xor
(12) none
(默认: aes) 请选择 [1~12]: 
-----------------------------
加密方式 = aes
-----------------------------
请选择加速模式(mode):
(1) normal
(2) fast
(3) fast2
(4) fast3
(5) manual
(默认: fast) 请选择 [1~5]: 
---------------------------
加速模式 = fast
---------------------------
请设置 UDP 数据包的 MTU (最大传输单元)值
(默认: 1350): 
---------------------------
MTU = 1350
---------------------------
请设置发送窗口大小(sndwnd)
(数据包数量, 默认: 1024): 
---------------------------
sndwnd = 1024
---------------------------
请设置接收窗口大小(rcvwnd)
(数据包数量, 默认: 1024): 
---------------------------
rcvwnd = 1024
---------------------------
请设置前向纠错 datashard
(默认: 10): 
---------------------------
datashard = 10
---------------------------
请设置前向纠错 parityshard
(默认: 3): 
---------------------------
parityshard = 3
---------------------------
请设置差分服务代码点(DSCP)
(默认: 0): 
---------------------------
DSCP = 0
---------------------------
是否禁用数据压缩?
(默认: 不禁用) [y/n]: 
---------------------------
nocomp = false
---------------------------
请设置以哪个用户运行当前 Kcptun 实例
(默认: root): 
---------------------------
用户 = root
---------------------------
是否调整隐藏参数?
(默认: 否) [y/n]: 
配置完成, 按任意键继续...或者 Ctrl+C 取消

 脚本会根据以上配置安装kcptun,最后会给出kcptun的客户端参考配置信息,如下。

{
    "localaddr": ":8388",
    "remoteaddr": "xx.xx.xx.xx:29900",
    "key": "123456",
    "crypt": "aes",
    "mode": "fast",
    "conn": 1,
    "autoexpire": 60,
    "mtu": 1350,
    "sndwnd": 1024,
    "rcvwnd": 1024,
    "datashard": 10,
    "parityshard": 3,
    "dscp": 0,
    "nocomp": false,
    "acknodelay": false,
    "nodelay": 0,
    "interval": 20,
    "resend": 2,
    "nc": 1,
    "sockbuf": 4194304,
    "keepalive": 10
}


3:部署kcptun客户端。

 下载kcptun客户端,下载地址:https://github.com/xtaci/kcptun/releases/download/v20160906/kcptun-windows-amd64-20160906.tar.gz

 下载kcptun图形界面,下载地址:https://github.com/dfdragon/kcptun_gclient/releases

 把两个压缩包的内容解压到一起,如下:

 wKiom1hgzT_wjb0jAAA3-XzLuJs540.png

  创建config.json文件,把步骤2中客户端的配置信息写入。

  打开kcptun_gclient.exe,添加客户端,并导入client_windows_amd64.exe执行文件,和config.json配置文件,点击“启动”:

 wKioL1hgzgyQU2VjAAEsMalrmNg955.png

 

4:部署PC端shadowsocks:

 打开shadowsocksR程序,添加服务器。

 服务器IP:端口为本地kcptun的ip与端口,密码给kcptun服务端设置的密码:

 wKiom1hgzuLwNbXXAAA4ogcYimc787.png

 开启“允许来自局域网的连接”功能:

 wKioL1hgz5bTLDvTAAAziZJ2cPQ636.png


5:测试***:

 在chrome浏览器上,使用PC客户端部署的代理连接***。

 wKiom1hg0F-QfOUHAAAoG-EgUNs372.png

 测试登录谷歌:

 wKioL1hg0K7hYGr5AABYw3zAkhg394.png

 

  

 可以看到可以使用这个******了~~