WireGuard: Den moderne VPN-protokol, der faktisk ændrede tingene

11 min læstVPN-protokoller

WireGuard er det sjældne stykke open source-software, der blev standard på fem år. Linux-kernens hovedlinje siden 2020, motoren bag NordLynx og Mullvad og en kodebase, der er lille nok til, at én person kan auditere den på en eftermiddag. Dette er den dybdegående forklaring - hvad det er, hvordan det virker, hvorfor alle skiftede, og hvor det stadig kommer til kort.

Hele artiklens krop findes på engelsk nedenfor.

Hvad WireGuard faktisk er

WireGuard er en Layer 3 VPN-protokol designet af Jason A. Donenfeld og udgivet første gang i 2015. Det afgørende designvalg var minimalisme: omkring 4.000 linjer med kerne C-kode sammenlignet med ca. 70.000, nord for 0PN og et eller andet sted for OpenV0PN og et eller andet sted implementeringer. Mindre kode betyder en mindre angrebsoverflade og en kodebase, som en ingeniør kan holde i hovedet - begge dele omsættes direkte til nemmere revisioner og færre sikkerhedsfejl.

Protokollen udfører ét stykke arbejde og nægter at fastholde en funktion, medmindre det er nødvendigt. Der er ingen TLS-forhandlingsfase til fingeraftryk, intet valg af krypteringspakker under kørsel, ingen smarte reservekæder. Du får et sæt moderne primitiver. Du bruger dem, eller du bruger en anden protokol.

Den kryptografiske stak

WireGuard bruger et lille, meningsfuldt sæt moderne primitiver i stedet for at lade brugeren vælge:

  • Curve25519XPLZ-13H nøgleudveksling for D eliffie-13X flygtig og langsigtet).
  • ChaCha20 til symmetrisk kryptering.
  • Poly1305 til godkendelse af meddelelser.
  • XPLZ23BZLAKE5XXX har hurtigere end for meddelelsesgodkendelse. SHA-3 og lettere end SHA-2).
  • HKDF til nøgleafledning.
  • SipHash24 til de interne hash-tabeller, der modstår denial-of-service via algoritmiske kompleksitetsangreb 3XXZ PLXZ 34PLZ3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZZ bygget på IK-mønsteret fra Noise Protocol Framework. Den afsluttes i to meddelelser med en valgfri foruddelt nøgle til et ekstra lag af symmetrisk beskyttelse - nyttigt som en sikring mod fremtidige kvantecomputerangreb på Curve25519.

    UDP-kun af design

    WireGuard taler kun UDP som standard på port 51820. Dette er bevidst. At føre TCP over TCP (sådan som OpenVPN-TCP fungerer) forårsager det velkendte TCP-nedsmeltningsproblem: Når den indre TCP-forbindelse genudsender, gentransmitterer den ydre også, og de to timere tramper på hinanden. UDP undgår det helt.

    Afvejningen er reel: I restriktive netværk, hvor kun TCP/443 er tilladt, virker WireGuard simpelthen ikke. Der er ikke noget, der svarer til OpenVPN-over-TCP-443, der kan skjules som HTTPS-trafik. Hvis du står bag et netværk i Great Firewall-stil, har du brug for en anden protokol eller en indpakning som AmneziaWG, der tilslører WireGuard-håndtrykket.

    Linux-kerneadoption

    WireGuards status som et kernemodul - snarere end en brugerplads-dæmon som OpenVPN - er så den største årsag til, at den er hurtig. Pakker krydser aldrig grænsen mellem kerne/brugerpladsen på den varme sti.

    • 9 December 2019: David Miller accepterede WireGuard-rettelserne i Linux net-next-træet.XPLZ56PLZZ8XXX5 januar. 2020: Linus Torvalds fusionerede net-next og satte WireGuard ind i mainline.
    • 20 Marts 2020: Linux 5.6 blev leveret med WireGuard indbygget.
    • XPLZ 260XPLZ, marts 260XPLZ 260XPLZ Android kerneunderstøttelse i det generiske kernebillede.
    • 22 Juni 2020: OpenBSD importerede det.
    • 29. november 2020: FreeBSD 13 fulgte.XPLZ76PLXXZ777776PLXXZ7, der er berømt komplimenter, kaldet koden "et kunstværk" sammenlignet med OpenVPN og IPsec. Han overdrev ikke.

      Uafhængig sikkerhedsanalyse

      I maj 2019 offentliggjorde forskere ved INRIA et maskintjekket bevis på WireGuards håndtryk ved hjælp af CryptoVerif-værktøjet. De demonstrerede, at protokollen garanterer gensidig autentificering, IND-CCA-sessionsnøglehemmelighed, fremadrettet hemmeligholdelse og post-kompromissikkerhed - selv på tværs af ubegrænsede parallelle sessioner, selvom langsigtede nøgler lækker. Det er et usædvanligt stærkt formelt resultat for en VPN-protokol.

      Sådan holder den sig op imod OpenVPN og IPsec

      På en typisk 1 Gbps kablet forbindelse med en 50 ms latency til din nærmeste udgang:

        XZPLZ91X
          XZPLZ91X
            XZPLZ91XXPLVPN (fuldt) linjehastighed, ~5 ms tilføjet latency.
          • WireGuard: 800–950 Mbps, +10–25 ms.
          • IKEv2/IPsec: 800 Mbps, 800 Mbps, lignende latency.
          • OpenVPN UDP: 250–400 Mbps, +30–60 ms.
          • OpenVPN TCP: 100–1bps0, +500 Mbps0, + ms.

          Du kan selv verificere hullet ved at køre vores speed test med VPN slået fra og derefter køre gennem hver protokol, som din udbyder understøtter.

          Hvor WireGuard er svagere

          • Ingen forbindelsestilstand. WireGuard knytter en peer til en statisk IP-allokering. Uden hjælp skaber det en logningsoverflade - hver tilsluttende klients IP er forbundet med deres offentlige nøgle på serveren. Kommercielle VPN'er løser dette med roterende interne IP'er, men det kræver ekstra VVS protokollen i sig selv giver ikke.
          • UDP-only. Virker ikke, hvor kun TCP/443 er tilladt.
          • Ingen indbygget NAT symmetrisk en NAT symmetrisk. koordinator.
          • Nem at fingeraftryk. Håndtrykket har en karakteristisk form og er trivielt identificerbart ved dyb pakkeinspektion, hvilket er en af grundene til, at det er blokeret i Kina, Iran og Rusland.

          Implementations know

          • wireguard-go: den officielle brugerrumsimplementering på tværs af platforme i Go.
          • BoringTun: Cloudflares Rust-brugerområdeimplementering, der bruges i produktionen i skala.XPLZ0wireguard-3XXPLZ3n2XXXPLZ1 Windows kernedriver, tilgængelig siden august 2021.
          • AmneziaWG: en gaffel, der tilføjer protokolsløring for at glide forbi dyb pakkeinspektion.

          Hvem bruger det næsten kommercieltXPLZ40MXXLvadelse support1. NordVPN omslutter det som NordLynx med et tilpasset NAT-lag for at løse problemet med statisk IP-allokering. ProtonVPN understøtter det på tværs af planer. IVPN og TunnelBear sender det. Tailscale og Cloudflare WARP bruger det begge internt. Hvis din udbyder er moderne, taler den næsten helt sikkert WireGuard.

          Skal du vælge WireGuard?

          For 95 % af brugerne, ja. Det er hurtigere, mere effektivt på mobilbatteri, nemmere at sætte op og har en langt stærkere formel sikkerhedshistorie end sine forgængere. De eneste grunde til at vælge anderledes er:

          • Du er i et land, der blokerer WireGuard-håndtryk via DPI — vælg OpenVPN frem for TCP/443 med TLS-obfuscation, eller AmneziaWG.
          • Du har brug for en altid aktiv virksomhedstunnel — forbliver på en legacy-koncentreret IP-tunnel. IKEv2.
          • Du bruger en tjeneste, der endnu ikke har leveret WireGuard (sjældent i 2026).

          Når du har oprettet forbindelse, skal du bekræfte, at tunnelen rent faktisk gør sit arbejde med vores VPN lækagetest. En fungerende protokol med en forkert konfigureret klient er ikke bedre end slet ingen VPN.

Ofte stillede spørgsmål

Er WireGuard mere sikker end OpenVPN?
Begge er sikre, når de er konfigureret korrekt. WireGuards meget mindre kodebase gør revision overkommelig og reducerer angrebsoverfladen, og den drager fordel af et formelt maskintjekket sikkerhedsbevis, som OpenVPN ikke har. OpenVPN drager fordel af mere end 20 års undersøgelser i naturen og et modent TLS-økosystem. Der er ingen kendt kryptografisk brud i nogen af ​​protokollernes moderne konfigurationer.
Hvorfor bruger WireGuard kun UDP?
Fordi tunnelering af TCP over TCP forårsager det velkendte TCP-nedsmeltningsproblem - når den indre forbindelse genudsender, gentransmitterer den ydre forbindelse også, og de to genforsøgstimere tramper på hinanden. UDP omgår det fuldstændigt. Afvejningen er, at WireGuard ikke kan forklæde sig som HTTPS på TCP/443, hvorfor OpenVPN-TCP stadig er nyttig i stærkt filtrerede netværk.
Loger WireGuard min IP?
Den blotte protokol forbinder en forbindende peer med deres offentlige nøgle, som er en slags log. Velrenommerede kommercielle VPN-udbydere omslutter WireGuard med roterende interne IP'er og RAM-servere for at fjerne denne overflade. Hvis du kører din egen WireGuard-server, er ansvaret dit.
Kan WireGuard arbejde i Kina eller Iran?
Standard WireGuard-håndtryk har en karakteristisk form og kan nemt tages fingeraftryk ved dyb pakkeinspektion, så de er rutinemæssigt blokeret i stærkt filtrerede lande. Forgafler som AmneziaWG tilføjer sløring, der skjuler håndtrykket; OpenVPN-over-TCP/443 med TLS-obfuscation er et andet pålideligt alternativ.
Vil WireGuard dræbe mit mobilbatteri?
Nej - det er typisk bedre end OpenVPN. WireGuards lille kodebase og mangel på en konstant keepalive loop betyder lavere CPU- og radioaktivitet. IKEv2 med en kerneimplementering er tilsvarende effektiv på mobil.
WireGuard forklaret: Den moderne VPN-protokol, der faktisk ændrede tingene | VPN Master Pro