Sådan bruger du en WireGuard-konfigurationsfil
På denne side
En WireGuard-forbindelse er en tekstfil. Det er virkelig alt, hvad den er — en håndfuld linjer med dine nøgler, serverens adresse og reglerne for, hvad der sendes gennem tunnelen. Når du har den fil, er det at oprette forbindelse til en WireGuard VPN-server blot et spørgsmål om at give den til WireGuard-appen på den enhed, du bruger.
Denne guide gør to ting. Først gennemgår den en rigtig konfigurationsfil linje for linje, så du ved, hvad hver indstilling gør, og hvilken du skal ændre, når noget er galt. Derefter viser den, hvordan du importerer filen og opretter forbindelse på Windows, Android, iPhone, macOS, Linux og en router, efterfulgt af den håndfuld problemer, der står bag næsten enhver klage over WireGuard: handshaket, der aldrig fuldføres, og tunnelen, der forbinder, men ikke vil indlæse en side.
Hvad der står i en .conf-fil, linje for linje
Alle WireGuard-konfigurationer har den samme todelte opbygning. [Interface] beskriver din ende af tunnelen; [Peer] beskriver den maskine, du forbinder til. Her er en komplet klientkonfiguration, hvor hemmelighederne er erstattet med pladsholdere:
[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 er en dokumentationsadresse reserveret af RFC 5737 — intet af det forbinder til noget. Brug værdierne fra din egen fil.[Interface]-blokken: din side
- PrivateKey — den er din identitet på VPN'en. Alle, der har den, kan udgive sig for at være dig. Den er 44 base64-tegn lang og slutter med
=; hvis din har en anden længde, er filen blevet afkortet et sted under kopieringen. - Address — den IP, din enhed har inde i tunnelen, ikke din offentlige IP.
/32betyder "kun denne ene adresse", hvilket er normalt for en klient. - DNS — den resolver, der bruges, mens tunnelen er oppe. Uden den bliver din enhed ved med at spørge din gamle resolver, hvilket både lækker, hvad du slår op, og ofte ikke kan slå noget op på den anden side.
- MTU — valgfri, og den enkeltlinje, det er mest nyttigt at kende til. Den mangler i de fleste filer, fordi standardværdien er rigtig; se fejlfinding for det tilfælde, hvor den ikke er.
[Peer]-blokken: serverens side
- PublicKey — serverens offentlige nøgle. Din egen står aldrig i din egen fil; den ligger på serveren.
- Endpoint — hvor pakkerne skal sendes hen, som
host:port. WireGuard kører kun over UDP, og51820er den gængse port, ikke en påkrævet. - AllowedIPs — hvilke destinationer der går gennem tunnelen.
0.0.0.0/0, ::/0betyder alt, og det er netop, hvad en privatlivs-VPN er til. En smallere liste — for eksempel kun din virksomheds interne adresseområde — sender kun det igennem og lader resten gå over din normale forbindelse. Den opsætning kaldes en split tunnel, og det er et bevidst valg, ikke en defekt fuld tunnel. - PersistentKeepalive — sender en lille pakke hvert 25. sekund, så NAT-enheden mellem dig og serveren holder returvejen åben. Nødvendig, når du er bag NAT, og det er du altid på en telefon eller en hjemmeforbindelse.
Address og DNS er slet ikke WireGuard-indstillinger — de er instruktioner til hjælpeværktøjet wg-quick, som konfigurerer dit netværksinterface. WireGuard selv ser dem aldrig. Du kan se det ske: wg-quick strip wg0 udskriver den konfiguration, kernen faktisk modtager, og begge linjer er simpelthen væk. Det betyder noget, hvis du nogensinde opsætter en tunnel med wg setconf i stedet for wg-quick, for så tildeler intet din adresse eller din resolver, og tunnelen kommer op forbundet til ingenting.Brug for en konfigurationsfil at importere? En HytHost VPN-tjeneste giver dig en færdig WireGuard-konfiguration fra €0.99/md.
Se VPN-planerWindows: importér tunnelen
Windows har en officiel WireGuard-app, og at importere en fil i den er hele opgaven.
- Installér WireGuard fra wireguard.com/install.
- Klik på Tilføj tunnel nederst til venstre, hvilket åbner en filvælger filtreret til Konfigurationsfiler (*.zip, *.conf). Vælg din
.conf, og den dukker op i tunnellisten med filens navn. - Eller indsæt den i stedet. Pilen ved siden af Tilføj tunnel tilbyder Tilføj tom tunnel…, som giver dig et tekstfelt — praktisk, når konfigurationen kom i en besked og ikke som fil. Feltet er udfyldt på forhånd med en ny privat nøgle, så slet den linje og indsæt din egen konfiguration hen over det hele.
- Klik på Aktivér. Status skifter til Aktiv, og panelet begynder at tælle overførte bytes. Den bytetæller er det hurtigste tjek, du har: viser den data, der går ud, og intet, der kommer tilbage, bliver dit handshake ikke fuldført.
Android og iPhone: scan QR-koden eller importér filen
På en telefon har du to veje ind, og QR-koden findes netop, fordi det er en plage at taste en nøgle på 44 tegn på en touchskærm.
Android
- Installér WireGuard fra Play Store, og tryk på knappen +.
- Skærmen Opret WireGuard tunnel tilbyder Scan fra QR-kode, Importér fra fil eller arkiv og at oprette en fra bunden. Vælg det, der passer til det, du har fået.
- Giv tunnelen et navn, hvis du bliver bedt om det, og slå derefter dens kontakt til. Android beder én gang om tilladelse til at tilføje en VPN-konfiguration — den forespørgsel kommer fra styresystemet, ikke fra appen.
iPhone og iPad
- Installér WireGuard fra App Store, og tryk på Add a tunnel.
- Under Add a new WireGuard tunnel vælger du Create from QR code eller Create from file or archive. Scannerskærmen hedder Scan QR code; efter en vellykket scanning beder den dig navngive tunnelen.
- Slå den til, og tillad VPN-konfigurationen, når iOS spørger.
Sådan laver du en QR-kode ud fra en konfigurationsfil, du allerede har
En QR-kode er ikke noget, udbyderen skal give dig — det er blot din konfigurationsfil tegnet som et billede, og du kan selv lave den med én kommando. WireGuard-appen foreslår det endda selv:
# 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 og Linux
macOS
Installér WireGuard fra Mac App Store. Mac-appen er ikke iPhone-appen på en større skærm: den bor i menulinjen, og dens vindue åbnes fra Manage Tunnels. Klik på Import tunnel(s) from file (menulinjen har det samme som Import Tunnel(s) from File…), vælg din .conf, markér derefter tunnelen og klik på Activate. Der er ingen QR-scanner på Mac'en — QR-koder er til telefoner — så brug selve filen, eller vælg Add Empty Tunnel… og indsæt konfigurationen.
Foretrækker du at arbejde i en terminal, giver brew install wireguard-tools dig de samme wg-quick-kommandoer som på Linux, beskrevet herunder.
Linux
- Installér værktøjerne. På Debian eller Ubuntu:
sudo apt install wireguard. De fleste distributioner har en pakke med samme navn. - Læg filen, hvor wg-quick leder efter den. Det er her, folk tager fejl, fordi filnavnet bliver interfacets navn:
sudo install -m 600 -o root -g root wg0.conf /etc/wireguard/wg0.conf
600er vigtig — filen indeholder din private nøgle og bør ikke kunne læses af andre brugere på maskinen. Hold navnet kort og enkelt; det skal være et gyldigt navn på et netværksinterface. - Start den:
sudo wg-quick up wg0 sudo wg show
wg shower den ene kommando, der er værd at huske. Den viser peeren, endpointet, en latest handshake-linje og overførselstællere. Et handshake-tidsstempel, der aldrig dukker op, er kendetegnet for problemet i næste afsnit. - Start den ved opstart:
sudo systemctl enable --now wg-quick@wg0. For at stoppe tunnelen manuelt:sudo wg-quick down wg0.
wg-quick: `/etc/wireguard/wg0.conf' does not exist betyder, at det navn, du angav, ikke svarer til en fil i den mappe — du bad om wg0, og filen hedder noget andet. Og hvis tunnelen nægter at komme op og klager over resolvconf, er det DNS-linjen: wg-quick kræver, at resolvconf eller systemd-resolved er til stede for at anvende den. Installér en af dem, eller fjern DNS-linjen og sæt din resolver selv.På routeren, så hele hjemmet er dækket
Lægger du tunnelen på routeren, dækker den alle enheder bag den, også dem, der slet ikke kan køre en VPN-app — en spillekonsol, et TV, en smart højttaler. Om du kan gøre det, afhænger udelukkende af din firmware.
| Firmware | WireGuard-understøttelse | Hvor du skal kigge |
|---|---|---|
| OpenWrt | Ja, med en pakke | Installér luci-proto-wireguard, tilføj derefter et interface med protokollen WireGuard VPN, og udfyld felterne fra din fil |
| Asus (nyere original firmware) | Ja, på mange modeller | VPN-sektionen har en WireGuard-klient, der importerer en .conf direkte |
| Asuswrt-Merlin | Ja | Samme idé, med mere kontrol over routingen |
| Mikrotik RouterOS 7 | Ja | WireGuard er indbygget; RouterOS 6 har det slet ikke |
| Typisk router fra internetudbyderen | Som regel ikke | Ingen WireGuard og ingen måde at tilføje det på — se nedenfor |
Er din router den boks, internetudbyderen gav dig, er de realistiske muligheder at sætte en router, du selv styrer, bag den, eller at blive ved med at bruge konfigurationer pr. enhed. Ingen af delene er et nederlag; en opsætning pr. enhed er ofte bedre alligevel, fordi du kan lade tunnelen være slået fra på de enheder, der ikke har brug for den.
Én ting skal du beslutte, før du sender hele hjemmet gennem en tunnel: alt går så gennem den. Banksider, der ikke bryder sig om udenlandske adresser, streaming, der tjekker din region, og alt, der taler med enheder på dit eget netværk, kan opføre sig anderledes. Det er her, en smallere AllowedIPs gør sig fortjent — send kun det, der skal igennem, og lad resten være.
Den forbinder, men intet indlæses — og andre reelle problemer
WireGuard er usædvanligt stille, når noget fejler, og det er et bevidst designvalg — en uautentificeret pakke får slet intet svar, så en scanner ikke kan se, om noget lytter. Bivirkningen er, at en forkert nøgle, en forkert port og et blokeret netværk ser helt ens ud fra din side: stilhed. Gå ud fra symptomet.
| Hvad du ser | Hvad det som regel er | Hvor du skal kigge |
|---|---|---|
| Aldrig noget handshake; sendte bytes stiger, modtagne bliver på nul | Intet svarer, eller svaret kan ikke komme tilbage | Endpoint, serverens PublicKey, blokeret UDP |
| Handshake i orden, små ting virker, websider hænger halvt indlæst | MTU | Tilføj en MTU-linje til [Interface] |
| Forbundet, men intet kan slås op | DNS | DNS-linjen, og resolvconf på Linux |
| Forbundet, navne slås op, men ingen trafik går gennem tunnelen | AllowedIPs for smal | AllowedIPs i [Peer] |
| Virker, men stopper efter et minut eller to uden aktivitet | NAT-mappingen er udløbet | PersistentKeepalive = 25 |
"Handshake did not complete"
Din enhed sendte en initieringspakke og fik intet tilbage. Tjek i denne rækkefølge:
- Endpointet. Rigtig host, rigtig port, og porten er UDP. En slåfejl her giver præcis dette symptom og intet andet.
- Om UDP overhovedet kommer ud. Gæste-wifi, hotelnetværk, nogle virksomhedsnetværk og enkelte mobiloperatører tillader kun TCP på almindelige porte. Virker den samme konfiguration på din hjemmeforbindelse og fejler på ét bestemt netværk, er konfigurationen i orden, og netværket er problemet.
- Nøglerne sidder rigtigt.
PublicKeyi[Peer]er serverens offentlige nøgle, og serveren skal for sig have den offentlige nøgle, der passer til dinPrivateKey. En konfiguration, der er kopieret til en anden enhed, fejler her. - Dit ur. WireGuards handshake indeholder et tidsstempel og afviser et, der er langt ved siden af. Det er sjældent, men det sker på enheder, der har mistet tiden.
Virker tunnelen hjemmefra, men aldrig fra en mobilforbindelse, kan årsagen ligge hos din udbyder snarere end hos dig — carrier-grade NAT og lignende ordninger ændrer, hvad der kan nå dig. Guiden til port forwarding forklarer, hvordan du finder ud af det fra din egen router på et par minutter.
MTU-problemet, som er værd at forstå én gang
Det er det klassiske tilfælde af "forbundet, men internettet er i stykker", og mønsteret er karakteristisk: ping virker, DNS virker, små sider virker, og alt, hvad der er større, går i stå for evigt.
Årsagen er størrelse. Når din trafik pakkes ind til tunnelen, tilføjes der headere, så en pakke, der passede præcis til din normale forbindelse, ikke længere passer, når den er inde i WireGuard. Små pakker slipper igennem; store bliver smidt væk. Normalt fortæller netværket afsenderen, at den skal bruge mindre pakker, men den besked, der gør det, bliver ofte filtreret, så i stedet for en fejl venter du bare.
Løsningen er at bede WireGuard om at bruge mindre pakker fra starten. wg-quick prøver allerede: den tager MTU'en fra din normale rute og trækker 80 bytes fra til tunnelens overhead, så på en almindelig forbindelse på 1500 bytes får du 1420. Er det stadig for stort — på nogle mobilnetværk og de fleste forbindelser, der allerede kører gennem en anden tunnel — så sæt den eksplicit og gå nedad:
[Interface] MTU = 1420 # what wg-quick would have picked # still stalling? try 1380, then 1280
1280 er den nedre grænse, der er værd at prøve, fordi det er den mindste pakkestørrelse, IPv6 kræver, at alt kan bære, så den kommer igennem stort set enhver vej. Det koster lidt effektivitet og er langt bedre end en tunnel, der hænger.
Tunnelen er oppe, men intet går gennem den
Tjek AllowedIPs først. Det er ikke en firewall eller en tilladelsesliste — den afgør, hvilke destinationer der overhovedet routes ind i tunnelen. Indeholder den ikke 0.0.0.0/0, var trafik til resten af internettet aldrig ment til at gå igennem, og din forbindelse opfører sig præcis som konfigureret. På Linux viser ip route show table all | grep wg0, hvad der faktisk blev routet.
Er routingen i orden, og navne blot ikke kan slås op, er det DNS-linjen — enten mangler den, eller også står den der, men anvendes ikke, fordi resolvconf ikke er installeret.
Hvor konfigurationsfilen kommer fra
Alt ovenfor forudsætter, at du har en fil. Der er præcis to måder at få en på.
Kør serveren selv
Du genererer et nøglepar, installerer WireGuard på en maskine med en offentlig adresse, tilføjer din enhed som peer og skriver klientkonfigurationen i hånden. Det er ikke svært, og det er virkelig godt at lære. Prisen er løbende: en server, der skal betales og holdes opdateret, og en manuel redigering i begge ender, hver gang du tilføjer en enhed — for husk, én peer er én enhed.
Få en fra en udbyder
Alternativet er, at filen genereres for dig, og at du downloader den. Med HytHost VPN, fra €0.99/md, er det her, den ligger:
- Bestil tjenesten, og log ind i kundeområdet, og åbn derefter din VPN-tjeneste fra listen.
- Find sektionen WireGuard Configuration. Den giver dig to knapper — Copy to Clipboard, som lægger konfigurationsteksten i din udklipsholder, og Download Configuration, som giver dig den færdige fil.
- Hvis du kopierede den, så indsæt den i en almindelig teksteditor, og gem den med filtypen
.conf—wg0.confer et godt navn. Sørg for, at din editor ikke har tilføjet.txttil sidst. - Importér den ved hjælp af afsnittet ovenfor for din enhed. På en telefon laver du den først om til en QR-kode med
qrencode.
Den samme side viser, om tunnelen i øjeblikket er forbundet til serveren, hvilket afgør spørgsmålet "er det mig, eller er det dem", før du begynder at ændre indstillinger. Der er ingen QR-kode-knap — lav den selv ud fra filen, hvilket også betyder, at koden aldrig rejser nogen steder hen, hvor den ikke behøvede at komme.
Brug for en konfigurationsfil at importere? En HytHost VPN-tjeneste giver dig en færdig WireGuard-konfiguration fra €0.99/md.
Se VPN-planerOfte stillede spørgsmål
Installér den officielle WireGuard-app, importér den konfigurationsfil, din server eller udbyder har givet dig, og slå tunnelen til. På Windows er det Tilføj tunnel efterfulgt af Aktivér; på Android og iPhone kan du scanne filen som en QR-kode i stedet for at importere den; på Linux lægger du filen i /etc/wireguard/ og kører wg-quick up med dens navn. Et handshake-tidsstempel og modtagne data i appen bekræfter, at forbindelsen er oppe.
En almindelig tekstfil, som regel med endelsen .conf, med to blokke. [Interface] beskriver din enhed: dens private nøgle, den adresse, den får inde i tunnelen, og den resolver, der skal bruges. [Peer] beskriver serveren: dens offentlige nøgle, dens host og UDP-port, og hvilke destinationer der skal routes gennem tunnelen. Den fil er hele forbindelsen — intet andet gemmes nogen steder på din enhed.
Ikke pålideligt, og grunden er værd at kende. En konfiguration er én peer, identificeret af ét nøglepar, og serveren holder styr på én aktuel placering for hver peer. Forbinder du en telefon og en bærbar med den samme fil, sender serveren returtrafikken til den, der senest lavede et handshake, så begge forbindelser falder ind og ud. Hver enhed skal have sin egen konfiguration med sit eget nøglepar.
Du genererer den ud fra den konfigurationsfil, du allerede har — en WireGuard-QR-kode er simpelthen den fil kodet som et billede. Kør qrencode -t ansiutf8 < wg0.conf for at vise den i en terminal og scanne den fra skærmen, eller qrencode -o wg0.png < wg0.conf for at gemme et billede. Fordi koden indeholder den private nøgle, skal den behandles som selve filen: aldrig delt offentligt nogen steder.
Nej. Den private nøgle er det, der identificerer din enhed på VPN'en, så alle, der har filen, kan forbinde som dig. Den må aldrig deles i en chat, på et forum, i en issue tracker eller i en supportsag, og det samme gælder en QR-kode eller et skærmbillede af filen. Er en konfiguration blevet eksponeret, er løsningen at generere et nyt nøglepar og erstatte peeren i stedet for at håbe, at ingen har læst den.
Den besked betyder, at initieringspakken blev sendt, og at intet kom tilbage, og WireGuard kan ikke fortælle dig hvorfor, fordi den aldrig modtog et svar. Tjek host og port i Endpoint, bekræft, at det netværk, du er på, tillader udgående UDP, og bekræft, at PublicKey under [Peer] er serverens nøgle, mens serveren har den offentlige nøgle, der passer til din private. Virker den samme fil på et andet netværk, er filen korrekt, og netværket filtrerer UDP.
Dette mønster — handshake i orden, ping i orden, websider der går i stå — er næsten altid MTU. Når trafikken pakkes ind til tunnelen, vokser hver pakke, så pakker, der før passede, bliver smidt væk, og den besked, der normalt ville melde det, bliver ofte filtreret. Tilføj en MTU-linje til [Interface]: 1420 er det, wg-quick ville beregne på en almindelig forbindelse, og 1380 eller 1280 virker, hvor det stadig er for stort.
Ikke for at bruge en konfigurationsfil. Klienten laver en udgående UDP-forbindelse til serveren, og svaret kommer tilbage gennem den mapping, som forbindelsen opretter — og det er den, PersistentKeepalive holder åben. En port skal kun åbnes på den side, der kører WireGuard-serveren og skal tage imod indgående forbindelser.
Fra en udbyder, der genererer den for dig. En HytHost VPN-tjeneste, fra €0.99/md, viser en WireGuard Configuration-sektion i kundeområdet med en knap til at kopiere konfigurationsteksten og en knap til at downloade den færdige fil. Derfra importeres den i WireGuard-appen på enhver enhed, og den samme side viser, om tunnelen i øjeblikket er forbundet.
En konfigurationsfil, du beholder
HytHost VPN giver dig en WireGuard-konfiguration, som du downloader én gang og importerer på enhver enhed — Windows, Android, iPhone, macOS, Linux eller din router. Fra €0.99/md.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursVar denne guide en hjælp?