Hi,
this is not quite -devel topic, but I figure the correct recipients of
the following message are primarily reading this list.
TL;DR: THANK YOU so much for OpenVPN 2.7 + DCO
We operate several large EduVPN clusters for German Universities.
Although the upstream EduVPN maintainers are primarily looking at
Wireguard these days, we have been in the OpenVPN camp forever (possibly
because I am the Debian OpenVPN maintainer :-) ).
We had been trying 2.6+dco a couple of times last year, but always
observed weird crashes and lockups and went back to the normal stuff.
EduVPN works around the single-core limitation of OpenVPN by splitting
the pools in several chunks and distributing them on several UDP ports,
while we also set aside one chunk for 443/udp and 443/tcp each. This
worked well enough without DCO.
For sudden reasons not caused by us, our concurrent VPN users increased
by more than 800% this week. We have mostly been hit by an overload of
our designated VPN user pools, which could not be easily increased. It
was additionally worsened by the pool splits, which meant that parts of
the pools were running hot, while others still had spare capacity (most
notably the 443/tcp one). So we needed some change.
We had asked the EduVPN maintainers to support the OpenVPN 2.7
multi-socket feature, which they happily did about 6 months ago. It
basically drops all this pool splitting thing and runs a single OpenVPN
process, listening to multiple sockets using multi-socket support in
2.7. To overcome the single-core limitation DCO is recommended.
https://docs.eduvpn.org/server/v3/openvpn.html#single-process
Anyway, long story short. We now have 8000 concurrent OpenVPN users in
our setup. They are distributed to four nodes, each running
* Debian 13, Nutanix VM, 2vCPU, 4GB RAM
* official trixie-backports OpenVPN 2.7.7-1~bpo13 distribution package
* official trixie-backports kernel 7.1.13-1~bpo13+1 with the in-tree DCO
* multi-socket single process, listening to 7 UDP + 1 TCP port on both
IPv4 and IPv6
and it just works. I don't think we're close to hitting a wall yet, even
under peak load with almost 2000 users on that single process the
connection is snappy. I just spun a test VM and ran a non-DCO openvpn
against that production cluster, and it happily reaches 400+ Mbit/s
through iperf3. I think that's limited by the test VM. The load of the
server is around 0.20 .
We have seen two segfaults during the night, but I hope they go away
upgrading to 2.7.8. If not I will report here. The process was restarted
by systemd and noone noticed.
Thank you all for making OpenVPN 2.7 and ovpn DCO and all the
surrounding stuff possible! And kudos to the EduVPN maintainers as well
of course.
Best Regards and have a nice weekend,
Bernhard
_______________________________________________
Openvpn-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openvpn-devel