WireGuard er en moderne, lynrask VPN-protokoll med minimal kodebase. Denne guiden viser deg hvordan du setter den opp på VPS eller hjemmeserver, og sammenligner den med OpenVPN.
Innhold i artikkelen (7)
Hva er WireGuard og hvorfor er det bedre?
WireGuard er en åpen kildekode VPN-protokoll skapt av Jason A. Donenfeld, med de første offentlige kodesnuttene fra 2016, ifølge Wikipedias oversikt over WireGuard. Det som skiller WireGuard fra etablerte alternativer som OpenVPN og IPsec er den enkle designen: under 4 000 linjer kode ifølge prosjektets eget tekniske dokument, mainlinet i Linux-kjernen fra versjon 5.6 i mars 2020 (Linux 5.6-oversikten på kernelnewbies.org), og et fast sett med kryptografiske primitiver uten valgbare algoritmer: Curve25519, ChaCha20, Poly1305, BLAKE2s, SipHash24 og HKDF.
Denne enkelheten er en sikkerhetsstyrke — jo mindre kode, jo mindre angrepsflate og jo lettere er det å revidere. WireGuard brukes i dag av flere kommersielle VPN-tjenester, blant annet Mullvad. Da protokollen ble vurdert for opptak i Linux-kjernen i 2018, skrev Linus Torvalds i en e-post til kjerneutviklerlisten at koden, sammenlignet med "the horrors that are OpenVPN and IPSec, it's a work of art", ifølge arkivet av e-postlisten linux-kernel.
Siden WireGuard på Linux kjører som en kjernemodul, unngås deler av kontekstvekslingen mellom brukerrom og kjernerom som andre VPN-løsninger må håndtere. Prosjektets egen ytelsesside påpeker samtidig at de publiserte benchmark-tallene er gamle og ikke godt gjennomført, så en presis tallfestet sammenligning mot OpenVPN eller IPsec kan ikke oppgis herfra.

WireGuard vs. OpenVPN: En direkte sammenligning
OpenVPN har vært bransjestandarden i over 20 år og er svært godt testet og fleksibelt: protokollen støtter både TCP og UDP, og lar deg velge blant flere krypteringsalgoritmer. WireGuard gjør motsatt valg — den har kun UDP og ett fast sett med algoritmer, uten mulighet til å forhandle svakere alternativer. Konfigurasjonen er også langt kortere: en typisk WireGuard-oppsett er noen linjer i én fil, mot OpenVPNs separate sertifikater, nøkler og en lengre konfigurasjonsfil.
Det finnes ingen offisiell, oppdatert ytelsesmåling fra wireguard.com som tallfester forskjellen mot OpenVPN i dag, så artikkelen oppgir ingen konkret hastighetsfaktor — bare at WireGuard sin enklere kjernemodul-arkitektur på Linux gir mindre overhead enn OpenVPNs brukerroms-prosess.
Sette opp WireGuard-server på VPS eller hjemmeserver
Du kan sette opp WireGuard på en VPS (Virtual Private Server) hos f.eks. Hetzner, DigitalOcean eller Vultr, eller på en hjemmeserver. VPS-alternativet gir deg en fast, offentlig IP-adresse og er enklere å konfigurere. Hjemmeserveren er gratis men krever portviderekobling og gjerne DDNS.
På Ubuntu eller Debian installeres WireGuard med 'sudo apt install wireguard', ifølge wireguard.com sin egen installasjonsside. En enklere vei til en fullt fungerende server er et installasjonsskript som stiller deg noen spørsmål og genererer en klar-til-bruk konfigurasjon, for eksempel angristan/wireguard-install på GitHub, eller PiVPN som i tillegg pakker inn hele oppsettet av en Raspberry Pi- eller Linux-hjemmeserver.
- Installer WireGuard: sudo apt install wireguard
- Generer server-nøkkelpar: wg genkey | tee privatekey | wg pubkey > publickey
- Opprett konfigurasjonsfil i /etc/wireguard/wg0.conf
- Aktiver IP-forwarding i /etc/sysctl.conf (net.ipv4.ip_forward=1)
- Start WireGuard: sudo systemctl enable --now wg-quick@wg0
- Åpne UDP-porten (standard 51820) i brannmur og ruter
- Generer klientkonfigurasjon og importer i WireGuard-appen
Konfigurasjonsfilene forklart
WireGuard sin konfigurasjon er overraskende lesbar. En typisk serverkonfigurasjon har en [Interface]-seksjon med serverens private nøkkel, lyttende port, og nettverksadresse — etterfulgt av én [Peer]-seksjon per klient med klientens offentlige nøkkel og tillatte IP-adresser. Er klienten bak NAT (typisk en mobil eller hjemme-PC), bør peer-seksjonen også ha 'PersistentKeepalive = 25' slik at forbindelsen holdes åpen gjennom NAT-boksen; uten dette er verdien 0, altså av, ifølge wireguard.com sin egen quickstart-guide.
Klientkonfigurasjonen er speilet: [Interface] med klientens private nøkkel og IP-adresse, og [Peer] med serverens offentlige nøkkel, endpoint (server-IP:port), og AllowedIPs. AllowedIPs styrer to ting samtidig: hvilke avsender-IP-er som godtas fra denne peeren, og — via wg-quick — hvilke ruter som automatisk legges til i systemets rutetabell, ifølge wg-quick(8) på man7.org. Sett til '0.0.0.0/0, ::/0' rutes all trafikk via VPN. Sett til serverens subnet (f.eks. '10.0.0.0/24') rutes kun VPN-nettverkstrafikk gjennom tunnelen, mens annen internettrafikk går direkte.
WireGuard-klienter på alle plattformer
WireGuard har offisielle klientapper for Windows, macOS, iOS og Android, tilgjengelig via henholdsvis egen installer og de vanlige app-butikkene, ifølge wireguard.com sin installasjonsside. Linux-brukere bruker native wg-quick kommandolinjeverktøy. Konfigurasjonsfilene er identiske på tvers av plattformer, noe som gjør administrasjon enkel.
For å distribuere klientkonfigurasjoner uten å dele filer, genererer du en QR-kode fra konfigurasjonsfilen med 'qrencode -t ansiutf8 < klient.conf'. Skann QR-koden med WireGuard-appen på telefonen og klienten er konfigurert på sekunder. Dette er spesielt elegant for rask oppsett av mobilklienter.
Sikkerhets-tips og beste praksis
WireGuard har ingen innebygd mekanisme for brukernavn/passord-autentisering — autentisering skjer utelukkende via offentlig/privat nøkkelpar. Dette er faktisk en sikkerhetsfordel: ingen passord å phishe. Men det betyr at du må beskytte private nøkler nøye — de bør aldri lagres i ren tekst på en delt server.
En viktig begrensning å være klar over er at WireGuard lagrer tillatte peers i konfigfilen, og du må eksplisitt legge til hver klient. Det finnes ingen built-in dynamisk autentisering. For mer avansert brukeradministrasjon finnes selvhostede webgrensesnitt som wg-easy, wg-access-server og Netmaker, som alle bygger videre på WireGuard.
- Lagre aldri private nøkler ukryptert eller del dem over usikre kanaler
- Bruk separate nøkkelpar for hver klient (ikke gjenbruk nøkler)
- Endre standard UDP-port (51820) for å redusere automatisert scanning
- Aktiver UFW/iptables brannmur på serveren
- Logg jevnlig inn for å sjekke 'wg show' — se tilkoblede peers og datamengder
- Vurder WG Easy for enkelt webgrensesnitt og brukeradministrasjon
Vanlige bruksscenarier
WireGuard er ideelt for en rekke bruksscenarier. Det mest åpenbare er sikker fjerntilgang til hjemmenettverket — installer WireGuard-server på hjemmeserveren, koble til fra laptop på café, og du har kryptert tilgang til alle hjemmeressurser. Dette er det sikreste alternativet til å eksponere tjenester direkte mot internett.
Et annet populært bruksscenario er å kombinere WireGuard med Pi-hole: klientene kobler til WireGuard-serveren som viderekobler DNS-trafikk til Pi-hole. Dette gir deg nettverksomfattende annonseblokkering også når du er på farten, på mobilnett eller offentlig WiFi. For de som ønsker full kontroll uten å stole på Tailscale sine skytjenester, er WireGuard med manuell konfigurasjon det ultimate alternativet.
Kontakt & nettverk
- Offisiell sidewireguard.com
- Dokumentasjonwireguard.com/quickstart





