Fler och fler människor använder sin egen VPN istället för att förlita sig på betalda, färdiga tjänster: det är billigare, bättre för integriteten och ger dig full kontroll över servern. Ett av de mest effektiva alternativen för regioner med aggressiv nätverksblockering är AmneziaWG, ett protokoll som utvecklats av Amnezia-projektet ovanpå WireGuard.
Klassiska WireGuard är snabba och pålitliga, men de har en fast paketstruktur och en förutsägbar handskakning, vilket DPI-system (Deep Packet Inspection) pålitligt kan fingeravtrycksläsa och blockera. AmneziaWG löser detta: de lägger till skräppaket i den vanliga WireGuard-anslutningen, slumpmässigt använder rubriker och ändrar storleken på handskakningsfälten – så att WireGuards karakteristiska signatur försvinner och trafiken inte längre sticker ut från vanlig UDP-trafik.
Kör du redan en klassisk tunnel och undrar om det är värt att byta? Jämför detta med en vanlig OpenVPN/PPTP-konfiguration i VPN-serverkonfiguration på Linux: PPTP eller OpenVPN?, eller mot vanligt WireGuard (utan obfuskation) i Hur man konfigurerar Wireguard VPN på din server.
Den här guiden konfigurerar en AmneziaWG-server manuellt, utan Docker eller en webbpanel – det minsta möjliga fotavtrycket på själva VPS:en, konfigurerad helt från kommandoraden. Det är det lättaste alternativet och fungerar bra på en budget-VPS, eftersom den inte behöver något grafiskt gränssnitt, ingen databas och ingen omvänd proxy. Exempelservern nedan använder en platshållar-IP-adress – ersätt den med din egen VPS-adress var den än visas.
Det här behöver du: en VPS som kör Ubuntu 22.04/24.04 eller Debian 11/12, root-åtkomst och din VPS IP-adress. Ett domännamn krävs inte — AmneziaWG använder inga certifikat, så det finns inget att förnya och inget för DPI att flagga som en TLS-handskakning.
Har du ingen server än? Se Så här beställer du en server
Ansluter till servern
Windows (PuTTY)
Öppna PuTTY, ange din VPS IP-adress i fältet Värdnamn, ställ in porten till 22 och logga in som root med lösenordet som din VPS-leverantör skickade till dig via e-post.
Serverns IP-adress: din IP-adress
logga in som: root
Lösenord: ditt lösenord
1. Öppna PuTTY, ange din VPS IP-adress i fältet Värdnamn.
2. Ställ in porten till 22.
3. Ange logga in som root.
4. Använd lösenordet som din VPS-leverantör skickade till dig via e-post.
Resultatet ska bli som följer:
För en detaljerad genomgång av hur man ansluter via PuTTY/SSH, se Så här ansluter du till en Linux-server via SSH
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Alla kommandon nedan körs på servern, i samma SSH-session – som täcker avsnitt 2 till 5, plus serversidekontrollerna i avsnitt 9. Avsnitt 6–8 (installation och konfiguration av VPN-klienten) sker istället på din egen Windows/macOS/Linux-enhet, eftersom det är den enhet som VPN:et behöver köras på; vart och ett av dessa avsnitt anger explicit vilka linjer, om några, som fortfarande berör servern.
Förbereder servern
Uppdatera systemet
Innan du installerar något, uppdatera paketlistan och uppgradera installerade paket:
apt update -y && apt upgrade -y
Om detta uppgraderar kärnan, starta om den innan du bygger AmneziaWG-kärnmodulen i avsnitt 3, annars kan DKMS bygga mot fel kärnhuvuden och modulen kommer inte att laddas. (För en uppdatering om apt och hur Linux-pakethanterare fungerar, se Linux-pakethanterare .) Kontrollera med:
cat /var/run/reboot-required
Aktivera IP-vidarebefordran
Den här inställningen låter servern vidarebefordra klienters paket till internet – utan den kommer tunneln att öppnas men ingen trafik kommer att passera genom den.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Det första kommandot skapar en dedikerad konfigurationsfil; det andra tillämpar den utan att starta om servern.
Konfigurera brandväggen (UFW)
För mer information om UFW-regler, se Konfigurera brandvägg på Linux.
Öppna de två portarna du behöver: 22/tcp för SSH (hoppa över den här regeln och du riskerar att förlora åtkomst till servern) och 42666/udp, porten som AmneziaWG lyssnar på.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Båda reglerna bör visas som ALLOW i ufw-statusutdata.
Installera AmneziaWG
Debian har inte direkt stöd för Ubuntu-liknande PPA:er, så repository måste läggas till manuellt istället för med add-apt-repository. Detta fungerar på samma sätt i Ubuntu.
Lägg till arkivet manuellt
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Lägg till GPG-signeringsnyckeln
Använd en föråldrad nyckelringsfil istället för det föråldrade apt-key-kommandot och hämta PPA:ns riktiga signeringsnyckel (fingeravtryck 75C9DD72C799870E310542E24166F2C257290828):
apt install -y gnupg2
gpg --keyserver keyserver.ubuntu.com --recv-keys 57290828
gpg --export 57290828 | tee /usr/share/keyrings/amnezia.gpg > /dev/null
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/amnezia.gpg] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Uppdatera och installera
apt update
apt install -y amneziawg
Verifiera att modulen är laddad
modprobe amneziawg
lsmod | grep amnezia
Generera server- och klientkonfiguration
Installera hjälpverktyg
Installera qrcode-beroendet, skapa sedan en dedikerad arbetskatalog och ladda ner community config-generator-skriptet till den:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Om python3-qrcode inte är tillgängligt på din distributions repos, använd pip3 install qrcode --break-system-packages (flaggan krävs på Debian 12+/Ubuntu 24.04, som blockerar ohanterade pip-installationer som standard). Kör inte båda installationerna — välj en.
Generera serverkonfigurationen
Skapa /etc/amnezia/amneziawg/awg0.conf. Du kan lämna tunnelns interna subnät och UDP-port vid standardinställningarna eller ställa in dina egna:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
Flaggan -i anger tunnelns interna nätverksadress och mask; -p anger serverns UDP-port (samma som öppnades i steg 2.3).
Skapa klientkonfigurationsmallen
python3 awgcfg.py --create
Detta sparar en mall i samma mapp som enskilda klientkonfigurationer byggs från – den inkluderar redan serverns publika nyckel, dess IP-adress och obfuskeringsparametrarna (Jc, Jmin, Jmax, S1, S2, H1–H4) som skiljer AmneziaWG från vanlig WireGuard.
Lägg till klienter
Skapa en post per enhet — namnet kan vara vad som helst, t.ex. enhetens namn:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Generera klientfiler och QR-koder
python3 awgcfg.py -c -q
Mappen ~/awg kommer nu att innehålla filer som laptop.conf och phone.conf, plus matchande PNG QR-koder som du kan skanna direkt in i en mobilapp.
Mappen ~/awg kommer nu att innehålla filer som laptop.conf och phone.conf, plus matchande PNG QR-koder som du kan skanna direkt in i en mobilapp.
Starta tjänsten och aktivera autostart
Öppna awg0-gränssnittet och aktivera det så att det startar automatiskt vid omstart:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Statusen ska visa aktiv (avslutad) med enheten aktiverad vid start. Om konsolen verkar "hänga sig" och visar loggar, tryck på Q för att avsluta.
Kontrollera listan över aktiva peers och trafik per peer med:
awg show
Ansluta från Windows
Allt i det här avsnittet sker på din Windows-dator, inte via SSH – VPN-klienten måste installeras på den enhet som faktiskt ska använda tunneln. Det enda steget som berör servern är scp-nedladdningen i 6.2, och även det kommandot skrivs på din dator, vilket hämtar en fil som servern redan genererat i avsnitt 4.
Installera klienten
AmneziaWG har en dedikerad Windows-app – dess gränssnitt speglar standardklienten för WireGuard men den förstår obfuskeringsparametrarna. Ladda ner installationsprogrammet från projektets officiella arkiv:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Länken ovan är den underhållna Windows-klientens versionssida – ladda ner den senaste .msi/.exe-filen därifrån. Detta är en sida som ska öppnas i din webbläsare, inte ett kommando som ska klistras in i en terminal.
Kör installationsprogrammet och gå igenom installationsguiden; standardinställningarna behöver inte ändras.
Importera konfigurationen
Kopiera klientkonfigurationsfilen från servern till din dator — det enklaste sättet är scp, kör i PowerShell på din dator, inte servern:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
I AmneziaWG-appen klickar du på "Importera tunnel(ar) från fil", väljer laptop.conf och aktiverar växlingsknappen bredvid den nya tunneln.
Ansluter från macOS
Två alternativ som stöds finns:
- AmneziaWG (Mac App Store): en lättviktsklient, fungerar på macOS 12 och senare. Sök efter "AmneziaWG" i App Store, installera den, använd sedan "Importera tunnel(er) från fil" och välj din .conf-fil — samma arbetsflöde som Windows-klienten.
- AmneziaVPN (fullständig app, macOS 14+): ladda ner .pkg från github.com/amnezia-vpn/amnezia-client/releases/latest om du hellre vill använda den kompletta Amnezia-appen istället för den lätta AmneziaWG-enbart-klienten.
Kopiera klientkonfigurationen först om det behövs, samma som i steg 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Ansluter från Linux
På en Linux-stationär eller bärbar dator har du två alternativ:
- GUI: installera den fullständiga AmneziaVPN-skrivbordsklienten från github.com/amnezia-vpn/amnezia-client/releases och importera sedan .conf-filen på samma sätt som i Windows/macOS.
- CLI, med samma amneziawg-verktyg som används på servern (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Kör den här koden för att koppla bort.
awg-quick down awg0
För att öppna tunneln automatiskt vid inloggning, aktivera den som en tjänst:
systemctl enable --now awg-quick@awg0
Verifierar anslutningen
Med tunneln aktiv från avsnitt 6, 7 eller 8, gå tillbaka till din egen enhet (inte SSH-sessionen) och öppna valfri "vad är min IP"-kontroll i en webbläsare — adressen som visas ska matcha din VPS IP-adress. För att verifiera inifrån SSH-sessionen istället, kör awg show på servern och bekräfta att klientens motpart visar en nyligen genomförd handskakning och trafik som inte är noll.
Referens:
|
Fält |
Värderar |
|
Adress |
YOUR_TUNNEL_IP (klientens adress inuti tunneln, t.ex. 10.10.8.2/32 — tilldelas automatiskt när klienten lades till i steg 4.4) |
|
Slutpunkt |
YOUR_SERVER_IP:42666 (Serverns externa IP-adress och UDP-porten som klienten ansluter till.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
antal och storlek på "skräppaket" som skickas före handskakningen — kan variera mellan server och klient utan att anslutningen bryts |
|
S1 / S2 |
storleken på handskakningsfälten — måste matcha byte-för-byte mellan servern och varje klient |
|
H1–H4 |
pakettypsrubriker som maskerar protokollet som vanlig trafik — måste också matcha exakt och vara unika från varandra |
Endast S1/S2 och H1–H4 behöver vara identiska i båda ändar av tunneln; Jc, Jmin och Jmax handlar enbart om hur varje sida utfyller sin egen utgående skräptrafik, så klient- och servervärdena kan legitimt skilja sig åt, som de gör i exemplet ovan.
Slutsats
Genom att följa den här guiden kör din VPS sin egen AmneziaWG-server: ett WireGuard-kompatibelt protokoll med trafikförvrängning som är märkbart svårare för DPI-system att skilja från vanlig UDP-trafik än vanlig WireGuard. Tjänsten körs som systemd-enheten awg-quick@awg0 och överlever en omstart av servern utan någon åtgärd från din sida.
De resulterande .conf-filerna och QR-koderna i ~/awg fungerar inte bara med Windows-klienten utan kan också importeras till AmneziaWG- eller Amnezia-apparna för Android, iOS, macOS och Linux, samt Keenetic- och OpenWrt-routrar.
Lägg till nya klienter när som helst genom att upprepa steg 4.4–4.5 (python3 awgcfg.py -a "namn", sedan awgcfg.py -c -q) och starta om gränssnittet med systemctl restart [email protected].
Några vanor som är värda att behålla när servern väl är igång:
- Håll systemet uppdaterat. Kör apt update -y && apt upgrade -y regelbundet, och starta om efter kärnuppgraderingar så att DKMS återskapar amneziawg-modulen mot den nya kärnan.
- Säkerhetskopiera ~/awg. Den innehåller varje klients privata nyckel och serverns eget nyckelpar i awg0.conf; att förlora den innebär att konfigurationer genereras om för varje enhet.
- Återkalla förlorade enheter omedelbart. Ta bort motsvarande [Peer]-block från /etc/amnezia/amneziawg/awg0.conf och kör systemctl restart. [e-postskyddad].
Om anslutningen inte uppstår, kontrollera i ordning:
- tjänstens status (systemctl-status) [e-postskyddad])
- brandväggsreglerna (ufw-status — port 42666/udp måste vara öppen)
- DKMS/modulstatus om gränssnittet inte ens startar (dkms status, lsmod | grep amnezia)
- listan över aktiva motparter på servern (awg show)
- att klientkonfigurationen pekar på rätt extern server-IP-adress
Jämför AmneziaWG med andra alternativ innan du bestämmer dig? Se VPN-serverkonfiguration på Linux: PPTP eller OpenVPN? och Hur man konfigurerar Wireguard VPN på din server . Om du bara behöver en enkel proxy snarare än en fullständig VPN-tunnel är 3proxy-konfiguration på CentOS/ArchLinux ett enklare alternativ. För generell serverhärdning när VPN:et är live, se Linux-användare: Hantering och behörigheter.