-
Notifications
You must be signed in to change notification settings - Fork 2.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Please add udp transparent packages such as dns udp packages #917
Comments
It would be great to have. otherwise the walk around would look like udp -> udptunnel(tcp) -> kcp(udp) -> udptunnel(tcp) -> udp |
to bind a single UDP port on client side to external server port via server? |
It seems this feature is not useful if we can only do remote port forwarding on a SINGLE port |
An ideal solution is to create tun devices between client and server, by manipulation of iptables, all UDP packets could be carried to remote server, and then the remote server could initates connection pairs to any endpoints and then forward back packets. |
kcptun with multi-port support is quite powerful. But wireguard does not have this feature yet. |
The question is , How users will use this UDP port forward feature. |
wireguard does not tunnel over TCP To build an Wireguard virtual lan, in the endpoint configuration, it is usually set to an public ip with an UDP port, on which the remote wireguard listen to. But I notices that a static UDP port configured got to be blocked (by you know what) after a few hours. Then I would have to change the configuration. So I think it would be great if I could empower wireguard with kcptun and its port range feature. |
https://www.jianshu.com/p/55c0259d1a36 https://develop.socks-proto.cpp.al/socks/protocol/requests_and_replies/udp_associate.html https://ph4ntonn.github.io/Socks5-UDP A possible solution is UDP Associate maybe ss-libev(UDP) -> client(UDP) -> KCP packets -> server(UDP) -> ss-libev(UDP) -> UDP packets is feasible. |
So, do you guys think supporting carrying packets of "single port UDP Associate" could satisfy the requirements? |
that seems solved the problem, an external UDP to TCP protocol conversion seems simple and elegant. One only have to start another kcp instance pair. |
The issue is compatibility, I have to implement a special smux stream inside kcp channel, this smux stream could be identified by kcp server easily, such as inserting a magic number of 16 Bytes at the beginning of the stream. Meanwhile, on the kcp server side, this magic stream must be identified by the program to be treated as UDP forwarding packets streams. And the changes above is not compatible with previous versions. |
By adding an extra parameter -enableUDP is sufficient, program can bind UDP+TCP on the same port. But the development needs some time, I can only work on this feature when I'm free. But suggestions are appreciated. |
If someone willing to implement a Proof of Concept UDP stream, I'm willing to participate. |
Which udp to tcp conversion tool do you suggest? I have tried udp2raw and datagramTunneler, but both don't seem to work on kcptun tcp-over-udp tunneling. |
多端口支持,请给一个json配置文件的示例 |
期待这个功能。 |
我尽可能的来参与验证这个功能 |
我用原版KCP试了下,转发UDP完全没问题,高流量时速率十分稳定,流量曲线比TCP更加平滑。 只不过我是用C++做的,并且写得版面混乱,冗余代码一堆,对于Golang项目而言可能没什么帮助。 |
Default packaging TCP ->kcp (udp) ->TCP
The text was updated successfully, but these errors were encountered: