RSS订阅专注X86/ARM架构技术
WINGY安卓苹果线路购买加微信号wmhlvip
你现在的位置:网站首页 / Linux / 正文内容

kcptun最新教程

21530 Linux | 2017年04月19日

Kcptun是一个非常简单和快速的,基于KCP协议的UDP隧道,它可以将TCP流转换为KCP+UDP流。而KCP是一个快速可靠协议,能以比TCP浪费10%-20%的带宽的代价,换取平均延迟降低 30%-40%,且最大延迟降低三倍的传输效果。 
Kcptun是KCP协议的一个简单应用,可以用于任意TCP网络程序的传输承载,以提高网络流畅度,降低掉线情况。由于Kcptun使用Go语言编写,内存占用低(经测试,在64M内存服务器上稳定运行),而且适用于所有平台,甚至Arm平台。

kcptun下载地址:https://github.com/xtaci/kcptun/releases

Kcptun服务端搭建

用Xshell或者Putty登陆服务器,下载Kcptun:

mkdir /root/kcptun

cd /root/kcptun

wget https://github.com/xtaci/kcptun/releases/download/v20170329/kcptun-linux-amd64-20170329.tar.gz

tar -zxvf kcptun-linux-amd64-20170329.tar.gz

注意:我这里下载的是kcptun-linux-amd64-20170329.tar.gz,根据你当前的版本选择!

创建启动服务:

vi /root/kcptun/start-kcptun.sh

按i粘贴以下内容:

#!/bin/bash

cd /root/kcptun/

./server_linux_amd64 -l :2006 -t 127.0.0.1:7777 --crypt none --nocomp --datashard 10 --parityshard 3 --mtu 1350 --sndwnd 512 --rcvwnd 512 --dscp 46 --mode fast2 > kcptun.log 2>&1 &

echo "Kcptun started"

保存即可

注意:

我这里是server_linux_amd64,根据你的情况更改;

127.0.0.1是你的VPS的IP,这里直接写你自己服务器的IP地址;

监听端口为2006,这个数字是你自己起的,7777为你的服务端口(也就是使用kcptun前连接的端口号),"   --crypt none " ,意思是通信是不加密的,其他参数不做介绍。

创建关闭服务:

vi /root/kcptun/stop.sh

按i粘贴以下内容:

#!/bin/bash

PID=`ps -ef | grep server_linux_amd64 | grep -v grep | awk '{print $2}'`

if [ "" != "$PID" ]; then

 echo "killing $PID"

 kill -9 $PID

else

 echo "Kcptun not running!"

fi

保存即可

创建重启服务:

vi /root/kcptun/restart.sh

按i粘贴以下内容:

#!/bin/bash

cd /root/kcptun/

echo "Stopping Kcptun..."

bash stop.sh

bash start.sh

echo "Kcptun started."

至此为止启动、关闭和重启创建完成!


启动服务:

为了确保之前的操作步骤都正确,所以我们要确认服务是否真的启动了!

用#ps aux命令来查看,正在运行的进程(下图为没启动start-kcptun.sh时的状态);

1.png

输入以下命令启动

sh /root/kcptun/start-kcptun.sh

启动后的状态

2.png

如上两张图所示,服务已经启动,至此服务端配置完毕!

添加开机启动:

Centos系统:

chmod +x /etc/rc.d/rc.local && echo "sh /root/kcptun/start-kcptun.sh" >> /etc/rc.d/rc.local

Ubuntu/Debian系统:

chmod +x /etc/rc.local && echo "sh /root/kcptun/start-kcptun.sh" >> /etc/rc.local


Android客户端配置

android版本最新的是测试版4.0.1,把kcp专门弄成了一个插件,所以,需要分别从github上下载android版本和kctun插件

最新安卓客户端下载地址https://github.com/shadowsocks/shadowsocks-android/releases

kctun插件https://github.com/shadowsocks/kcptun-android/releases

安装好kcptun插件后,会在android配置文件设置中看到"插件",然后点击"kcptun",就会有"配置...",这里就是填写kcp的参数:

mtu=1350;nocomp;rcvwnd=1024;parityshard=3 ;nodelay =1 ;resend=5 ;mode =manual ;interval =20 ;crypt=none;autoexpire= 20; acknodelay ; sockbuf= 4194304 ;nc= 1;datashard=10; dscp=46 ;keepalive=10; sndwnd=1024

适用大部分ADSL接入(非对称上下行)的参数(实验环境电信50M ADSL)。

其它带宽请按比例调整,比如 25M ADSL,把 CLIENT 的 –sndwnd –rcvwnd 减掉一半,SERVER 不变。

基本原则:SERVER 的发送速率不能超过 ADSL 下行带宽,否则只会浪费您的服务器带宽。

注意:

1、需要关闭udp转发 需要关闭udp转发 需要关闭udp转发!如果开启了udp转发,无法打开网页,但是测试能连通

2、kcptun实际消耗服务器两倍流量


结语:本篇文章没有太多介绍所谓的参数含义,当然如果你想弄清楚这些参数的含义,如果你是从上到下按照本篇文章配置的还是失败,那么我建议你,检查下你的防火墙,版本号是否对应,服务是否正常已经启动了等等!


参考链接:http://blog.csdn.net/elegance_zf/article/details/54090963

http://www.jianshu.com/p/fd40dc54a187

http://51.ruyo.net/p/1835.html

http://www.dabu.info/android-shadowsocks-use-kcp-speed-up.html


上一篇:frp-内网穿透详细配置教程

下一篇:FRP一键注册为LINUX服务可开机启动脚本

猜你喜欢