v2ray – kcp配置指南,解决tcp不通的问题

一、kcp介绍

kcp基于传输层的udp协议来进行数据传输,相对于传统的tcp协议来说,可能可以提高网速,降低响应时间。

根据我实际测试的情况来看,kcp会导致网速变慢,耗流量更多,主要是因为运营商对udp数据包的优先级做了调整,导致udp数据包丢包率较高,服务端不得不重复发包。出现的情况就是你明明看到服务器出口网速飚得非常高,但是你这边接收的网速却比较低。我自己的测试情况是如此,但是不同的地区不同的线路可能会出现不同的结果,具体需要自己测试。

v2ray默认使用tcp来传输数据,如果你的tcp可以正常使用,那么不建议你使用kcp,如果你的服务器tcp不通,但是udp通的话,并且不想换IP,那么倒可以试一试kcp。

二、基于VMess协议的kcp配置

1. 配置服务端

如果你还没有安装v2ray的话,请先看这篇文章安装使用v2ray。

我只建议在VMess协议上启用kcp,只需要在vmess协议的inbound里面加入streamSettings即可,network配置成kcp,具体配置如下(第6-8行):

注意settings末尾不要忘记加逗号

{
  "inbounds": [{
    "port": 你的端口号,
    "protocol": "vmess",
    "settings": { ... },
    "streamSettings": {
      "network": "kcp"
    }
  }],
  "outbounds": [ ... ],
  "routing": { ... }
}

然后重启服务端,并查看是否重启成功

systemctl restart v2ray
systemctl status v2ray

service v2ray restart
service v2ray status
查看v2ray状态

如果启动失败,很有可能是你配置文件格式有错误,请仔细检查JSON格式是否有误。

2. 配置客户端

服务端由默认的tcp改成了kcp,客户端也需要修改为对应的配置,具体如下:

Windows客户端

主要将传输协议改成kcp,其余保持原样。

Windows配置

安卓客户端

同样的,安卓客户端也只需修改传输协议为mkcp。

macOS客户端

macOS客户端也是一个道理,这里就不截图了。

iOS客户端

我目前还没有发现支持kcp协议的iOS客户端,如果你知道,可以在评论里留言告诉大家。

经评论区的小伙伴提醒,Kitsunebi 可支持 v2ray 的 kcp 协议。

三、总结

对于我来说,kcp的使用效果没有正常的tcp来得好,仅仅是作为tcp不通的状况下的替代品,当然也不排除kcp比tcp好的情况,具体需要你自己进行实际测试才知道。

这篇文章有 8 个评论

  1. 头像

    TCP不通 UDP通 ,用kcp协议也没用,亲测

  2. 头像

    最近移动4g网络不能用v2ray,我用的是kcp协议,不知道为什么,前几天还可以的,无线一直可以,就是4g不行了,但是另外一个ws协议还是可以的

  3. 头像

    删掉streamSetting后注意把上面的逗号也删掉,因为json默认最后一项后没有逗号

  4. 头像

    我虽然是新手,但是输入streamSetting后就不能正常启动了,格式应该是没有错误,反复核对过。删掉添加进去的内容,就仍然可以正常启动

    1. sprov

      删掉能启动,加上去就不能启动了,又是个新手,你说除了配置有问题还有什么原因呢

    2. 头像

      不能正常启动是因为json文件格式不对,比如 “streamSettings”: {
      “network”: “kcp” (这里是设置最后一项,没有,号)
      }(这里是设置最后一项,没有,号)

      但是你如果设置文件是这样的
      “streamSettings”: {
      “network”: “kcp”, (因为后面有别的设置所以要加,号)
      “setting”: {} (这里是设置最后一项,没有,号)
      },(因为后面有别的设置所以要加,号)
      “settings”: { … }(这里是设置最后一项,没有,号)
      讲起来简单,就是json每个设置的最后是没有,号,其他要,号。但是记事本编辑时及其容易出错,因为你搞不清那个设置到底是不是最后设置,建议用有错误提示的编辑器编辑Json。要不要浪费很多时间。

  5. 头像

    对,ios上Kitsunebi可以支持mkcp,也可以导入配置文件

  6. 头像

    kitsunebi应该是完美支持v2ray功能的吧,另外使用kcp最好搭配udp加速和Udpdraw,前者加速UDP速度,后者防止运营商干扰。

发表评论

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

关闭菜单