Flere og flere mennesker bruger deres egen VPN i stedet for at stole på betalte, færdiglavede tjenester: det er billigere, bedre for privatlivets fred og giver dig fuld kontrol over serveren. En af de mest effektive muligheder for regioner med aggressiv netværksblokering er AmneziaWG, en protokol udviklet af Amnezia-projektet oven på WireGuard.
Klassisk WireGuard er hurtig og pålidelig, men den har en fast pakkestruktur og et forudsigeligt handshake, som DPI-systemer (Deep Packet Inspection) pålideligt kan fingeraftryksregistrere og blokere. AmneziaWG løser dette: den tilføjer uønskede pakker til den almindelige WireGuard-forbindelse, randomiserer headere og ændrer størrelsen på handshake-felter - så WireGuards karakteristiske signatur forsvinder, og trafikken ikke længere skiller sig ud fra almindelig UDP-trafik.
Kører du allerede en klassisk tunnel og spekulerer på, om det er værd at skifte? Sammenlign dette med en almindelig OpenVPN/PPTP-opsætning i VPN-serveropsætning på Linux: PPTP eller OpenVPN?, eller med den almindelige WireGuard (uden obfuscation) i Sådan konfigurerer du Wireguard VPN på din server.
Denne guide konfigurerer en AmneziaWG-server manuelt, uden Docker eller et webpanel – det mindst mulige fodaftryk på selve VPS'en, konfigureret udelukkende fra kommandolinjen. Det er den letteste løsning og fungerer godt på en budgetvenlig VPS, da den ikke kræver nogen GUI, ingen database og ingen reverse proxy. Servereksemplet nedenfor bruger en placeholder-IP-adresse – erstat den med din egen VPS' adresse, hvor den vises.
Det skal du bruge: en VPS, der kører Ubuntu 22.04/24.04 eller Debian 11/12, root-adgang og din VPS' IP-adresse. Et domænenavn er ikke påkrævet — AmneziaWG bruger ikke certifikater, så der er intet at forny, og intet, som DPI kan markere som et TLS-handshake.
Har du endnu ikke en server? Se Sådan bestiller du en server
Forbinder til serveren
Windows (PuTTY)
Åbn PuTTY, indtast din VPS IP-adresse i feltet Værtsnavn, indstil porten til 22, og log ind som root med den adgangskode, som din VPS-udbyder sendte dig via e-mail.
Server IP-adresse: din IP-adresse
log ind som: root
Adgangskode: din adgangskode
1. Åbn PuTTY, og indtast din VPS IP-adresse i feltet Værtsnavn.
2. Indstil porten til 22.
3. Indtast log ind som root.
4. Brug den adgangskode, som din VPS-udbyder sendte dig via e-mail.
Resultatet skal være som følger:
For en detaljeret gennemgang af forbindelse via PuTTY/SSH, se Sådan opretter du forbindelse til en Linux-server via SSH
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Alle kommandoer nedenfor køres på serveren i den samme SSH-session – som dækker afsnit 2 til 5, plus server-side kontrollerne i afsnit 9. Afsnit 6-8 (installation og konfiguration af VPN-klienten) foregår i stedet på din egen Windows/macOS/Linux-enhed, da det er den enhed, VPN'en skal køre på; hvert af disse afsnit angiver eksplicit, hvilke linjer, hvis nogen, der stadig berører serveren.
Klargøring af serveren
Opdater systemet
Før du installerer noget, skal du opdatere pakkelisten og opgradere installerede pakker:
apt update -y && apt upgrade -y
Hvis dette opgraderer kernen, skal du genstarte, før du bygger AmneziaWG-kernemodulet i afsnit 3, ellers kan DKMS bygge mod de forkerte kerneheadere, og modulet vil ikke indlæses. (For en genopfriskning af apt og hvordan Linux-pakkeadministratorer fungerer, se Linux-pakkeadministratorer .) Tjek med:
cat /var/run/reboot-required
Aktivér IP-videresendelse
Denne indstilling lader serveren videresende klienters pakker til internettet – uden den vil tunnelen komme op, men der vil ikke passere nogen trafik gennem den.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Den første kommando opretter en dedikeret konfigurationsfil; den anden anvender den uden at genstarte serveren.
Konfigurer firewallen (UFW)
For mere information om UFW-regler, se Konfiguration af firewall på Linux
Åbn de to porte, du skal bruge: 22/tcp til SSH (spring denne regel over, og du risikerer at miste adgang til serveren) og 42666/udp, den port, som AmneziaWG vil lytte på.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Begge regler bør vises som ALLOW i ufw-statusoutputtet.
Installation af AmneziaWG
Debian understøtter ikke direkte Ubuntu-lignende PPA'er, så repository'et skal tilføjes manuelt i stedet for med add-apt-repository. Dette fungerer på samme måde på Ubuntu.
Tilføj arkivet manuelt
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Tilføj GPG-signeringsnøglen
Brug en forældet nøgleringsfil i stedet for den forældede apt-key-kommando, og hent PPA'ens rigtige signeringsnøgle (fingeraftryk 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
Opdater og installer
apt update
apt install -y amneziawg
Bekræft det indlæste modul
modprobe amneziawg
lsmod | grep amnezia
Generering af server- og klientkonfiguration
Installer hjælpeprogrammer
Installer qrcode-afhængigheden, opret derefter en dedikeret arbejdsmappe og download community config-generator-scriptet til den:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Hvis python3-qrcode ikke er tilgængelig på din distros repos, så vend tilbage til pip3 install qrcode --break-system-packages (flaget er påkrævet på Debian 12+/Ubuntu 24.04, som som standard blokerer ikke-administrerede pip-installationer). Kør ikke begge installationer — vælg én.
Generer serverkonfigurationen
Opret /etc/amnezia/amneziawg/awg0.conf. Du kan lade tunnelens interne subnet og UDP-port være standard eller indstille dine egne:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
Flaget -i angiver tunnelens interne netværksadresse og -maske; -p angiver serverens UDP-port (den samme som blev åbnet i trin 2.3).
Opret klientkonfigurationsskabelonen
python3 awgcfg.py --create
Dette gemmer en skabelon i den samme mappe, som individuelle klientkonfigurationer er bygget fra — den indeholder allerede serverens offentlige nøgle, dens IP-adresse og obfuskationsparametrene (Jc, Jmin, Jmax, S1, S2, H1-H4), der adskiller AmneziaWG fra almindelig WireGuard.
Tilføj klienter
Opret én post pr. enhed — navnet kan være hvad som helst, f.eks. enhedens navn:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Generer klientfiler og QR-koder
python3 awgcfg.py -c -q
Mappen ~/awg vil nu indeholde filer som laptop.conf og phone.conf, plus matchende PNG QR-koder, som du kan scanne direkte ind i en mobilapp.
Mappen ~/awg vil nu indeholde filer som laptop.conf og phone.conf, plus matchende PNG QR-koder, som du kan scanne direkte ind i en mobilapp.
Start af tjenesten og aktivering af automatisk start
Åbn awg0-grænsefladen og aktiver den til at starte automatisk ved genstart:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Status skal vise aktiv (afsluttet) med enheden aktiveret ved opstart. Hvis konsollen ser ud til at "hænge" og viser logfiler, skal du trykke på Q for at afslutte.
Tjek listen over aktive peers og trafik pr. peer med:
awg show
Forbinder fra Windows
Alt i dette afsnit sker på din Windows-pc, ikke via SSH – VPN-klienten skal installeres på den enhed, der rent faktisk skal bruge tunnelen. Det eneste trin, der berører serveren, er scp-downloaden i 6.2, og selv den kommando indtastes på din pc, hvilket trækker en fil, som serveren allerede har genereret i afsnit 4.
Installer klienten
AmneziaWG har en dedikeret Windows-app — dens brugerflade afspejler standard WireGuard-klienten, men den forstår obfuskationsparametrene. Download installationsprogrammet fra projektets officielle arkiv:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Linket ovenfor er den vedligeholdte Windows-klients udgivelsesside — download den seneste .msi/.exe-fil derfra. Dette er en side, der skal åbnes i din browser, ikke en kommando, der skal indsættes i en terminal.
Kør installationsprogrammet, og følg opsætningsguiden trin for trin. Standardindstillingerne behøver ikke at blive ændret.
Importer konfigurationen
Kopier klientkonfigurationsfilen fra serveren til din computer — den nemmeste måde er scp, kør i PowerShell på din computer, ikke serveren:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
I AmneziaWG-appen skal du klikke på "Importer tunnel(er) fra fil", vælge laptop.conf og aktivere knappen ud for den nye tunnel.
Forbinder fra macOS
Der findes to understøttede muligheder:
- AmneziaWG (Mac App Store): en letvægtsklient, der fungerer på macOS 12 og nyere. Søg efter "AmneziaWG" i App Store, installer den, brug derefter "Importer tunnel(er) fra fil", og vælg din .conf-fil — samme arbejdsgang som Windows-klienten.
- AmneziaVPN (fuld app, macOS 14+): Download .pkg fra github.com/amnezia-vpn/amnezia-client/releases/latest, hvis du hellere vil bruge den komplette Amnezia-app i stedet for den lette AmneziaWG-kun-klient.
Kopier klientkonfigurationen først, hvis det er nødvendigt, samme som i trin 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Forbinder fra Linux
På en Linux-stationær eller bærbar computer har du to muligheder:
- GUI: installer den fulde AmneziaVPN desktop-klient fra github.com/amnezia-vpn/amnezia-client/releases, og importer derefter .conf-filen på samme måde som i Windows/macOS.
- CLI, ved hjælp af de samme amneziawg-værktøjer, der bruges på serveren (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Kør denne kode for at afbryde forbindelsen.
awg-quick down awg0
For at åbne tunnelen automatisk ved login, skal du aktivere den som en tjeneste:
systemctl enable --now awg-quick@awg0
Bekræftelse af forbindelsen
Når tunnelen fra afsnit 6, 7 eller 8 er aktiv, skal du gå tilbage til din egen enhed (ikke SSH-sessionen) og åbne en hvilken som helst "Hvad er min IP"-tjekker i en browser — den viste adresse skal matche din VPS' IP-adresse. For at bekræfte indefra SSH-sessionen skal du i stedet køre awg show på serveren og bekræfte, at klientens peer viser et nyligt handshake og ikke-nul trafik.
Reference:
|
Felt |
Værdi |
|
Adresse |
YOUR_TUNNEL_IP (klientens adresse i tunnelen, f.eks. 10.10.8.2/32 — tildelt automatisk, da klienten blev tilføjet i trin 4.4) |
|
Endpoint |
YOUR_SERVER_IP:42666 (Serverens eksterne IP-adresse og den UDP-port, som klienten opretter forbindelse til.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
Antal og størrelse af "junk"-pakker sendt før handshake — kan variere mellem server og klient uden at afbryde forbindelsen |
|
S1 / S2 |
Størrelsen på handshake-padding-felterne — skal matche byte-for-byte mellem server og hver klient |
|
H1–H4 |
Pakketypeheadere, der maskerer protokollen som almindelig trafik — skal også matche nøjagtigt og skal være unikke i forhold til hinanden |
Kun S1/S2 og H1-H4 behøver at være identiske i begge ender af tunnelen; Jc, Jmin og Jmax handler udelukkende om, hvordan hver side udfylder sin egen udgående junk-trafik, så klient- og serverværdierne kan legitimt variere, som de gør i eksemplet ovenfor.
Konklusion
Hvis du følger denne vejledning, kører din VPS sin egen AmneziaWG-server: en WireGuard-kompatibel protokol med trafikforvrængning, der er mærkbart sværere for DPI-systemer at skelne fra almindelig UDP-trafik end almindelig WireGuard. Tjenesten kører som systemd-enheden awg-quick@awg0 og overlever en servergenstart uden nogen handling fra din side.
De resulterende .conf-filer og QR-koder i ~/awg fungerer ikke kun med Windows-klienten, men kan også importeres til AmneziaWG- eller Amnezia-apps til Android, iOS, macOS og Linux, samt Keenetic- og OpenWrt-routere.
Tilføj nye klienter når som helst ved at gentage trin 4.4-4.5 (python3 awgcfg.py -a "name", derefter awgcfg.py -c -q) og genstarte brugerfladen med systemctl restart [email protected].
Et par vaner, der er værd at holde ved lige, når serveren kører:
- Hold systemet opdateret. Kør apt update -y && apt upgrade -y med jævne mellemrum, og genstart efter kernelopgraderinger, så DKMS genopbygger amneziawg-modulet mod den nye kernel.
- Sikkerhedskopier ~/awg. Den indeholder hver klients private nøgle og serverens eget nøglepar i awg0.conf; at miste den betyder at regenerere konfigurationer for hver enhed.
- Tilbagekald mistede enheder med det samme. Fjern den tilsvarende [Peer]-blok fra /etc/amnezia/amneziawg/awg0.conf og kør systemctl restart [e-mail beskyttet].
Hvis forbindelsen ikke oprettes, skal du kontrollere i rækkefølge:
- tjenestestatus (systemctl status) [e-mail beskyttet])
- firewallreglerne (ufw-status — port 42666/udp skal være åben)
- DKMS/modul-status, hvis brugerfladen ikke engang vil starte (dkms status, lsmod | grep amnezia)
- listen over aktive peers på serveren (awg show)
- at klientkonfigurationen peger på den korrekte eksterne server-IP-adresse
Sammenligner du AmneziaWG med andre muligheder, før du forpligter dig? Se VPN-serveropsætning på Linux: PPTP eller OpenVPN? og Sådan konfigurerer du Wireguard VPN på din server . Hvis du kun har brug for en simpel proxy i stedet for en fuld VPN-tunnel, er 3proxy-konfiguration på CentOS/ArchLinux et lettere alternativ. For generel serverhærdning, når VPN'en er live, se Linux-brugere: Administration og tilladelser.