WireGuard: Den moderne VPN-protokollen som faktisk endret ting

11 min lestVPN-protokoller

WireGuard er den sjeldne programvaren med åpen kildekode som ble standard på fem år. Linux-kjernens hovedlinje siden 2020, motoren bak NordLynx og Mullvad, og en kodebase som er liten nok til at én person kan revidere den på en ettermiddag. Dette er den dyptgående forklaringen - hva det er, hvordan det fungerer, hvorfor alle byttet, og hvor det fortsatt kommer til kort.

Hele artikkelen er gitt på engelsk nedenfor.

Hva WireGuard faktisk er

WireGuard er en Layer 3 VPN-protokoll designet av Jason A. Donenfeld og først utgitt i 2015. Det definerende designvalget var minimalisme: ca. 4000 linjer med kjerne C-kode, sammenlignet med omtrent 70 000 for OpenV0PN og et eller annet sted for OpenV0PN og et eller annet sted. implementeringer. Mindre kode betyr en mindre angrepsoverflate og en kodebase en ingeniør kan holde i hodet – begge deler oversetter direkte til enklere revisjoner og færre sikkerhetsfeil.

Protokollen gjør én jobb og nekter å sette på en funksjon med mindre den må. Det er ingen TLS-forhandlingsfase til fingeravtrykk, ingen valg av chiffersuiter under kjøring, ingen smarte reservekjeder. Du får ett sett med moderne primitiver. Du bruker dem, eller du bruker en annen protokoll.

Den kryptografiske stabelen

WireGuard bruker et lite, meningsfylt sett med moderne primitiver i stedet for å la brukeren velge:

  • Curve25519XPLZ-13H-nøkkelutveksling for D eliffie-13X kortvarig og langsiktig).
  • ChaCha20 for symmetrisk kryptering.
  • Poly1305 for meldingsautentisering.
  • XPLZ23BZLAKE5XX har raskere enn SHA-3 og lettere enn SHA-2).
  • HKDF for nøkkelavledning.
  • SipHash24 for de interne hash-tabellene som motstår tjenestenekt via algoritmiske kompleksitetsangrep 3XXZ PLZPLZ 3XXZ 3XXZ PLXZPLZ 3XXZ 3XXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ 3 PLXZ3 bygget på IK-mønsteret fra Noise Protocol Framework. Den fullføres i to meldinger, med en valgfri forhåndsdelt nøkkel for et ekstra lag med symmetrisk beskyttelse – nyttig som en sikring mot fremtidige kvantedataangrep på Curve25519.

    UDP-kun av design

    WireGuard snakker kun UDP 5182 som standard, på port 5180. Dette er med vilje. Å bære TCP over TCP (slik OpenVPN-TCP fungerer) forårsaker det velkjente TCP-nedsmeltingsproblemet: når den indre TCP-forbindelsen sender på nytt, sender den ytre også på nytt, og de to tidtakerne tråkker på hverandre. UDP unngår det helt.

    Avveiningen er reell: i restriktive nettverk der bare TCP/443 er tillatt, fungerer ikke WireGuard. Det er ingen ekvivalent med OpenVPN-over-TCP-443 for å skjule som HTTPS-trafikk. Hvis du står bak et nettverk i Great Firewall-stil, trenger du en annen protokoll eller en innpakning som AmneziaWG som tilslører WireGuard-håndtrykket.

    Linux kjerneadopsjon

    WireGuards status som en kjernemodul – snarere enn en brukerromsdemon som OpenVPN – er så den største grunnen til at den er rask. Pakker krysser aldri grensen for kjerne/brukerområde på den varme banen.

    • 9 Desember 2019: David Miller godtok WireGuard-oppdateringene inn i Linux net-next-treet.XPLZ56PLZPLZ58XPLZ58XXPLZ 2020: Linus Torvalds fusjonerte nett-neste, og satte WireGuard inn i hovedlinjen.
    • 20 Mars 2020: Linux 5.6 ble levert med WireGuard innebygd.
    • XPLZ6 mars 260XPLZ 260XPLZ6 Android lagt til kjernestøtte i det generiske kjernebildet.
    • 22 juni 2020: OpenBSD importerte det.
    • 29. november 2020: FreeBSD 13 fulgte.XPLZ76PLXXZ7 som er berømt eller y87776PLXXZ, komplimenter, kalt koden "et kunstverk" sammenlignet med OpenVPN og IPsec. Han overdrev ikke.

      Uavhengig sikkerhetsanalyse

      I mai 2019 publiserte forskere ved INRIA et maskinsjekket bevis på WireGuards håndtrykk ved hjelp av CryptoVerif-verktøyet. De demonstrerte at protokollen garanterer gjensidig autentisering, IND-CCA-sesjonsnøkkelhemmelighold, videresendingshemmelighold og sikkerhet etter kompromiss – selv på tvers av ubegrensede parallelle økter, selv om langsiktige nøkler lekker. Det er et uvanlig sterkt formelt resultat for en VPN-protokoll.

      Hvordan den stabler opp mot OpenVPN og IPsec

      På en typisk 1 Gbps kablet tilkobling med 50 ms latens til nærmeste utgang:

        XZPLZ91XXPLVPN90XXZPLZ91XPLXD full VPN linjehastighet, ~5 ms ekstra ventetid.
      • WireGuard: 800–950 Mbps, +10–25 ms.
      • IKEv2/IPsec: 8000 Mbps, lignende ventetid.
      • OpenVPN UDP: 250–400 Mbps, +30–60 ms.
      • OpenVPN TCP: 100–1ps0, +250 Mbps ms.

      Du kan verifisere gapet selv ved å kjøre vår speed test med VPN av, og deretter kjøre gjennom hver protokoll som leverandøren din støtter.

      Hvor WireGuard er svakere

      • Ingen tilkoblingstilstand. WireGuard knytter en peer til en statisk IP-allokering. Uten hjelp skaper det en loggingsoverflate - hver tilkoblende klients IP er knyttet til deres offentlige nøkkel på serveren. Kommersielle VPN-er løser dette med roterende interne IP-er, men det krever ekstra rørleggerarbeid selve protokollen gir ikke.
      • UDP-only. Fungerer ikke der kun TCP/443 er tillatt.
      • Ingen innebygde NAT NAT symmetrisk en ekstern traversal. koordinator.
      • Lett å fingeravtrykke. Håndtrykket har en særegen form og er trivielt identifiserbart ved dyp pakkeinspeksjon, som er en grunn til at det er blokkert i Kina, Iran og Russland.

      Implementations know

      • wireguard-go: den offisielle brukerromsimplementeringen på tvers av plattformer i Go.
      • BoringTun: Cloudflares Rust-brukerromsimplementering, brukt i produksjon i skala.XPLZ0wireguard-XPLZXLZ3t Windows29PLZXXLZ1: kjernedriver, tilgjengelig siden august 2021.
      • AmneziaWG: en gaffel som legger til protokolltilsløring for å skli forbi dyp pakkeinspeksjon.

      Hvem bruker den kommersieltXPLZ40MXXLvdelse støtte nesten alle før

      MXXLvadelse. NordVPN pakker den inn som NordLynx med et tilpasset NAT-lag for å løse problemet med statisk IP-allokering. ProtonVPN supports it across plans. IVPN and TunnelBear ship it. Tailscale og Cloudflare WARP bruker det begge internt. Hvis leverandøren din er moderne, snakker den nesten helt sikkert WireGuard.

      Skal du velge WireGuard?

      For 95 % av brukerne, ja. Den er raskere, mer effektiv på mobilbatteri, enklere å sette opp og har en langt sterkere formell sikkerhetshistorie enn forgjengerne. De eneste grunnene til å velge annerledes er:

      • Du er i et land som blokkerer WireGuard-håndtrykk via DPI – velg OpenVPN fremfor TCP/443 med TLS-obfuskasjon, eller AmneziaWG.
      • Du trenger en alltid-på-bedrifts-IP-tunnel – forbli på en legacy-konsentrator. IKEv2.
      • Du bruker en tjeneste som ikke har sendt WireGuard ennå (sjelden i 2026).

      Når du har koblet til, bekrefter du at tunnelen faktisk gjør jobben sin med vår VPN lekkasjetest. En fungerende protokoll med en feilkonfigurert klient er ikke bedre enn ingen VPN i det hele tatt.

Ofte stilte spørsmål

Er WireGuard sikrere enn OpenVPN?
Begge er sikre når de er riktig konfigurert. WireGuards mye mindre kodebase gjør revisjon gjennomførbar og reduserer angrepsoverflaten, og den drar nytte av et formelt maskinsjekket sikkerhetsbevis som OpenVPN ikke har. OpenVPN drar nytte av 20+ år med in-the-wild gransking og et modent TLS-økosystem. Det er ingen kjent kryptografisk brudd i noen av protokollens moderne konfigurasjoner.
Hvorfor bruker WireGuard kun UDP?
Fordi tunnelering av TCP over TCP forårsaker det velkjente TCP-nedsmeltingsproblemet - når den indre tilkoblingen sender på nytt, sender den ytre tilkoblingen også på nytt, og de to tidtakerne for forsøk på nytt tråkker på hverandre. UDP omgår det fullstendig. Avveiningen er at WireGuard ikke kan forkle seg som HTTPS på TCP/443, og derfor er OpenVPN-TCP fortsatt nyttig i sterkt filtrerte nettverk.
Logger WireGuard IP-en min?
Den bare protokollen assosierer en koblende peer med deres offentlige nøkkel, som er en slags logg. Anerkjente kommersielle VPN-leverandører pakker WireGuard med roterende interne IP-er og kun RAM-servere for å fjerne denne overflaten. Hvis du kjører din egen WireGuard-server, er ansvaret ditt.
Kan WireGuard jobbe i Kina eller Iran?
Standard WireGuard-håndtrykk har en særegen form og kan enkelt tas av fingeravtrykk ved dyp pakkeinspeksjon, så de blir rutinemessig blokkert i sterkt filtrerte land. Gafler som AmneziaWG legger til obfuskering som skjuler håndtrykket; OpenVPN-over-TCP/443 med TLS-obfuskering er et annet pålitelig alternativ.
Vil WireGuard drepe mobilbatteriet mitt?
No — it's typically better than OpenVPN. WireGuards lille kodebase og mangel på en konstant keepalive-sløyfe betyr lavere CPU- og radioaktivitet. IKEv2 med en kjerneimplementering er like effektiv på mobil.
WireGuard forklart: Den moderne VPN-protokollen som faktisk endret ting | VPN Master Pro