gobetween icon indicating copy to clipboard operation
gobetween copied to clipboard

Provide DTLS support

Open drasko opened this issue 6 years ago • 5 comments

UDP proxying is supported, and so DTLS termination is needed.

drasko avatar Sep 14 '17 19:09 drasko

@drasko Thanks for the idea! Could you please describe possible use cases and the way you think it should be implemented in gobetween in terms of configuration, properties & etc? It would be very helpful.

yyyar avatar Oct 01 '17 09:10 yyyar

Use-case is the same as for TLS, but when you connect UDP clients.

For example, we at Mainflux provide CoAP support (server) for IoT devices. CoAP is very popular IoT protocol, and is UDP based. The idea is to use gobetween to do DTLS terminationon for CoAP and similar UDP-based protocols at the system entry (LB).

drasko avatar Oct 01 '17 10:10 drasko

Sorry for freezing this one for infinite time. It's good time to resurrect this issue. @illarion there is a library we could integrate to easily support DTLS termination: https://github.com/pion/dtls

yyyar avatar Jun 21 '19 11:06 yyyar

Here's a usecase:

  • For game servers Godot Engine is working on DTLS support. Since there is a lack of udp loadbalancers, this seems to be the the few systems that support udp load balancing. The idea is to do DTLS termination and then route to a random but hashed udp Godot server.

fire avatar Jun 30 '19 08:06 fire

Another usecase:

New IoT networks (NB-IoT) allow UDP connections to transfer data. We would like to encrypt this using DTLS. Our micro-service architecture could benefit from a TLS terminating load balancing solution like gobetween. We are very happy to use this without DTLS and it would be a great feature.

jvwag avatar May 07 '20 12:05 jvwag