Wireguard-ontwikkelaar werkt aan Windows-kernelimplementatie

Vpn-protocol WireGuard krijgt een aparte implementatie voor de Windows-kernel. De software is geport van de Linux-kernelversie. Volgens de makers is de software daarmee wel zes keer sneller dan de huidige versie, met name via wifiverbindingen.

WireguardNT is volgens de makers een directe port van de Linux-codebase van de software. Het gaat om een implementatie van de vpn die direct voor de Windows-kernel beschikbaar is. Op dit moment maakt WireGuard voor Windows gebruik van een Go-codebase die crossplatform werkt, met een TUN-driver genaamd wintun. Door direct in de kernel te worden geïmplementeerd hoeft niet eerst die codebase te worden aangesproken en te worden gecommuniceerd via de driver. Dat maakt de vpn een stuk sneller, zeggen de makers.

De ontwikkelaars zeggen op een bedrade verbinding een maximale snelheid van 7,5Gbit/s te halen tijdens een test, al geven ze toe dat dat voor de meeste gebruikers weinig relevant is. De echte winst zou in wifiverbindingen zitten. Die zou met het gebruik van wireguard-nt net zo snel zijn als de oude WireGuard-verbinding via een ethernetverbinding, en ruim zes keer zo snel worden als een wifiverbinding zonder wireguard-nt. De makers zeggen het protocol nog verder te optimaliseren in de toekomst. "Maar alleen al door in de kernel te zitten verlagen we de latentie en verdwijnen switch-problemen die we nu hebben."

De kernelversie van WireGuard zit nog in een vroege fase. De makers noemen het 'experimenteel'. Er zijn nog drie ontwikkelfases nodig voordat wireguard-nt beschikbaar kan komen, waarbij de oude codebase definitief uit de Windows-client wordt verwijderd. Wanneer dat ongeveer gaat gebeuren zeggen de ontwikkelaars niet.

Door Tijs Hofmans

Nieuwscoördinator

03-08-2021 • 17:02

36 Linkedin

Reacties (36)

36
36
31
2
0
1
Wijzig sortering
Onze vrienden van Ars Technica hebben ook wat meetresultaten van de WireguardNT kernel driver geplaatst. Hij doet het best goed: https://arstechnica.com/g...ental-wireguardnt-driver/ Ik vond dat wel informatief (en goed nieuws).
Vpn-dienst WireGuard
Sinds wanneer is Wireguard een "dienst"? Dit is toch gewoon opensource software/protocol?

[Reactie gewijzigd door jordynegen11 op 3 augustus 2021 18:58]

Precies. Het is een VPN protocol! Een VPN dienst die op Wireguard gebouwd is is bijv. Tailscale.
Of 'gewoon' Mullvad, die naast OpenVPN ook WireGuard ondersteuning heeft.

Er zullen er wel meer zijn. Voor 'simpele' verbindingen is WireGuard ideaal.

[Reactie gewijzigd door The Zep Man op 3 augustus 2021 17:57]

Volgens mij is mullvad ‘gewoon’ een commerciële vpn-boer.

WireGuard en OpenVPN zijn ‘gewoon’ protocollen die vpn-connectie mogelijk maken.

OpenVPN is relatief oud maar best solide en veel (diepgaande) mogelijkheden; hierdoor is deze “traag” in verhouding tot de ‘minder regels code’ van wireguard.

Die laatste is hard op weg om OpenVPN in te halen qua populariteit. Beide zijn prima te gebruiken.

Gebruik ze wisselend door elkaar afhankelijk van doel/omgeving.

Zelf 123 snel frotten? Https://pivpn.io is erg gebruiksvriendelijk (mijn moeder kan dat nog)

Info:
Supports OpenVPN 2.4
Supports WireGuard
Elliptic curve encryption keys up to 512 bit
Integrates with Bitwarden
iOS keychain support
Supports multiple DNS providers
Supports Custom DNS Servers
Custom Search Domains (OpenVPN Only)
Runs with Pi-Hole®
Doesn't need to be a raspberry pi, It runs on any Debian VPS Server
Supports unattended installation for automated deployments


note Ben altijd terughoudend/huiverig omtrent curl-www-install-bash dingen, maar dat is eigen keuze. Ben een ‘sysadmin’ van oude stempel - als sommige schoolverlaters van alles blind zie harken via www/docker installs :F :X (nofi)

//semi-ontopic; ik verwacht hoop nog steeds dat Linux kernel binnen 10jr “de window basis” vervangt; steeds meer cloud diensten, steeds meer overlap. Zeg niet dat Windows weg gaat, maar verwacht dat de onderliggende kernel/OS langzaam in elkaar overvloeit :+

[Reactie gewijzigd door himlims_ op 3 augustus 2021 18:27]

Ik was ook fan van PiVPN totdat ik ontdekte dat het echt overbodig is.

Gewoon Wireguard tools installeren. Daarmee krijg je wg quick.

Vervolgens een GUI zoals wg-portal om je clients te beheren.

Simpeler en gebruiksvriendelijker, met minder dingen op je OS geïnstalleerd (alleen Wg tools. Want Wireguard zelf zit al ingebakken in Linux).
PiVPN is ook niks meer dan wat scripts om de standaard tools heen, en imo simpeler dan een gui als wg-portal,
De portal is ook weer een extra risico mbt beveiliging.
PiVPN werkt via terminal. Dus terminal access nodig en kennis van commando's. Bovendien scripts waarvan niet direct duidelijk is wat het allemaal binnenhaalt.

Met een portal als deze kan je niks anders dan clients configureren via de Wireguard api. Stukje veiliger dan PiVPN dus, geen toegang tot het hele systeem nodig. Bovendien kan je simpel QR codes e-mailen. Daar voorziet PiVPN niet in, wat voor conf files verspreid hier en daar zorgt.

Het enige dat dit soort portals doen is via de Wireguard native api de /etc/Wireguard/wg0.conf file updaten.

Daarnaast blijft je OS dus schoon. Daar houd ik wel van :)

[Reactie gewijzigd door Jazco2nd op 3 augustus 2021 21:13]

Met een portal als deze kan je niks anders dan clients configureren via de Wireguard api.
Jup, met wat pech of verkeerd configureren kan de hele wereld clients aanmaken op je server en een vpn naar je netwerk starten :P
Daarnaast blijft je OS dus schoon. Daar houd ik wel van
Voor de docker-versie zul je toch echt docker en dependencies moeten installeren, en de standalone versie moet je zelf compileren, en moet je ook eea installeren.

En als je de docker versie draait,.. alles zit in één container, die dus met root rechten moet draaien... niet echt handig voor je web-interface, die zou niet met dergelijke rechten moeten draaien. (https://github.com/h44z/wg-portal/issues/17)
Huh? Waarom zou je de webportal voor je VPN exposen online?

En docker "met root rechten moet draaien" 8)7 juist niet.

Sorry maar je gaat hier finaal de bocht uit.
En docker "met root rechten moet draaien" 8)7 juist niet.

Sorry maar je gaat hier finaal de bocht uit.
Docker draait altijd met root rechten. Iedere gebruiker die docker mag uitvoeren heeft de facto root rechten via docker.
Draai hier docker compose prima met non-root. Geen van mijn containers draaien met root rechten.

Google maar eens ”docker non root user", het is niet moeilijk en wordt gezien als best practice.

[Reactie gewijzigd door Jazco2nd op 4 augustus 2021 08:26]

Nope, docker containers draaien standaard unprivileged en kunnen geen devices benaderen buiten de container draaien. Jij bedoeld waarschijnlijk dat apps binnen een container als root draaien.
https://docs.docker.com/e...ge-and-linux-capabilities
En docker "met root rechten moet draaien" 8)7 juist niet.
Afaik moet de container voor wg-portal met cap-add=NET_ADMIN draaien, wat feitelijk inhoud dat de container root rechten op de netwerkdevices heeft, en dat heeft wat risico's
https://unix.stackexchang...capability-involved-risks
Dat klopt helemaal, omdat het bestand /etc/wireguard/wg0.conf alleen door root aan te passen is. Geen idee of je daarmee kan spelen en NET_ADMIN vervolgens kan verwijderen.
Maar voor de overige thuis server doeleinden werken de meeste docker containers prima zonder root.
omdat het bestand /etc/wireguard/wg0.conf alleen door root aan te passen is
Nope, net_admin heeft puur betrekking op de netwerk devices, niet op het filesysteem. Toegang tot die file wordt geregeld door de volume-mapping
Het grote verschil in snelheid is net dankzij deze kernel implementatie t.o.v userspace implementatie van openvpn.

LOC is zelden een indicatie voor throughput/bandwidth of latency. Wel startup time en compile time.
Zit je in de war met Wireshark?
Zeker niet. Wireguard is een stukje opensource software/protocol om bijvoorbeeld VPN tunnels op te zetten. En na mijn mening veel sneller is dan alternatieven zoals openvpn.

Het is geen dienst, tenzij iemand nieuwe info voor me heeft. :Y)

[Reactie gewijzigd door jordynegen11 op 3 augustus 2021 18:58]

Ik ben oprecht benieuwd of je wireguard op Windows of op Linux sneller ervaart dan OpenVPN? Als dat ook op Windows is dan vind ik het zeker de moeite waard om dit eens te testen.
Ja, Het is een voelt sneller, ik gebruik alleen Linux, sinds jaar en dag mijn laptop en telefoon permanent via VPN. OpenVPN eerst, toen over naar wg. ~4x hogere transfer rate, lagere latency.
Downloaden met je favo client en bekende VPN service zoals PIA gaat via Wireguard makkelijk 20x sneller dan OpenVPN van dezelfde service... in mijn ervaring over bedrade verbinding.

Bovendien is het stateless wat het ideaal maakt om DNS verzoeken via VPN af te handelen.

Mijn telefoon maakt automatisch een Wireguard verbinding met mijn thuisserver wanneer ik WiFi verlaat, puur voor DNS, de rest van het verkeer gaat buiten de tunnel om. Zo heb ik altijd toegang tot wat op mijn server draait + Adguard Home filter.
Op Linux is Wireguard niet alleen duidelijk sneller t.o.v. openvpn, het is ook veel robuuster bij wegvallende en weer terugkomende verbindingen. Daarnaast belast het je CPU stukken minder (raspberry pi).
OpenVPN is in mijn ervaring best traag, zowel qua latency als doorvoer snelheid. De eerste keer dat ik WireGuard gebruikte was ik best positief verrast qua snelheid.
Ja, het is sneller ....
Afgelopen week via mijn VPNaanbieder een aantal configs gekregen, en dezelfde server op OpenVPN geeft een max van 10MB waar WG mij 27MB laat downloaden.

ook andere 'tests' waren beduidend sneller :+

[Reactie gewijzigd door FreshMaker op 4 augustus 2021 10:04]

In de kernel gaan zitten? Gaat het om een kernel space driver?

Of graven ze zich echt de kernel in? Want dat is op Windows bijna nergens voor nodig, helemaal niet voor een VPN dienst, dat kan prima via drivers terwijl de software in user space draait.
Ze bedoelen ook een kernel space driver, ipv de huidige Go gebaseerde implementatie die gebruik maakt van de Windows TUN driver.
Thx voor de toelichting.
Vandaag een mail van Proton gehad dat je via hun VPN ook wireguard kan gebruiken nu op Windows, android en iOS
Het gaat hier om de server niet om die client
This is a fully-featured WireGuard client for Windows that uses Wintun or WireGuardNT.
Van hun eigen website, volgens mij zit je er (deels) naast.

[Reactie gewijzigd door !GN!T!ON op 3 augustus 2021 20:35]

Hmmm excuus, ik moet toch beter lezen. Wel jammer dat er geen server komt.
Er is bij Wireguard in feite geen verschil tussen client en server: https://techoverflow.net/...o-is-server-in-wireguard/
Interessante ontwikkeling. Wireguard is al veel sneller dan OpenVPN maar er zitten nog steeds grote verschillen tussen de Linux en Windows implementatie. Op mijn windows bak kom ik niet hoger dan ~650 Mbit. In Linux haal ik de volle 1 Gbit.
Ben zelf erg tevreden over Wireguard. Diverse familie leden hebben een NAS.
Heb op de 2e poort van de NAS telkens een GLinet aangesloten. Deze ondersteunen zowel OpenVPN als ook Wireguard.

Vanaf 00:00 uur gaan er backup taken van de ene NAS naar de andere NAS.
Voorheen deed ik OpenVPN.
De VDSL verbindingen halen max 25Mbit/s upload maar daar had OpenVPN al moeite mee in de GLinet router. Ik probeerde eens Wireguard en toen haalde ik opeens de volle snelheid en het ging beduidend sneller. Heb het ook wel eens over een Gbit verbinding getest en haalde ik bijna de volle snelheid. Bij OpenVPN haalde ik met dezelfde apparatuur ongeveer 200Mbit/s.

De setup van Wireguard was vroeger redelijk wat config werk maar moet zeggen dit is ook een stuk gemakkelijker geworden.
Heb OpenVPN draaien op mijn Asus router (RT-AX88U) met Merlin firmware die hardware versnelling gebruikt voor OpenVpn. Haal 250Mbps down en 30Mbps up en dat is gelijk aan het maximale wat met mijn Ziggo abo mogelijk is.
Jammer genoeg wil Merlin niet Wireguard implementeren in zijn firmware.

[Reactie gewijzigd door snah001 op 4 augustus 2021 21:33]

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee