katalix / go-l2tp

Go library for building L2TP applications on Linux systems
MIT License
48 stars 15 forks source link

Make kl2tpd the default NetworkManager-l2tp L2TP daemon #2

Closed dkosovic closed 3 years ago

dkosovic commented 3 years ago

I'm the current NetworkManager-l2tp maintainer and would like to make kl2tpd its default L2TP daemon and fallback to xl2tpd if it can't find it.

The source code changes would be based heavily on https://github.com/katalix/NetworkManager-l2tp . I would need to add some conditionals to the generated ipsec configuration tweak to also work with libreswan where left|rightprotoport haven't been deprecated.

Is there an option to not use an ephemeral port? I've had lots of users report issues with not being able to connect if an ephemeral port is used with xl2tp, e.g. issue https://github.com/nm-l2tp/NetworkManager-l2tp/issues/38 . I guess I might need to make an ephemeral port GUI option.

dkosovic commented 3 years ago

It was pretty obvious how to set the source port after looking at the local option in the TOML example config in https://github.com/katalix/go-l2tp/blob/master/config/config.go

I'm still deciding if and how to do a ephemeral port GUI option without breaking things for users using other NetworkManager-l2tp GUI front ends such as KDE plasma-nm and Deepin which wouldn't have the option, e.g. some users can only connect if source port is 1701, some others can only connect with ephemeral while majority can connect with either.