Konfiguration av WireGuard-server på Linux (wg0, NAT, Peers)
12 min läsning - 22 juni 2026

Praktisk installation av WireGuard-server för Linux: nycklar, wg0.conf, NAT, hantering av peers med syncconf samt de felsökningskommandon som systemadministratörer faktiskt använder.
Kör en WireGuard-server när du vill ha privat åtkomst till hostad infrastruktur utan att exponera administratörsportar för det offentliga internet. Den använder autentisering med öppen nyckel, körs inuti Linux-kärnan sedan version 5.6 och är inte i vägen när den väl är igång. Det här inlägget behandlar när man ska använda en WireGuard-server, hur man startar wg0och hur man ser till att peers fungerar i det dagliga arbetet.
När ska man använda en WireGuard-server
De flesta installationer kan delas in i tre mönster: fjärråtkomst, server-till-server-länkar och site-till-site-routing.
För fjärråtkomst kör du servern på en VPS eller en dedikerad värd och dirigerar administratörstrafiken genom tunneln. Ställ in AllowedIPs på varje peer till det privata administrationssubnätet (något i stil med 10.0.0.0/24) så att endast trafik till interna system använder tunneln. All övrig trafik går via användarens lokala anslutning. Om användare ansluter från hemnätverk eller mobilnätverk, lägg till PersistentKeepalive = 25 på klientsidan för att förhindra att NAT-sessioner bryts.
För server-till-server-länkar ska AllowedIPs smala. Vanligtvis räcker det med ett enda /32 eller ett litet backend-subnät. Det förhindrar att irrelevant trafik dras in i tunneln och gör routningen förutsägbar.
Site-to-site fungerar annorlunda. WireGuard-värden fungerar som en gateway mellan subnät, så IP-vidarebefordran måste vara aktiverad och NAT-reglerna måste skicka returtrafiken ut via rätt gränssnitt.
| Mönster | AllowedIPs omfattning | Bäst lämpad | Komplexitet vid installation |
|---|---|---|---|
| Fjärråtkomst | Privata subnät, t.ex. 10.0.0.0/24 | Åtkomst för administratörer och utvecklare | Låg |
| Server-till-server | Specifika IP-adresser eller backend-subnät | Punkt-till-punkt-värdlänkar | Låg till medelhög |
| Plats-till-plats | Hela det fjärranslutna LAN-nätverket, t.ex. /24 | Gateway-till-gateway-routing | Medel till hög |
| Tillgång till privat tjänst | Endast internt subnät (split-tunnel) | Isolering av backend-tjänster | Medel |
Serverkonfiguration
Servern innehar den privata nyckeln, lyssnar på UDP 51820 som standard och avslutar tunneln. Samma grundinställning fungerar för alla tre mönstren ovan.
Nycklar och wg0.conf
Generera serverns nyckelpar:
wg genkey | sudo tee /etc/wireguard/server_private.key | wg pubkey | sudo tee /etc/wireguard/server_public.keySäkra den privata nyckeln:
sudo chmod 600 /etc/wireguard/server_private.keyDen privata nyckeln förblir på servern. Den offentliga nyckeln är den du delar med dina peers.
Skapa /etc/wireguard/wg0.conf:
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <SERVER_PRIVATE_KEY>
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o <PUBLIC_IFACE> -j MASQUERADE
[Peer]
PublicKey = <CLIENT_PUBLIC_KEY>
AllowedIPs = 10.8.0.2/32Hitta det utgående gränssnittet som du ska koppla in <PUBLIC_IFACE> med:
ip -o -4 route show to default | awk '{print $5}'Vidarebefordran, brandvägg och NAT
Öppna lyssningsporten:
sudo ufw allow 51820/udpAktivera IP-vidarebefordran genom att lägga till denna rad i /etc/sysctl.conf:
net.ipv4.ip_forward = 1Tillämpa utan omstart:
sudo sysctl -pDen PostUp och PostDown raderna i wg0.conf lägger till respektive tar bort NAT-maskeringsregeln när gränssnittet startas eller stängs av. Utan dem når returtrafiken från LAN aldrig tillbaka till motparten.
Att starta tunneln
wg-quick hanterar gränssnittet, routningen och PostUp/PostDown hooks i ett enda kommando:
sudo wg-quick up wg0För automatisk start efter omstart aktiverar du systemd-enheten:
sudo systemctl enable --now wg-quick@wg0Kontrollera status med:
sudo wg showEn aktuell latest handshake rad bekräftar att tunneln fungerar. Om den ser gammal eller tom ut, kontrollera brandväggen, nycklarna på båda sidor och motpartens AllowedIPs.
Lägga till och ta bort peers
Varje peer behöver ett eget nyckelpar. Generera det på klienten och lägg sedan till peerens publika nyckel wg0.conf i ett nytt [Peer] block med en AllowedIPs post som tilldelar dess tunnel-IP.
Använd /32 för en enskild enhet:
AllowedIPs = 10.8.0.3/32Detta förhindrar att en peer tar adresser som tilldelats en annan. För åtkomst via delad tunnel ska du endast ange de privata subnät som ska gå via tunneln, till exempel AllowedIPs = 10.8.0.0/24.
Tillämpa konfigurationsändringar utan att avbryta aktiva sessioner:
sudo wg syncconf wg0 <(wg-quick strip wg0)Att ta bort en peer fungerar på samma sätt. Ta bort dess [Peer] block från wg0.conf och kör syncconf igen.
Felsökning
Om en peer ansluter men inte kan nå något på andra sidan beror det vanligtvis på en av följande fyra orsaker:
- IP-vidarebefordran är avstängd
- NAT-maskeringregeln saknas
- Det utgående gränssnittet i NAT-regeln är felaktigt
AllowedIPsinnehåller inte destinationen
Kontrollera vidarebefordringen:
cat /proc/sys/net/ipv4/ip_forwardBör returnera 1. Om den returnerar 0, har sysctl-ändringen inte tillämpats eller inte sparats.
Kontrollera NAT-regeln och det utgående gränssnittet:
sudo iptables -t nat -L POSTROUTING
ip route get 1.1.1.1Det andra kommandot visar det faktiska namnet på det utgående gränssnittet, till exempel ens3, enp1s0, eller eth0. Det måste stämma överens med gränssnittet i MASQUERADE-regeln.
Om själva handskakningen saknas, kontrollera att UDP 51820 är öppet i brandväggen och hos eventuella uppströmsleverantörer, och att båda sidor har rätt offentlig nyckel för den andra.
För peers bakom privat- eller mobil-NAT som avbryter inaktiva UDP-sessioner, ställ in PersistentKeepalive = 25 på klienten.
Nyckelrotation och fördelade nycklar
För tunnlar som är aktiva i flera månader bör nycklarna bytas ut ungefär en gång om året. Generera ett nytt nyckelpar, uppdatera båda ändarna och tillämpa med wg syncconf. Återanvänd inte en privat nyckel mellan två peers. Det skapar routningskonflikter och stör överföringen mellan dem.
För ett extra säkerhetslager utöver autentisering med offentlig nyckel, lägg till en fördelad nyckel per peer:
wg genpskLägg till resultatet som PresharedKey = <PSK> i [Peer] -blocket på båda sidor. WireGuard blandar in PSK:n i handskakningen, så en angripare som på något sätt komprometterar en av de asymmetriska nycklarna kan ändå inte dekryptera trafiken utan den.
Användbara kommandon för daglig användning:
| Kommando | Syfte |
|---|---|
wg show | Peers, handskakningar, trafikräknare |
wg show wg0 transfer | Byte-räknare för wg0 |
wg show all dump | Maskinläsbar utdata för övervakningsskript |
wg syncconf wg0 <(wg-quick strip wg0) | Tillämpa konfigurationsändringar utan att avbryta sessioner |
wg genpsk | Skapa en fördelad nyckel |
Om du behöver en stabil, offentligt tillgänglig värd för att avsluta WireGuard-tunnlar och dirigera privat trafik till din infrastruktur, ta en titt på FDC:s VPS-abonnemang utan datagräns.

Digital ögonbelastning: Så skyddar du din syn i en värld där skärmar spelar en stor roll
Stirrar du på skärmar hela dagen? Lär dig hur du kan minska digital ögonbelastning med beprövade tekniker och verktyg. Den här guiden är oumbärlig för distansarbetare, utvecklare och alla som arbetar inom teknikbranschen.
4 min läsning - 21 maj 2025
Varför det är viktigt att ha en kraftfull VPS utan datataks
8 min läsning - 9 maj 2025

Har du frågor eller behöver du en anpassad lösning?
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning
Flexibla alternativ
Global räckvidd
Omedelbar driftsättning