kcptun基于KCP协议的UDP隧道-将TCP流转换为KCP-UDP流

适用于低延迟高速率要求的应用,据说传输效率可以加倍X2+

有什么用

通过UDP隧道,加速端到端的远程传输(点对点p2p传输,封装为UDP的KCP数据)

Kcptun 是一个简单和快速的,基于 KCP 协议的 UDP 隧道,它可以将 TCP 流转换为 KCP+UDP 流。

怎么用

部署和配置简单

讲一种例子:

  1. 远程/远距离客户端的某一个应用,需要访问服务的网段内的某个特定TCP服务(比如游戏或IPTV)。
  2. 通过启动远程客户端的路由器#1上的kcptun client(监听本地端口,然后指定服务器IP和端口,加密信息),这个kcptun客户端监听的端口就是本地应用要连接使用的端口。
  3. 去连接服务器(从路由器#2的端口转发)的特定kcp server(监听服务器端口,然后指定发往本地特定服务[TCP服务的IP地址和端口])
  4. 这样加密并封装过的整条链路就建立在UDP上了,据说传输效率可以加倍X2+

以下是两个使用docker应用kcptun的实例

实际用例1:

https://hub.docker.com/r/lowid/kcptun

如果按要封装的服务是服务器上的socks代理:

server side (kcp+socks) compose file

kcp-server:
  image: lowid/kcptun:v20170329
  command:
    --listen :29900
    --target dante-server:1080
    --mode fast2
  ports:
    - "30003:29900/udp"
  environment:
    - KCPTUN_KEY=your_password
  links:
    - dante-server
  restart: always

dante-server:
  image: vimagick/dante
  expose:
    - "1080"
  volumes:
    - ./sockd.conf:/etc/sockd.conf
  restart: always

server side sockd.conf

debug: 0
logoutput: stderr
internal: 0.0.0.0 port = 1080
external: eth0
socksmethod: username none
clientmethod: none
user.privileged: root
user.unprivileged: nobody

client pass {
    from: 0.0.0.0/0 port 1-65535 to: 0.0.0.0/0
    log: error
}

socks pass {
    from: 0.0.0.0/0 to: 0.0.0.0/0
    #socksmethod: username
    log: error
}

client side compose file

client:
  image: lowid/kcptun:v20170329
  entrypoint: client_linux_amd64
  command:
    --localaddr :12948
    --remoteaddr server_ip_address:30003
    --mode fast2
  ports:
    - "12948:12948/tcp"
  environment:
    - KCPTUN_KEY=your_password
  restart: always

实际用例2:

$ docker pull chenhw2/kcptun

$ docker run -d \
    -e "ARGS=server -t 10.0.0.1:80" \
    -p 29900:29900/udp \
    chenhw2/kcptun


#客户端
$ docker run -d \
    -e "ARGS=client -r [kcp_server]:29900" \
    -p 12948:12948/tcp \
    chenhw2/kcptun

相关内容

实现方法

放弃docker的方式。

KCP Server:

./server_linux_amd64 -t "192.168.6.243:8012" -l ":29900" -mode fast3 -nocomp -dscp 46 --ke...
......
# [继续阅读](https://carlzeng.top/202401042040.html)
 [请点击访问最新版内容](https://carlzeng.top/202401042040.html)
posted @ 2024-01-16 09:38  CarlZeng  阅读(303)  评论(0编辑  收藏  举报