diff --git a/articles/qubes-miragevpn.html b/articles/qubes-miragevpn.html new file mode 100644 index 0000000..b47e5a1 --- /dev/null +++ b/articles/qubes-miragevpn.html @@ -0,0 +1,84 @@ + + + + + + + + + Robur's blog - qubes-miragevpn, a MirageVPN client for QubesOS + + + + + + + + +
+

blog.robur.coop

+
+ The Robur cooperative blog. +
+
+
Back to index + +
+

qubes-miragevpn, a MirageVPN client for QubesOS

+

We are pleased to announce the arrival of a new unikernel: +qubes-miragevpn. The latter is the result of work begun +several months ago on miragevpn.

+

Indeed, with the ambition of completing our unikernel suite and the success of +qubes-mirage-firewall - as well as the general aims of +QubesOS - we thought it would be a good idea to offer this community a unikernel +capable of acting as an OpenVPN client, from which other virtual machines (app +qubes) can connect so that all their connections pass through the OpenVPN +tunnel.

+

QubesOS & MirageOS

+

Unikernels and QubesOS have always been a tempting idea for users in the sense +that a network application (such as a firewall or VPN client) could be smaller +than a Linux kernel: no keyboard, mouse, wifi management, etc. Just network +management via virtual interfaces should suffice.

+

In this case, the unikernel corresponds to this ideal where, starting from a +base (Solo5) that only allows the strictly necessary (reading and +writing on a virtual interface or block device) and building on top of it all +the application logic strictly necessary to the objective we wish to achieve +reduces, in effect, drastically:

+
    +
  1. the unikernel's attack surface
  2. +
  3. its weight
  4. +
  5. its memory usage
  6. +
+

We won't go into all the work that's been done to maintain and improve +qubes-mirage-firewall over the last 10 +years1, but it's clear that this particular unikernel has +found its audience, who aren't necessarily OCaml and MirageOS aficionados.

+

In other words, qubes-mirage-firewall may well be a +fine example of what can actually be done with MirageOS, and of real utility.

+
+

1: marmarek, Mindy or +mato were (and still are) heavily involved in the work between QubesOS +and MirageOS. We'd also like to thank them, because if we're able to continue +this adventure, it's also thanks to them.

+

QubesOS & MirageVPN

+

So, after a lengthy development phase for MirageVPN, we set about developing a +unikernel for QubesOS to offer an OpenVPN client as an operating system. We'd +like to give special thanks to Pierre Alain, who helped us to better +understand QubesOS and its possibilities.

+

The unikernel is available here: https://github.com/robur-coop/qubes-miragevpn +A tutorial has just been created to help QubesOS users install and configure +such an unikernel: https://robur-coop.github.io/miragevpn-handbook/

+

In the same way as qubes-mirage-firewall, we hope to +offer a solution that works and expand the circle of MirageOS and unikernel +users!

+ +
+ +
+ + + + diff --git a/feed.xml b/feed.xml index 82086ad..755b860 100644 --- a/feed.xml +++ b/feed.xml @@ -1 +1 @@ -Robur's bloghttps://blog.robur.coopThe Robur cooperative blogyocamlteam@robur.coopMirageVPN serverhttps://blog.robur.coop/articles/miragevpn-server.htmlMon, 17 Jun 2024 10:00:00 GMTAnnouncement of our MirageVPN server.https://blog.robur.coop/articles/miragevpn-server.htmlSpeeding up MirageVPN and use it in the wildhttps://blog.robur.coop/articles/miragevpn-performance.htmlTue, 16 Apr 2024 10:00:00 GMTPerformance engineering of MirageVPN, speeding it up by a factor of 25.https://blog.robur.coop/articles/miragevpn-performance.htmlGPTarhttps://blog.robur.coop/articles/gptar.htmlWed, 21 Feb 2024 10:00:00 GMTHybrid GUID partition table and tar archivehttps://blog.robur.coop/articles/gptar.htmlSpeeding elliptic curve cryptographyhttps://blog.robur.coop/articles/speeding-ec-string.htmlTue, 13 Feb 2024 10:00:00 GMTHow we improved the performance of elliptic curves by only modifying the underlying byte arrayhttps://blog.robur.coop/articles/speeding-ec-string.htmlCooperation and Lwt.pausehttps://blog.robur.coop/articles/lwt_pause.htmlSun, 11 Feb 2024 10:00:00 GMTA disgression about Lwt and Miouhttps://blog.robur.coop/articles/lwt_pause.htmlPython's `str.__repr__()`https://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlSat, 03 Feb 2024 10:00:00 GMTReimplementing Python string escaping in OCamlhttps://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlMirageVPN updated (AEAD, NCP)https://blog.robur.coop/articles/miragevpn-ncp.htmlMon, 20 Nov 2023 10:00:00 GMTHow we resurrected MirageVPN from its bitrot statehttps://blog.robur.coop/articles/miragevpn-ncp.htmlMirageVPN & tls-crypt-v2https://blog.robur.coop/articles/miragevpn.htmlTue, 14 Nov 2023 10:00:00 GMTHow we implementated tls-crypt-v2 for miragevpnhttps://blog.robur.coop/articles/miragevpn.html \ No newline at end of file +Robur's bloghttps://blog.robur.coopThe Robur cooperative blogyocamlteam@robur.coopqubes-miragevpn, a MirageVPN client for QubesOShttps://blog.robur.coop/articles/qubes-miragevpn.htmlMon, 24 Jun 2024 10:00:00 GMTA new OpenVPN client for QubesOShttps://blog.robur.coop/articles/qubes-miragevpn.htmlMirageVPN serverhttps://blog.robur.coop/articles/miragevpn-server.htmlMon, 17 Jun 2024 10:00:00 GMTAnnouncement of our MirageVPN server.https://blog.robur.coop/articles/miragevpn-server.htmlSpeeding up MirageVPN and use it in the wildhttps://blog.robur.coop/articles/miragevpn-performance.htmlTue, 16 Apr 2024 10:00:00 GMTPerformance engineering of MirageVPN, speeding it up by a factor of 25.https://blog.robur.coop/articles/miragevpn-performance.htmlGPTarhttps://blog.robur.coop/articles/gptar.htmlWed, 21 Feb 2024 10:00:00 GMTHybrid GUID partition table and tar archivehttps://blog.robur.coop/articles/gptar.htmlSpeeding elliptic curve cryptographyhttps://blog.robur.coop/articles/speeding-ec-string.htmlTue, 13 Feb 2024 10:00:00 GMTHow we improved the performance of elliptic curves by only modifying the underlying byte arrayhttps://blog.robur.coop/articles/speeding-ec-string.htmlCooperation and Lwt.pausehttps://blog.robur.coop/articles/lwt_pause.htmlSun, 11 Feb 2024 10:00:00 GMTA disgression about Lwt and Miouhttps://blog.robur.coop/articles/lwt_pause.htmlPython's `str.__repr__()`https://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlSat, 03 Feb 2024 10:00:00 GMTReimplementing Python string escaping in OCamlhttps://blog.robur.coop/articles/2024-02-03-python-str-repr.htmlMirageVPN updated (AEAD, NCP)https://blog.robur.coop/articles/miragevpn-ncp.htmlMon, 20 Nov 2023 10:00:00 GMTHow we resurrected MirageVPN from its bitrot statehttps://blog.robur.coop/articles/miragevpn-ncp.htmlMirageVPN & tls-crypt-v2https://blog.robur.coop/articles/miragevpn.htmlTue, 14 Nov 2023 10:00:00 GMTHow we implementated tls-crypt-v2 for miragevpnhttps://blog.robur.coop/articles/miragevpn.html \ No newline at end of file diff --git a/index.html b/index.html index 7870c1a..91209a7 100644 --- a/index.html +++ b/index.html @@ -26,6 +26,19 @@

Essays and ramblings

  1. + +
    + 2024-06-24 + qubes-miragevpn, a MirageVPN client for QubesOS
    +

    A new OpenVPN client for QubesOS

    + +
    +
  2. diff --git a/tags/community.html b/tags/community.html index c26267a..23a6994 100644 --- a/tags/community.html +++ b/tags/community.html @@ -23,7 +23,7 @@
    Back to index - +

    community diff --git a/tags/cryptography.html b/tags/cryptography.html index 2606fe7..5cec0c3 100644 --- a/tags/cryptography.html +++ b/tags/cryptography.html @@ -23,7 +23,7 @@
    Back to index - +

    cryptography diff --git a/tags/git.html b/tags/git.html index 62ae2a9..fe5f870 100644 --- a/tags/git.html +++ b/tags/git.html @@ -23,7 +23,7 @@
    Back to index - +

    git diff --git a/tags/gpt.html b/tags/gpt.html index 2bb4a5e..5d05cfe 100644 --- a/tags/gpt.html +++ b/tags/gpt.html @@ -23,7 +23,7 @@
    Back to index - +

    gpt diff --git a/tags/mbr.html b/tags/mbr.html index 13dc763..1c28b3c 100644 --- a/tags/mbr.html +++ b/tags/mbr.html @@ -23,7 +23,7 @@
    Back to index - +

    mbr diff --git a/tags/mirageos.html b/tags/mirageos.html index 4bed805..86cea6b 100644 --- a/tags/mirageos.html +++ b/tags/mirageos.html @@ -23,7 +23,7 @@
    Back to index - +
    diff --git a/tags/performance.html b/tags/performance.html index 5a4e4a1..8fb3aad 100644 --- a/tags/performance.html +++ b/tags/performance.html @@ -23,7 +23,7 @@
    Back to index - +

    performance diff --git a/tags/persistent storage.html b/tags/persistent storage.html index 504b438..728674d 100644 --- a/tags/persistent storage.html +++ b/tags/persistent storage.html @@ -23,7 +23,7 @@
    Back to index - +

    persistent storage diff --git a/tags/python.html b/tags/python.html index 25e5983..db861e4 100644 --- a/tags/python.html +++ b/tags/python.html @@ -23,7 +23,7 @@
    Back to index - +

    python diff --git a/tags/qubesos.html b/tags/qubesos.html new file mode 100644 index 0000000..3cc1696 --- /dev/null +++ b/tags/qubesos.html @@ -0,0 +1,41 @@ + + + + + + + + + Robur's blog + + + + + + + + +
    +

    blog.robur.coop

    +
    + The Robur cooperative blog. +
    +
    +
    Back to index + + + + + +
    + + + + diff --git a/tags/scheduler.html b/tags/scheduler.html index 98ce9eb..20774fd 100644 --- a/tags/scheduler.html +++ b/tags/scheduler.html @@ -23,7 +23,7 @@
    Back to index - +

    scheduler diff --git a/tags/security.html b/tags/security.html index 1a16d14..c99f685 100644 --- a/tags/security.html +++ b/tags/security.html @@ -23,7 +23,7 @@
    Back to index - +

    security diff --git a/tags/tar.html b/tags/tar.html index ecbce49..e5752b4 100644 --- a/tags/tar.html +++ b/tags/tar.html @@ -23,7 +23,7 @@
    Back to index - +

    tar diff --git a/tags/unicode.html b/tags/unicode.html index 62eabdb..0504f7e 100644 --- a/tags/unicode.html +++ b/tags/unicode.html @@ -23,7 +23,7 @@
    Back to index - +
    diff --git a/tags/vpn.html b/tags/vpn.html index 0cbdffd..6e8507b 100644 --- a/tags/vpn.html +++ b/tags/vpn.html @@ -23,12 +23,12 @@
    Back to index - +

    +