blog.robur.coop/articles/miragevpn-server.md

2.2 KiB

date article.title article.description tags author coauthors
2024-06-17 MirageVPN server Announcment of our MirageVPN server.
OCaml
MirageOS
cryptography
security
VPN
name email link
Hannes Mehnert hannes@mehnert.org https://hannes.robur.coop
author contribution
name email link
Reynir Björnsson reynir@reynir.dk https://reyn.ir/
What is this field used for?

It is a great pleasure to finally announce that we have finished a server implementation for MirageVPN (OpenVPN™-compatible). This allows to setup a very robust VPN network on both the client and the server side.

As announced last year, MirageVPN is a reimplemtation of OpenVPN™ in OCaml, with MirageOS unikernels.

Why a MirageVPN server?

Providing Internet services with programming languages that have not much safety requires a lot of discipline by the developers to avoid issues which may lead to exploitable services that are attacked (and thus will circumvent any security goals). Especially services that are critical for security and privacy, it is crucial to avoid common memory safety pitfalls.

Some years back, when we worked on the client implementation, we also drafted a server implementation. The reasoning was that a lot of the code was already there, and just a few things needed to be developed to allow clients to connect there.

Now, we spend several months to push our server implementation into a state where it is usable and we are happy for everyone who wants to test it. We also adapted the modern ciphers we recently implemented for the client, and also tls-crypt and tls-crypt-v2 for the server implementation.

The overall progress was tracked in this issue. We developed, next to the MirageOS unikernel, also a test server that doesn't use any tun interface.

Please move along to our handbook with the chapter on MirageVPN server.

If you encounter any issues, please open an issue at the repository.