Steeds mear minsken brûke har eigen VPN ynstee fan te fertrouwen op betelle, klearmakke tsjinsten: it is goedkeaper, better foar privacy, en jout jo folsleine kontrôle oer de server. Ien fan 'e meast effektive opsjes foar regio's mei agressive netwurkblokkearring is AmneziaWG, in protokol ûntwikkele troch it Amnezia-projekt boppe op WireGuard.
Klassike WireGuard is rap en betrouber, mar it hat in fêste pakketstruktuer en in foarsisbere handshake, dy't DPI (Deep Packet Inspection) systemen betrouber kinne fingerprintsje en blokkearje. AmneziaWG lost dit op: it foeget ûnnedige pakketten ta oan 'e gewoane WireGuard-ferbining, randomisearret headers en feroaret de grutte fan handshakefjilden - sadat de karakteristike hantekening fan WireGuard ferdwynt en it ferkear net mear opfalt fan gewoan UDP-ferkear.
Hawwe jo al in klassike tunnel yn gebrûk en freegje jo jo ôf oft it de muoite wurdich is om oer te stappen? Fergelykje dit mei in gewoane OpenVPN/PPTP-opset yn VPN-tsjinneropset op Linux: PPTP of OpenVPN?, of mei gewoane WireGuard (gjin obfuskaasje) yn Hoe kinne jo Wireguard VPN op jo tsjinner ynstelle.
Dizze hantlieding stelt in AmneziaWG-tsjinner mei de hân yn, sûnder Docker of in webpaniel - de lytst mooglike foetôfdruk op 'e VPS sels, folslein konfigurearre fanút de kommandorigel. It is de lichtste opsje en wurket goed op in budzjet-VPS, om't it gjin GUI, gjin database en gjin reverse proxy nedich hat. De foarbyldtsjinner hjirûnder brûkt in placeholder IP-adres - ferfang it mei it adres fan jo eigen VPS wêr't it ek ferskynt.
Wat jo nedich binne: in VPS mei Ubuntu 22.04/24.04 of Debian 11/12, root-tagong, en it IP-adres fan jo VPS. In domeinnamme is net fereaske - AmneziaWG brûkt gjin sertifikaten, dus der is neat te fernijen en neat foar DPI om te markearjen as in TLS-handshake.
Hawwe jo noch gjin tsjinner? Sjoch Hoe kinne jo in tsjinner bestelle
Ferbine mei de tsjinner
Windows (PuTTY)
Iepenje PuTTY, fier jo VPS IP-adres yn yn it fjild Hostnamme, stel de poarte yn op 22, en meld jo oan as root mei it wachtwurd dat jo VPS-provider jo per e-post stjoerd hat.
Server IP-adres: jo IP-adres
oanmelde as: root
Wachtwurd: dyn wachtwurd
1. Iepenje PuTTY, fier jo VPS IP-adres yn yn it fjild Hostnamme.
2. Stel de poarte yn op 22.
3. Fier oanmelde yn as root.
4. Mei it wachtwurd dat jo VPS-provider jo in e-post stjoerd hat.
It resultaat moat as folget wêze:
Foar in detaillearre útlis oer it ferbinen fia PuTTY/SSH, sjoch Hoe kinne jo ferbine mei in Linux-tsjinner fia SSH
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Alle ûndersteande kommando's wurde op 'e server útfierd, yn deselde SSH-sesje - dy't seksjes 2 oant en mei 5 beslacht, plus de kontrôles oan 'e serverkant yn seksje 9. Seksjes 6–8 (it ynstallearjen en konfigurearjen fan 'e VPN-kliïnt) barre ynstee op jo eigen Windows/macOS/Linux-apparaat, om't dat it apparaat is wêrop de VPN moat rinne; elk fan dy seksjes seit eksplisyt hokker rigels, as der binne, de server noch reitsje.
De tsjinner tariede
It systeem beheine
Foardat jo wat ynstallearje, ferfarskje de pakketlist en upgrade ynstalleare pakketten:
apt update -y && apt upgrade -y
As dit de kernel opwurdearret, start it dan opnij op foardat jo de AmneziaWG-kernelmodule yn seksje 3 bouwe, oars kin DKMS tsjin de ferkearde kernelheaders bouwe en sil de module net lade kinne. (Foar in opfrisser oer apt en hoe't Linux-pakketbehearders wurkje, sjoch Linux-pakketbehearders .) Kontrolearje mei:
cat /var/run/reboot-required
IP-trochstjoering ynskeakelje
Dizze ynstelling lit de server de pakketten fan kliïnten trochstjoere nei it ynternet - sûnder dat sil de tunnel omheech komme, mar sil der gjin ferkear trochhinne gean.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
It earste kommando makket in tawijd konfiguraasjebestân oan; it twadde past it ta sûnder de server opnij te starten.
Konfigurearje de firewall (UFW)
Foar mear oer UFW-regels, sjoch Firewall konfigurearje op Linux
Iepenje de twa poarten dy't jo nedich binne: 22/tcp foar SSH (slaan dizze regel oer en jo riskearje tagong ta de server te ferliezen) en 42666/udp, de poarte wêrop AmneziaWG harket.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Beide regels moatte as ALLOW werjûn wurde yn 'e ufw-statusútfier.
Ynstallearjen fan AmneziaWG
Debian stipet gjin direkt PPA's yn Ubuntu-styl, dus moat de repository mei de hân tafoege wurde ynstee fan mei add-apt-repository. Dit wurket op deselde wize op Ubuntu.
Foegje de repository manuell ta
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Foegje de GPG-ûndertekeningskaai ta
Brûk in ferâldere kaairingbestân ynstee fan it ferâldere apt-key-kommando, en helje de echte ûndertekeningskaai fan 'e PPA op (fingerprint 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
Bywurkje en ynstallearje
apt update
apt install -y amneziawg
Ferifiearje de laden module
modprobe amneziawg
lsmod | grep amnezia
Tsjinner- en kliïntkonfiguraasje generearje
Ynstallearje helpprogramma's
Ynstallearje de qrcode-ôfhinklikens, meitsje dan in tawijde wurkmap en download it community config-generator-skript deryn:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
As python3-qrcode net beskikber is op 'e repositories fan jo distro, gean dan werom nei pip3 install qrcode --break-system-packages (de flagge is fereaske op Debian 12+/Ubuntu 24.04, dy't standert net-behearde pip-ynstallaasjes blokkearje). Fier net beide ynstallaasjes út - kies ien.
Generearje de serverkonfiguraasje
Meitsje /etc/amnezia/amneziawg/awg0.conf oan. Jo kinne it ynterne subnet en de UDP-poarte fan 'e tunnel op har standertynstellingen litte of jo eigen ynstelle:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
De -i-flagge stelt it ynterne netwurkadres en masker fan 'e tunnel yn; -p stelt de UDP-poarte fan 'e server yn (deselde dy't iepene is yn stap 2.3).
Meitsje it sjabloan foar kliïntkonfiguraasje oan
python3 awgcfg.py --create
Dit bewarret in sjabloan yn deselde map wêrfan yndividuele kliïntkonfiguraasjes boud binne - it befettet al de iepenbiere kaai fan 'e server, syn IP-adres en de obfuskaasjeparameters (Jc, Jmin, Jmax, S1, S2, H1-H4) dy't AmneziaWG ûnderskiede fan gewoane WireGuard.
Kliïnten tafoegje
Meitsje ien yngong per apparaat - de namme kin fan alles wêze, bygelyks de apparaatnamme:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Generearje kliïntbestannen en QR-koades
python3 awgcfg.py -c -q
De map ~/awg sil no bestannen befetsje lykas laptop.conf en phone.conf, plus oerienkommende PNG QR-koades dy't jo direkt yn in mobile app kinne scannen.
De map ~/awg sil no bestannen befetsje lykas laptop.conf en phone.conf, plus oerienkommende PNG QR-koades dy't jo direkt yn in mobile app kinne scannen.
De tsjinst starte en automatysk starten ynskeakelje
Bring de awg0-ynterface iepen en skeakelje it yn om automatysk te starten by opnij starte:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
De status moat aktyf (ôfsletten) sjen litte mei it apparaat ynskeakele by it opstarten. As de konsole "hingjen" liket te wêzen en logs werjaan, druk dan op Q om ôf te sluten.
Kontrolearje de list mei aktive peers en ferkear per peer mei:
awg show
Ferbine fanút Windows
Alles yn dizze seksje bart op jo Windows PC, net fia SSH - de VPN-kliïnt moat ynstalleare wurde op it apparaat dat de tunnel eins brûke sil. De ienige stap dy't de server rekket is de scp-download yn 6.2, en sels dat kommando wurdt op jo PC ynfierd, wêrtroch in bestân ophelle wurdt dat de server al generearre hat yn seksje 4.
Ynstallearje de kliïnt
AmneziaWG hat in tawijde Windows-app - de ynterface spegelt de standert WireGuard-kliïnt, mar it begrypt de obfuskaasjeparameters. Download it ynstallearder fan 'e offisjele repository fan it projekt:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
De boppesteande keppeling is de releasepagina fan 'e ûnderhâlden Windows-kliïnt - download de lêste .msi/.exe-asset fan dêrút. Dit is in pagina om te iepenjen yn jo browser, gjin kommando om yn in terminal te plakken.
Fier it ynstallaasjeprogramma út en folgje de ynstallaasjewizard; de standertynstellingen hoege net feroare te wurden.
Ymportearje de konfiguraasje
Kopiearje it kliïntkonfiguraasjebestân fan 'e server nei jo kompjûter - de maklikste manier is scp, útfiere yn PowerShell op jo kompjûter, net de server:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Klik yn 'e AmneziaWG-app op "Tunnel(s) út bestân ymportearje", selektearje laptop.conf en skeakelje de skeakel neist de nije tunnel yn.
Ferbine fan macOS
Twa stipe opsjes besteane:
- AmneziaWG (Mac App Store): in lichtgewicht kliïnt, wurket op macOS 12 en letter. Sykje nei "AmneziaWG" yn 'e App Store, ynstallearje it, brûk dan "Import tunnel(s) from file" en selektearje jo .conf-bestân - deselde workflow as de Windows-kliïnt.
- AmneziaVPN (folsleine app, macOS 14+): download de .pkg fan github.com/amnezia-vpn/amnezia-client/releases/latest as jo leaver de folsleine Amnezia-app brûke wolle ynstee fan de lichtgewicht AmneziaWG-allinich kliïnt.
Kopiearje earst de kliïntkonfiguraasje as it nedich is, itselde as yn stap 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Ferbine fanút Linux
Op in Linux-buroblêd of laptop hawwe jo twa opsjes:
- GUI: ynstallearje de folsleine AmneziaVPN-buroblêdkliïnt fan github.com/amnezia-vpn/amnezia-client/releases, en ymportearje dan it .conf-bestân op deselde manier as op Windows/macOS.
- CLI, mei deselde amneziawg-ark dy't op 'e server brûkt wurde (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Fier dizze koade út om te ûntbinen.
awg-quick down awg0
Om de tunnel automatysk by it oanmelden te iepenjen, skeakelje it yn as in tsjinst:
systemctl enable --now awg-quick@awg0
Ferifiearje de ferbining
Mei de tunnel aktyf út Seksje 6, 7, of 8, gean werom nei jo eigen apparaat (net de SSH-sesje) en iepenje in "wat is myn IP"-kontrôler yn in browser - it werjûne adres moat oerienkomme mei it IP-adres fan jo VPS. Om te ferifiearjen fan binnen de SSH-sesje, fier ynstee awg show út op 'e server en befêstigje dat de peer fan 'e kliïnt in resinte handshake en net-nul ferkear sjen lit.
Referinsje:
|
Fjild |
Wearde |
|
Adres |
YOUR_TUNNEL_IP (it adres fan 'e kliïnt yn 'e tunnel, bygelyks 10.10.8.2/32 — automatysk tawiisd doe't de kliïnt tafoege waard yn stap 4.4) |
|
Endpoint |
YOUR_SERVER_IP:42666 (It eksterne IP-adres fan 'e server en de UDP-poarte wêr't de kliïnt ferbining mei makket.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
oantal en grutte fan "junk"-pakketten dy't foar de handshake ferstjoerd binne - kinne ferskille tusken server en kliïnt sûnder de ferbining te ferbrekken |
|
S1 / S2 |
grutte fan handshake paddingfjilden - moat byte-foar-byte oerienkomme tusken server en elke kliïnt |
|
H1 – H4 |
pakkettype-headers dy't it protokol maskearje as gewoan ferkear - moatte ek krekt oerienkomme, en moatte unyk wêze fan elkoar |
Allinnich S1/S2 en H1–H4 hoege oan beide úteinen fan 'e tunnel identyk te wêzen; Jc, Jmin en Jmax geane allinnich oer hoe't elke kant syn eigen útgeande ûnpostferkear opfollet, sadat de wearden fan 'e kliïnt en server legitime ferskille kinne, lykas yn it boppesteande foarbyld.
Konklúzje
As jo dizze hantlieding folgje, sil jo VPS syn eigen AmneziaWG-tsjinner brûke: in WireGuard-kompatibel protokol mei ferkearsfertsjustering dy't merkber dreger is foar DPI-systemen om te ûnderskieden fan gewoan UDP-ferkear as gewoane WireGuard. De tsjinst rint as de systemd-ienheid awg-quick@awg0 en oerlibet in opnij starte fan 'e tsjinner sûnder aksje fan jo kant.
De resultearjende .conf-bestannen en QR-koades yn ~/awg wurkje net allinich mei de Windows-kliïnt, mar kinne ek ymportearre wurde yn 'e AmneziaWG- of Amnezia-apps foar Android, iOS, macOS en Linux, lykas Keenetic- en OpenWrt-routers.
Foegje op elk momint nije kliïnten ta troch stappen 4.4–4.5 te werheljen (python3 awgcfg.py -a "namme", dan awgcfg.py -c -q) en de ynterface opnij te starten mei systemctl restart [email protected].
In pear gewoanten dy't it wurdich binne om oan te hâlden as de server ienris draait:
- Hâld it systeem patched. Fier apt update -y && apt upgrade -y periodyk opnij út, en start it opnij op nei kernel-upgrades, sadat DKMS de amneziawg-module opnij opbout tsjin de nije kernel.
- Meitsje in reservekopy fan ~/awg. It befettet de priveekaai fan elke kliïnt en it eigen kaaipear fan 'e server yn awg0.conf; it ferliezen betsjut dat jo konfiguraasjes foar elk apparaat opnij generearje.
- Werhelje ferlerne apparaten daliks. Ferwiderje it oerienkommende [Peer]-blok fan /etc/amnezia/amneziawg/awg0.conf en fier systemctl restart út. [e-post beskerme].
As de ferbining net slagget, kontrolearje dan yn folchoarder:
- de tsjinststatus (systemctl status [e-post beskerme])
- de firewallregels (ufw-status - poarte 42666/udp moat iepen wêze)
- de DKMS/module-status as de ynterface net iens starte wol (dkms-status, lsmod | grep amnezia)
- de list mei aktive peers op 'e server (awg show)
- dat de kliïntkonfiguraasje nei it juste IP-adres fan 'e eksterne server wiist
AmneziaWG fergelykje mei oare opsjes foardat jo jo dermei ynsette? Sjoch VPN-tsjinnerynstelling op Linux: PPTP of OpenVPN? en Hoe kinne jo Wireguard VPN ynstelle op jo tsjinner . As jo allinich in ienfâldige proxy nedich binne ynstee fan in folsleine VPN-tunnel, is 3proxy-konfiguraasje op CentOS/ArchLinux in lichter alternatyf. Foar algemiene tsjinnerferhurding as de VPN ienris live is, sjoch Linux-brûkers: Behear en tastimming.