Så använder du en WireGuard-konfigurationsfil
På den här sidan
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
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.
/32betyder "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
- PublicKey — serverns 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, och51820är den vanliga porten, inte ett krav. - AllowedIPs — vilka destinationer som går genom tunneln.
0.0.0.0/0, ::/0betyder 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.
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-paketWindows: importera tunneln
Windows har en officiell WireGuard-app, och att importera en fil i den är hela jobbet.
- Installera WireGuard från wireguard.com/install.
- Klicka på Skapa tunnel längst ned till vänster, vilket öppnar en filväljare filtrerad på Inställningsfiler (*.zip, *.conf). Välj din
.confså dyker den upp i tunnellistan, namngiven efter filen. - 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.
- 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.
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
- Installera WireGuard från Play Store och tryck på knappen +.
- 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.
- 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
- Installera WireGuard från App Store och tryck på Add a tunnel.
- 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.
- 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.
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
- Installera verktygen. På Debian eller Ubuntu:
sudo apt install wireguard. De flesta distributioner har ett paket med samma namn. - 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
600spelar 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. - 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. - Starta den vid uppstart:
sudo systemctl enable --now wg-quick@wg0. För att stoppa tunneln manuellt:sudo wg-quick down wg0.
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.
| Firmware | Stöd för WireGuard | Var du ska leta |
|---|---|---|
| OpenWrt | Ja, med ett paket | Installera 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 modeller | VPN-avsnittet har en WireGuard-klient som importerar en .conf direkt |
| Asuswrt-Merlin | Ja | Samma idé, med mer kontroll över routningen |
| Mikrotik RouterOS 7 | Ja | WireGuard är inbyggt; RouterOS 6 har det inte alls |
| Vanlig router från internetleverantören | Oftast inte | Ingen 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.
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 ser | Vad det oftast är | Var du ska leta |
|---|---|---|
| Aldrig något handshake; skickade byte ökar, mottagna står kvar på noll | Inget svarar, eller svaret kan inte ta sig tillbaka | Endpoint, serverns PublicKey, blockerad UDP |
| Handshake fungerar, små saker fungerar, webbsidor hänger halvladdade | MTU | Lägg till en MTU-rad i [Interface] |
| Ansluten, men inga namn slås upp | DNS | DNS-raden, och resolvconf på Linux |
| Ansluten, namn slås upp, men ingen trafik går genom tunneln | AllowedIPs för snäv | AllowedIPs i [Peer] |
| Fungerar, men slutar efter en minut eller två utan aktivitet | NAT-mappningen har löpt ut | PersistentKeepalive = 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.
PublicKeyi[Peer]är serverns publika nyckel, och servern måste separat ha den publika nyckel som hör till dinPrivateKey. 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:
- Beställ tjänsten och logga in på kundområdet, och öppna sedan din VPN-tjänst i listan.
- 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.
- Om du kopierade den, klistra in den i en vanlig textredigerare och spara den med filändelsen
.conf—wg0.confär ett bra namn. Se till att redigeraren inte har lagt till.txti slutet. - 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-paketVanliga 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 hoursVar den här guiden till hjälp?