VPN · Guide

Så använder du en WireGuard-konfigurationsfil

Uppdaterad September 23, 2026 16 min läsning

På den här sidan
  1. Vad som finns i en .conf-fil, rad för rad
  2. Windows: importera tunneln
  3. Android och iPhone: skanna QR-koden eller importera filen
  4. macOS och Linux
  5. På routern, så att hela hemmet täcks
  6. Den ansluter men inget laddas — och andra verkliga problem
  7. Var konfigurationsfilen kommer ifrån
  8. FAQ

En WireGuard-anslutning är en textfil. Det är verkligen allt den är — en handfull rader med dina nycklar, serverns adress och reglerna för vad som skickas genom tunneln. När du väl har den filen är det enda som krävs för att ansluta till en WireGuard VPN-server att ge den till WireGuard-appen på den enhet du använder.

Den här guiden gör två saker. Först går den igenom en riktig konfigurationsfil rad för rad, så att du vet vad varje inställning gör och vilken du ska ändra när något är fel. Sedan visar den hur du importerar filen och ansluter på Windows, Android, iPhone, macOS, Linux och en router, följt av den handfull problem som ligger bakom nästan alla klagomål på WireGuard: handshaket som aldrig slutförs och tunneln som ansluter men inte vill ladda en enda sida.

Vad som finns i en .conf-fil, rad för rad

Alla WireGuard-konfigurationer har samma tvådelade uppbyggnad. [Interface] beskriver din ände av tunneln; [Peer] beskriver maskinen du ansluter till. Här är en komplett klientkonfiguration där hemligheterna har ersatts med platshållare:

[Interface]
PrivateKey = YOUR_PRIVATE_KEY_KEEP_THIS_SECRET
Address    = 10.7.0.4/32
DNS        = 10.7.0.1

[Peer]
PublicKey           = THE_SERVER_PUBLIC_KEY_FROM_YOUR_PROVIDER
Endpoint            = 198.51.100.10:51820
AllowedIPs          = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
De två nycklarna ovan är platshållare, och adressen 198.51.100.10 är en dokumentationsadress som reserverats i RFC 5737 — inget av det ansluter till något. Använd värdena från din egen fil.

Blocket [Interface]: din sida

  • PrivateKey — den är din identitet i VPN:et. Den som har den kan utge sig för att vara du. Den består av 44 base64-tecken och slutar med =; om din har en annan längd har filen kapats någonstans när den kopierades.
  • Address — den IP din enhet har inuti tunneln, inte din publika IP. /32 betyder "bara just den här adressen", vilket är normalt för en klient.
  • DNS — resolvern som används medan tunneln är uppe. Utan den fortsätter din enhet att fråga din gamla resolver, vilket både läcker vad du slår upp och ofta inte kan slå upp något alls på andra sidan.
  • MTU — valfri, och den enskilt mest användbara raden att känna till. Den saknas i de flesta filer eftersom standardvärdet stämmer; se felsökning för fallet där det inte gör det.

Blocket [Peer]: serverns sida

  • PublicKeyserverns publika nyckel. Din egen står aldrig i din egen fil; den finns på servern.
  • Endpoint — vart paketen ska skickas, som host:port. WireGuard går bara över UDP, och 51820 är den vanliga porten, inte ett krav.
  • AllowedIPs — vilka destinationer som går genom tunneln. 0.0.0.0/0, ::/0 betyder allt, vilket är precis vad ett integritets-VPN är till för. En snävare lista — till exempel bara ditt företags interna adressintervall — skickar bara det genom tunneln och låter resten gå över din vanliga anslutning. Det upplägget kallas split tunnel, och det är ett medvetet val, inte en trasig fullständig tunnel.
  • PersistentKeepalive — skickar ett litet paket var 25:e sekund så att NAT-enheten mellan dig och servern håller returvägen öppen. Behövs när du sitter bakom NAT, och det gör du alltid på en mobil eller en hemanslutning.
En detalj som förklarar en vanlig förvirring. Address och DNS är inte WireGuard-inställningar alls — de är instruktioner till hjälpverktyget wg-quick, som konfigurerar ditt nätverksgränssnitt. WireGuard själv ser dem aldrig. Du kan se det hända: wg-quick strip wg0 skriver ut konfigurationen som kärnan faktiskt får, och båda raderna är helt enkelt borta. Det spelar roll om du någon gång sätter upp en tunnel med wg setconf i stället för wg-quick, för då tilldelar ingenting din adress eller din resolver, och tunneln går upp ansluten till ingenting.

Behöver du en konfigurationsfil att importera? En HytHost VPN-tjänst ger dig en färdig WireGuard-konfiguration från €0.99/mån.

Se VPN-paket

Windows: importera tunneln

Windows har en officiell WireGuard-app, och att importera en fil i den är hela jobbet.

  1. Installera WireGuard från wireguard.com/install.
  2. Klicka på Skapa tunnel längst ned till vänster, vilket öppnar en filväljare filtrerad på Inställningsfiler (*.zip, *.conf). Välj din .conf så dyker den upp i tunnellistan, namngiven efter filen.
  3. Eller klistra in den i stället. Pilen bredvid Skapa tunnel erbjuder Lägg till tom tunnel…, som ger dig en textruta — praktiskt när konfigurationen kom i ett meddelande och inte som en fil. Rutan är förifylld med en ny privat nyckel, så ta bort den raden och klistra in din egen konfiguration över alltihop.
  4. Klicka på Aktivera. Statusen ändras till Aktiv och panelen börjar räkna överförda byte. Den byteräknaren är den snabbaste kontrollen du har: visar den data som går ut men inget som kommer tillbaka, slutförs inte ditt handshake.
Två alternativ i appen är värda att känna till. Blockera otunnlad trafik (kill-switch), i tunnelns redigeringsvy, stoppar allt från att lämna enheden utanför tunneln om den går ned — rätt inställning om hela poängen med VPN:et är att inget slipper ut. Och Exportera logg till fil är där appen berättar i klartext varför en tunnel vägrade starta.

Android och iPhone: skanna QR-koden eller importera filen

På en mobil har du två vägar in, och QR-koden finns just för att det är plågsamt att skriva en nyckel på 44 tecken på en pekskärm.

Android

  1. Installera WireGuard från Play Store och tryck på knappen +.
  2. Skärmen Skapa WireGuard Tunnel erbjuder Skanna från QR-kod, Importera från fil eller arkiv och att skapa en från grunden. Välj det som passar det du fick.
  3. Ge tunneln ett namn om du blir ombedd, och slå sedan på dess reglage. Android ber en gång om tillåtelse att lägga till en VPN-konfiguration — den frågan kommer från operativsystemet, inte från appen.

iPhone och iPad

  1. Installera WireGuard från App Store och tryck på Add a tunnel.
  2. Under Add a new WireGuard tunnel väljer du Create from QR code eller Create from file or archive. Skannerskärmen heter Scan QR code; efter en lyckad skanning ber den dig namnge tunneln.
  3. Slå på den och tillåt VPN-konfigurationen när iOS frågar.

Så gör du en QR-kod av en konfigurationsfil du redan har

En QR-kod är inget leverantören måste ge dig — det är bara din konfigurationsfil ritad som en bild, och du kan skapa den själv med ett enda kommando. WireGuard-appen föreslår till och med det själv:

# prints the code straight into the terminal, ready to scan off the screen
qrencode -t ansiutf8 < wg0.conf

# or write it to an image file
qrencode -o wg0.png < wg0.conf

På Debian eller Ubuntu får du qrencode med apt install qrencode; på macOS med brew install qrencode.

En WireGuard-QR-kod innehåller din privata nyckel. Det är ingen länk eller identifierare — det är hela konfigurationen, nycklar inräknade, i en form som vilken kamera som helst kan läsa. Lägg aldrig upp en på en Discord-server, i en forumtråd eller i ett supportärende, och var försiktig med skärmdumpar. Om du skannar en kod från en skärm, stäng den efteråt. Behandla bilden precis som du skulle behandla filen.

macOS och Linux

macOS

Installera WireGuard från Mac App Store. Mac-appen är inte iPhone-appen på en större skärm: den bor i menyraden, och dess fönster öppnas från Manage Tunnels. Klicka på Import tunnel(s) from file (menyraden har samma sak som Import Tunnel(s) from File…), välj din .conf, markera sedan tunneln och klicka på Activate. Det finns ingen QR-skanner på Mac — QR-koder är till för mobiler — så använd själva filen, eller välj Add Empty Tunnel… och klistra in konfigurationen.

Föredrar du att jobba i en terminal ger brew install wireguard-tools dig samma wg-quick-kommandon som på Linux, som beskrivs härnäst.

Linux

  1. Installera verktygen. På Debian eller Ubuntu: sudo apt install wireguard. De flesta distributioner har ett paket med samma namn.
  2. Lägg filen där wg-quick letar efter den. Det är här folk gör fel, eftersom filnamnet blir gränssnittets namn:
    sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
    600 spelar roll — filen innehåller din privata nyckel och ska inte kunna läsas av andra användare på maskinen. Håll namnet kort och enkelt; det måste vara ett giltigt namn på ett nätverksgränssnitt.
  3. Starta den:
    sudo wg-quick up wg0
    sudo wg show
    wg show är det enda kommandot som är värt att komma ihåg. Det visar peeren, endpointen, en latest handshake-rad och överföringsräknare. En handshake-tidsstämpel som aldrig dyker upp är kännetecknet för problemet i nästa avsnitt.
  4. Starta den vid uppstart: sudo systemctl enable --now wg-quick@wg0. För att stoppa tunneln manuellt: sudo wg-quick down wg0.
Två fel som är värda att känna igen direkt. wg-quick: `/etc/wireguard/wg0.conf' does not exist betyder att namnet du angav inte matchar någon fil i den katalogen — du bad om wg0 och filen heter något annat. Och om tunneln vägrar gå upp och klagar på resolvconf är det DNS-raden: wg-quick behöver resolvconf eller systemd-resolved för att kunna tillämpa den. Installera något av dem, eller ta bort DNS-raden och ställ in din resolver själv.

På routern, så att hela hemmet täcks

Lägger du tunneln på routern täcker den varje enhet bakom den, även de som inte kan köra en VPN-app alls — en spelkonsol, en tv, en smart högtalare. Om det går beror helt på din firmware.

FirmwareStöd för WireGuardVar du ska leta
OpenWrtJa, med ett paketInstallera luci-proto-wireguard, lägg sedan till ett gränssnitt med protokollet WireGuard VPN och fyll i fälten från din fil
Asus (nyare originalfirmware)Ja, på många modellerVPN-avsnittet har en WireGuard-klient som importerar en .conf direkt
Asuswrt-MerlinJaSamma idé, med mer kontroll över routningen
Mikrotik RouterOS 7JaWireGuard är inbyggt; RouterOS 6 har det inte alls
Vanlig router från internetleverantörenOftast inteIngen WireGuard och inget sätt att lägga till det — se nedan

Om din router är lådan som internetleverantören gav dig är de realistiska alternativen att sätta en router du själv styr bakom den, eller att fortsätta använda konfigurationer per enhet. Inget av dem är ett misslyckande; en uppsättning per enhet är ofta bättre ändå, eftersom du kan låta tunneln vara avstängd på de enheter som inte behöver den.

Återanvänd inte en konfiguration som redan finns på en annan enhet. En konfigurationsfil är en peer, och en peer är en enhet. Laddar du in mobilens konfiguration i routern kommer de två att slåss om samma identitet, och båda anslutningarna blir opålitliga. Beställ en andra konfiguration, eller lägg till en andra peer på din egen server.

En sak att bestämma innan du skickar hela hemmet genom en tunnel: allt går då genom den. Banksajter som ogillar utländska adresser, streaming som kontrollerar din region och allt som pratar med enheter i ditt eget nätverk kan bete sig annorlunda. Det är här en snävare AllowedIPs gör skäl för sig — skicka bara det som behöver gå igenom och låt resten vara.

Den ansluter men inget laddas — och andra verkliga problem

WireGuard är ovanligt tyst när något går fel, och det är ett medvetet designval — ett oautentiserat paket får inget svar alls, så en skanner kan inte avgöra om något lyssnar. Bieffekten är att en fel nyckel, en fel port och ett blockerat nätverk ser exakt likadana ut från din sida: tystnad. Utgå från symptomet.

Vad du serVad det oftast ärVar du ska leta
Aldrig något handshake; skickade byte ökar, mottagna står kvar på nollInget svarar, eller svaret kan inte ta sig tillbakaEndpoint, serverns PublicKey, blockerad UDP
Handshake fungerar, små saker fungerar, webbsidor hänger halvladdadeMTULägg till en MTU-rad i [Interface]
Ansluten, men inga namn slås uppDNSDNS-raden, och resolvconf på Linux
Ansluten, namn slås upp, men ingen trafik går genom tunnelnAllowedIPs för snävAllowedIPs i [Peer]
Fungerar, men slutar efter en minut eller två utan aktivitetNAT-mappningen har löpt utPersistentKeepalive = 25

"Handshake did not complete"

Din enhet skickade ett initieringspaket och fick ingenting tillbaka. Kontrollera i den här ordningen:

  • Endpointen. Rätt host, rätt port, och porten är UDP. Ett stavfel här ger exakt det här symptomet och inget annat.
  • Om UDP alls kommer ut. Gäst-wifi, hotellnätverk, vissa företagsnätverk och några mobiloperatörer tillåter bara TCP på vanliga portar. Om samma konfiguration fungerar på din hemanslutning och misslyckas på ett visst nätverk är konfigurationen i ordning och nätverket är problemet.
  • Nycklarna sitter åt rätt håll. PublicKey i [Peer] är serverns publika nyckel, och servern måste separat ha den publika nyckel som hör till din PrivateKey. En konfiguration som kopierats för en annan enhet fallerar här.
  • Din klocka. WireGuards handshake innehåller en tidsstämpel och avvisar en som ligger långt fel. Ovanligt, men det händer på enheter som har tappat tiden.

Om tunneln fungerar hemifrån men aldrig från en mobilanslutning kan orsaken ligga hos din leverantör snarare än hos dig — carrier-grade NAT och liknande lösningar ändrar vad som kan nå dig. Guiden om port forwarding förklarar hur du tar reda på det från din egen router på ett par minuter.

MTU-problemet, som är värt att förstå en gång

Det här är det klassiska fallet "ansluten men internet är trasigt", och mönstret är typiskt: ping fungerar, DNS fungerar, små sidor fungerar, och allt som är större fastnar för evigt.

Orsaken är storlek. När din trafik paketeras för tunneln läggs headers till, så ett paket som passade exakt i din vanliga anslutning får inte längre plats när det ligger inuti WireGuard. Små paket seglar igenom; stora kastas. Normalt säger nätverket åt avsändaren att använda mindre paket, men meddelandet som gör det filtreras ofta bort, så i stället för ett fel väntar du bara.

Lösningen är att be WireGuard använda mindre paket från början. wg-quick försöker redan: det tar MTU:n från din vanliga rutt och drar av 80 byte för tunnelns overhead, så på en vanlig anslutning på 1500 byte får du 1420. När det fortfarande är för stort — vissa mobilnät, de flesta anslutningar som redan går genom en annan tunnel — ställ in den uttryckligen och gå nedåt:

[Interface]
MTU = 1420      # what wg-quick would have picked
# still stalling? try 1380, then 1280

1280 är golvet som är värt att prova, eftersom det är den minsta paketstorlek som IPv6 kräver att allt ska klara, så den tar sig igenom praktiskt taget vilken väg som helst. Det kostar lite effektivitet och är mycket bättre än en tunnel som hänger sig.

Tunneln är uppe men inget går genom den

Kontrollera AllowedIPs först. Det är ingen brandvägg eller behörighetslista — den avgör vilka destinationer som alls routas in i tunneln. Om den inte innehåller 0.0.0.0/0 var trafiken till resten av internet aldrig tänkt att gå igenom, och din anslutning beter sig exakt som den är konfigurerad. På Linux visar ip route show table all | grep wg0 vad som faktiskt routades.

Om routningen stämmer och namn helt enkelt inte slås upp är det DNS-raden — antingen saknas den, eller så finns den men tillämpas inte eftersom resolvconf inte är installerat.

Var konfigurationsfilen kommer ifrån

Allt ovan förutsätter att du har en fil. Det finns exakt två sätt att få en.

Kör servern själv

Du genererar ett nyckelpar, installerar WireGuard på en maskin med en publik adress, lägger till din enhet som peer och skriver klientkonfigurationen för hand. Det är inte svårt, och det är verkligen bra att lära sig. Kostnaden är löpande: en server att betala för och hålla uppdaterad, och en manuell ändring i båda ändar varje gång du lägger till en enhet — för kom ihåg, en peer är en enhet.

Skaffa en från en leverantör

Alternativet är att filen genereras åt dig och att du laddar ned den. Med HytHost VPN, från €0.99/mån, är det här den finns:

  1. Beställ tjänsten och logga in på kundområdet, och öppna sedan din VPN-tjänst i listan.
  2. Hitta avsnittet WireGuard Configuration. Det ger dig två knappar — Copy to Clipboard, som lägger konfigurationstexten i urklipp, och Download Configuration, som ger dig den färdiga filen.
  3. Om du kopierade den, klistra in den i en vanlig textredigerare och spara den med filändelsen .confwg0.conf är ett bra namn. Se till att redigeraren inte har lagt till .txt i slutet.
  4. Importera den med hjälp av avsnittet ovan för din enhet. På en mobil gör du först om den till en QR-kod med qrencode.

Samma sida visar om tunneln just nu är ansluten till servern, vilket avgör frågan "är det jag eller är det de" innan du börjar ändra inställningar. Det finns ingen QR-kodknapp — skapa den själv från filen, vilket också betyder att koden aldrig hamnar någonstans där den inte behövde vara.

Behöver du en konfigurationsfil att importera? En HytHost VPN-tjänst ger dig en färdig WireGuard-konfiguration från €0.99/mån.

Se VPN-paket
FAQ

Vanliga frågor

Installera den officiella WireGuard-appen, importera konfigurationsfilen som din server eller leverantör gav dig och slå sedan på tunneln. På Windows är det Skapa tunnel följt av Aktivera; på Android och iPhone kan du skanna filen som en QR-kod i stället för att importera den; på Linux lägger du filen i /etc/wireguard/ och kör wg-quick up med dess namn. En handshake-tidsstämpel och mottagen data i appen bekräftar att anslutningen är uppe.

En vanlig textfil, oftast med ändelsen .conf, med två block. [Interface] beskriver din enhet: dess privata nyckel, adressen den får inuti tunneln och resolvern den ska använda. [Peer] beskriver servern: dess publika nyckel, dess host och UDP-port och vilka destinationer som ska routas genom tunneln. Den filen är hela anslutningen — inget annat lagras någonstans på din enhet.

Inte tillförlitligt, och skälet är värt att känna till. En konfiguration är en peer, identifierad av ett nyckelpar, och servern håller reda på en enda aktuell plats för varje peer. Ansluter du en mobil och en laptop med samma fil skickar servern returtrafiken till den som senast gjorde ett handshake, så båda anslutningarna går upp och ned. Varje enhet behöver en egen konfiguration med ett eget nyckelpar.

Du genererar den från konfigurationsfilen du redan har — en WireGuard-QR-kod är helt enkelt den filen kodad som en bild. Kör qrencode -t ansiutf8 < wg0.conf för att skriva ut den i en terminal och skanna den från skärmen, eller qrencode -o wg0.png < wg0.conf för att spara en bild. Eftersom koden innehåller den privata nyckeln ska den behandlas som själva filen: aldrig läggas upp någonstans offentligt.

Nej. Den privata nyckeln är det som identifierar din enhet i VPN:et, så den som har filen kan ansluta som du. Den ska aldrig läggas upp i en chatt, på ett forum, i en issue tracker eller i ett supportärende, och detsamma gäller en QR-kod eller en skärmdump av filen. Om en konfiguration har exponerats är lösningen att generera ett nytt nyckelpar och byta ut peeren, inte att hoppas att ingen läste den.

Det meddelandet betyder att initieringspaketet skickades och att inget kom tillbaka, och WireGuard kan inte säga varför eftersom det aldrig fick något svar. Kontrollera host och port i Endpoint, bekräfta att nätverket du sitter på tillåter utgående UDP, och bekräfta att PublicKey under [Peer] är serverns nyckel medan servern har den publika nyckel som hör till din privata. Om samma fil fungerar på ett annat nätverk är filen korrekt och nätverket filtrerar UDP.

Det här mönstret — handshake fungerar, ping fungerar, webbsidor fastnar — är nästan alltid MTU. När trafiken paketeras för tunneln växer varje paket, så paket som tidigare fick plats kastas, och meddelandet som normalt skulle rapportera det filtreras ofta bort. Lägg till en MTU-rad i [Interface]: 1420 är vad wg-quick skulle räkna fram på en vanlig anslutning, och 1380 eller 1280 fungerar där det fortfarande är för stort.

Inte för att använda en konfigurationsfil. Klienten gör en utgående UDP-anslutning till servern, och svaret kommer tillbaka genom den mappning som anslutningen skapar — vilket är det PersistentKeepalive håller öppet. En port behöver bara öppnas på den sida som kör WireGuard-servern och måste ta emot inkommande anslutningar.

Från en leverantör som genererar den åt dig. En HytHost VPN-tjänst, från €0.99/mån, visar ett WireGuard Configuration-avsnitt i kundområdet med en knapp för att kopiera konfigurationstexten och en knapp för att ladda ned den färdiga filen. Därifrån importeras den i WireGuard-appen på vilken enhet som helst, och samma sida visar om tunneln just nu är ansluten.

En konfigurationsfil du behåller

HytHost VPN ger dig en WireGuard-konfiguration som du laddar ned en gång och importerar på vilken enhet som helst — Windows, Android, iPhone, macOS, Linux eller din router. Från €0.99/mån.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Var den här guiden till hjälp?