Kunskapsbas Enkla instruktioner för att arbeta med Profitserver-tjänsten
Huvudsida Kunskapsbas AmneziaWG Server Distribution Guide

AmneziaWG Server Distribution Guide


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.  

Standardkonfigurationsfönstret för PuTTY, innan några anslutningsdetaljer har angetts.

2. Ställ in porten till 22. 

Sessionen är ifylld med VPS:ens IP-adress och port 22, med den sparade sessionen "Min VPS" vald och redo att klicka på Öppna.

3. Ange logga in som root. 

Ett nytt PuTTY-terminalfönster som öppnar SSH-sessionen och frågar efter användarnamnet för inloggning.

4. Använd lösenordet som din VPS-leverantör skickade till dig via e-post.

Efter att du har skrivit root frågar PuTTY efter kontots lösenord.

Resultatet ska bli som följer:

En lyckad inloggning: Debians meddelande-för-dagen-banner följt av root-skalprompten (root@copywr:~#).

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
Apt-uppgraderingen laddar ner ett nytt kärnpaket (linux-image-6.1.0-52-amd64) under systemuppdateringen. Apt-uppgraderingen slutförs: initramfs regenereras och berörda tjänster startas om.

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.

sysctl --system tillämpar varje sysctl.d-konfigurationsfil och bekräftar att net.ipv4.ip_forward = 1 nu är aktiv.

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.

Ufw-status bekräftar att 22/tcp och 42666/udp är tillåtna för både IPv4 och IPv6, med brandväggen aktiv.

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

Lägg till arkivet
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
Apt install -y amneziawg utdata: DKMS bygger amneziawg-kärnmodulen mot den körande kärnan och slutför installationen.

Verifiera att modulen är laddad

modprobe amneziawg
lsmod | grep amnezia
Modprobe amneziawg följt av lsmod, vilket bekräftar att amneziawg-modulen och dess beroenden (curve25519, chacha20poly1305, etc.) är laddade.

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.

Awgcfg.py är ett inofficiellt community-skript från tredje part (av GitHub-användaren "remittor"), inte ett officiellt Amnezia-projektverktyg. URL:en ovan pekar på gist-filens råa innehåll utan en revisionshash, så den hämtar alltid det som författaren senast tryckte på — en tyst uppdatering (eller att gist-filen tas bort) kan förstöra din installation utan förvarning. Där det är möjligt, fäst den istället till en specifik revision: öppna gist-filens revisionshistorik, kopiera commit-hashen för den version du har testat och använd en URL av formuläret i denna guide. 

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).

Awgcfg.py --make skapar /etc/amnezia/amneziawg/awg0.conf och identifierar serverns huvudsakliga nätverksgränssnitt (ens3).

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.

Awgcfg.py --create writing _defclient.config, mallen som nya klientkonfigurationer genereras från.

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"
Awgcfg.py -a registrerar klienterna "bärbar dator" och "telefon", som var och en tilldelats sin egen tunnel-IP (10.10.8.2/32 och 10.10.8.3/32).

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.

Det här communityskriptet har en känd egenhet: att köra det kan ta bort andra .init/state-filer som du kan ha placerat i samma mapp. Behåll ~/awg dedikerat endast till AmneziaWG-filer och säkerhetskopiera servernycklar ([Interface] PrivateKey i awg0.conf) någon annanstans innan du genererar om konfigurationerna.
Innehåll i den genererade laptop.conf-filen: klientens adress, DNS, obfuskeringsparametrar och avsnittet [Peer] som pekar tillbaka mot servern.

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.

Det här communityskriptet har en känd egenhet: att köra det kan ta bort andra .init/state-filer som du kan ha placerat i samma mapp. Behåll ~/awg dedikerat endast till AmneziaWG-filer och säkerhetskopiera servernycklar ([Interface] PrivateKey i awg0.conf) någon annanstans innan du genererar om konfigurationerna.

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.

Systemctl-status bekräftar att awg-quick@awg0.service är aktiv (avslutad) och aktiverad, med gränssnittets ip/iptables-installationskommandon i loggen.

Kontrollera listan över aktiva peers och trafik per peer med:

awg show
Awg visar en lista över awg0-gränssnittets obfuskeringsparametrar och dess två konfigurerade motparter (bärbar dator och telefon), var och en med sin tillåtna IP-adress.

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:

En tom Windows PowerShell-prompt på klientdatorn, redo att köra scp-kommandot nedan.
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

Allt här sker på din Mac, inte via SSH. Scp-raden nedan skrivs in i Macens egen terminal och hämtar konfigurationen som servern redan genererat i avsnitt 4 — den körs inte inuti din root-SSH-session på VPS:en.

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

Båda alternativen nedan körs på din Linux-stationära/bärbara dator, dvs. en separat SSH-session (eller lokalt skal) på den maskinen — inte root-SSH-sessionen på VPS:en från avsnitt 1. Kommandona råkar se identiska ut som de på serversidan eftersom samma amneziawg-tools-paket används i båda ändar, men att köra dem här installerar och startar en klienttunnel på din egen maskin, inte servern.

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.

❮ Föregående artikel Hysteria2 och TUIC-uppsättning
Nästa artikel ❯ Xray VLESS Reality Guide: VPS, Windows, Mac, Android, iPhone

Fråga oss om VPS

Vi är alltid redo att svara på dina frågor när som helst på dygnet.