Vidensdatabase Enkle instruktioner til at arbejde med Profitserver-tjenesten
Main Vidensdatabase Guide til implementering af AmneziaWG-server

Guide til implementering af AmneziaWG-server


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.  

Standard PuTTY-konfigurationsvindue, før der er indtastet nogen forbindelsesoplysninger.

2. Indstil porten til 22. 

Sessionen er udfyldt med VPS'ens IP-adresse og port 22, med den gemte session "Min VPS" valgt og klar til at klikke på Åbn.

3. Indtast log ind som root. 

Et nyt PuTTY-terminalvindue, der åbner SSH-sessionen og beder om login-brugernavnet.

4. Brug den adgangskode, som din VPS-udbyder sendte dig via e-mail.

Efter at have skrevet root, beder PuTTY om kontoens adgangskode.

Resultatet skal være som følger:

Et vellykket login: Debian-banneret med dagens besked efterfulgt af root-shell-prompten (root@copywr:~#).

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
Apt-opgraderingen downloader en ny kernepakke (linux-image-6.1.0-52-amd64) under systemopdateringen. Apt-opgradering afsluttet: initramfs regenereres, og berørte tjenester genstartes.

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.

sysctl --system anvender alle sysctl.d-konfigurationsfiler og bekræfter at net.ipv4.ip_forward = 1 nu er aktiv.

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.

Ufw-status bekræfter, at 22/tcp og 42666/udp er tilladt for både IPv4 og IPv6, med firewallen aktiv.

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

Tilføj arkivet
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
Apt install -y amneziawg output: DKMS bygger amneziawg-kernemodulet mod den kørende kerne og fuldfører installationen.

Bekræft det indlæste modul

modprobe amneziawg
lsmod | grep amnezia
Modprobe amneziawg efterfulgt af lsmod, der bekræfter at amneziawg-modulet og dets afhængigheder (curve25519, chacha20poly1305 osv.) er indlæst.

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.

Awgcfg.py er et uofficielt tredjeparts community-script (af GitHub-brugeren "remittor"), ikke et officielt Amnezia-projektværktøj. Ovenstående URL peger på gist'ens rå indhold uden en revisionshash, så den henter altid det, forfatteren sidst trykkede på - en lydløs opdatering (eller at gist'en slettes) kan ødelægge din opsætning uden varsel. Hvor det er muligt, så fastgør den til en bestemt revision i stedet: åbn gist'ens revisionshistorik, kopier commit-hash'en for den version, du har testet, og brug en URL af formularen i denne vejledning. 

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

Awgcfg.py --make oprettelse af /etc/amnezia/amneziawg/awg0.conf og detektering af serverens primære netværksgrænseflade (ens3).

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.

Awgcfg.py --create skriver _defclient.config, skabelonen som nye klientkonfigurationer genereres fra.

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"
Awgcfg.py -a registrering af "bærbar"- og "telefon"-klienterne, der hver især er tildelt deres egen tunnel-IP (10.10.8.2/32 og 10.10.8.3/32).

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.

Dette community-script har en kendt særhed: kørsel af det kan slette andre .init/state-filer, som du måtte have placeret i den samme mappe. Behold ~/awg dedikeret til kun AmneziaWG-filer, og sikkerhedskopier servernøgler ([Interface] PrivateKey i awg0.conf) et andet sted, før du regenererer konfigurationer.
Indhold af den genererede laptop.conf: klientens adresse, DNS, obfuskationsparametre og [Peer]-sektionen, der peger tilbage på serveren.

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.

Dette community-script har en kendt særhed: kørsel af det kan slette andre .init/state-filer, som du måtte have placeret i den samme mappe. Behold ~/awg dedikeret til kun AmneziaWG-filer, og sikkerhedskopier servernøgler ([Interface] PrivateKey i awg0.conf) et andet sted, før du regenererer konfigurationer.

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.

Systemctl-status bekræfter, at awg-quick@awg0.service er aktiv (afsluttet) og aktiveret, med brugerfladen's ip/iptables opsætningskommandoer i loggen.

Tjek listen over aktive peers og trafik pr. peer med:

awg show
Awg viser en liste over awg0-grænsefladens obfuskeringsparametre og dens to konfigurerede peers (bærbar computer og telefon), hver med sin tilladte IP-adresse.

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:

En tom Windows PowerShell-prompt på klient-pc'en, klar til at køre scp-kommandoen nedenfor.
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

Alt her sker på din Mac, ikke via SSH. Scp-linjen nedenfor indtastes i Mac'ens egen terminal og henter den konfiguration, som serveren allerede har genereret i afsnit 4 — den kører ikke inde i din root SSH-session på VPS'en.

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

Begge muligheder nedenfor kører på din Linux-stationære/bærbare computer, dvs. en separat SSH-session (eller lokal shell) på den maskine — ikke rod-SSH-sessionen på VPS'en fra afsnit 1. Kommandoerne ser tilfældigvis identiske ud med server-sidekommandoerne, fordi den samme amneziawg-tools-pakke bruges i begge ender, men at køre dem her installerer og starter en klienttunnel på din egen maskine, ikke serveren.

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.

❮ Forrige artikel Hysteria2 og TUIC-opsætning
Næste artikel ❯ Xray VLESS Reality Guide: VPS, Windows, Mac, Android, iPhone

Spørg os om VPS

Vi er altid klar til at besvare dine spørgsmål når som helst på dagen eller natten.