Egyre többen üzemeltetnek saját VPN-t ahelyett, hogy fizetős, kész szolgáltatásokra hagyatkoznának: olcsóbb, jobb az adatvédelem szempontjából, és teljes körű ellenőrzést biztosít a szerver felett. Az agresszív hálózati blokkolással rendelkező régiókban az egyik leghatékonyabb megoldás az AmneziaWG, egy protokoll, amelyet az Amnezia projekt fejlesztett ki a WireGuard tetején.
A klasszikus WireGuard gyors és megbízható, de fix csomagstruktúrával és kiszámítható kézfogással rendelkezik, amelyet a DPI (Deep Packet Inspection) rendszerek megbízhatóan képesek ujjlenyomat-elemzéssel és blokkolással ellátni. Az AmneziaWG megoldja ezt: szemétcsomagokat ad a szokásos WireGuard kapcsolathoz, véletlenszerűsíti a fejléceket, és megváltoztatja a kézfogásmezők méretét – így a WireGuard jellegzetes aláírása eltűnik, és a forgalom már nem tűnik ki a szokásos UDP forgalomból.
Már futtatsz egy klasszikus alagutat, és azon gondolkodsz, hogy megéri-e váltani? Hasonlítsd ezt össze egy sima OpenVPN/PPTP beállítással a VPN szerver beállítása Linuxon: PPTP vagy OpenVPN? részben, vagy a vanilla WireGuarddal (nincs obfuszkálás) a Wireguard VPN beállítása a szervereden részben.
Ez az útmutató egy AmneziaWG szervert állít be kézzel, Docker vagy webes panel nélkül – a lehető legkisebb helyigényű a VPS-en, teljes mértékben parancssorból konfigurálva. Ez a legkönnyebb megoldás, és jól működik egy olcsó VPS-en, mivel nincs szüksége grafikus felhasználói felületre, adatbázisra és fordított proxyra. Az alábbi példaszerver egy helyőrző IP-címet használ – cserélje le a saját VPS címére, bárhol is jelenik meg.
Amire szükséged lesz: egy Ubuntu 22.04/24.04 vagy Debian 11/12 rendszert futtató VPS, root hozzáférés és a VPS-ed IP-címe. Nem szükséges domain név – az AmneziaWG nem használ tanúsítványokat, így nincs mit megújítani, és nincs semmi, amit a DPI TLS kézfogásként jelölhetne.
Még nincs szervered? Lásd: Hogyan rendelhetsz szervert
Kapcsolódás a szerverhez
Windows (PuTTY)
Nyisd meg a PuTTY-t, írd be a VPS IP-címedet a Host Name mezőbe, állítsd a portot 22-re, és jelentkezz be root felhasználóként a VPS-szolgáltatódtól e-mailben kapott jelszóval.
Szerver IP-címe: az Ön IP-címe
bejelentkezés rootként
Jelszó: a jelszavad
1. Nyisd meg a PuTTY-t, és írd be a VPS IP-címedet a Host Name mezőbe.
2. Állítsd a portot 22-re.
3. Jelentkezzen be rootként.
4. A VPS-szolgáltatótól e-mailben kapott jelszó használatával.
Az eredménynek a következőnek kell lennie:
A PuTTY/SSH-n keresztüli csatlakozás részletes útmutatóját lásd: Csatlakozás Linux szerverhez SSH-n keresztül.
Linux / macOS (terminál)
ssh root@YOUR_SERVER_IP
Az alábbi összes parancs a szerveren fut, ugyanabban az SSH-munkamenetben – ez lefedi a 2–5. szakaszokat, valamint a 9. szakaszban található szerveroldali ellenőrzéseket. A 6–8. szakaszok (a VPN-kliens telepítése és konfigurálása) ehelyett a saját Windows/macOS/Linux eszközödön történnek, mivel ezen az eszközön kell a VPN-nek futnia; ezek a szakaszok explicit módon megmondják, hogy mely sorok, ha vannak ilyenek, érintkeznek még a szerverrel.
A szerver előkészítése
Frissítse a rendszert
Telepítés előtt frissítsd a csomaglistát és frissítsd a telepített csomagokat:
apt update -y && apt upgrade -y
Ha ez frissíti a kernelt, indítsd újra a gépet, mielőtt lefordítanád az AmneziaWG kernel modult a 3. szakaszban, különben a DKMS rossz kernel fejlécekre fordulhat, és a modul nem fog betöltődni. (Az apt használatáról és a Linux csomagkezelők működéséről a Linux csomagkezelők című részben olvashatsz újra .) Ellenőrizd a következőket:
cat /var/run/reboot-required
IP-továbbítás engedélyezése
Ez a beállítás lehetővé teszi, hogy a szerver továbbítsa a kliensek csomagjait az internetre – enélkül az alagút létrejön, de forgalom nem halad át rajta.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Az első parancs létrehoz egy dedikált konfigurációs fájlt; a második a szerver újraindítása nélkül alkalmazza azt.
A tűzfal (UFW) konfigurálása
Az UFW szabályokról bővebben lásd: Tűzfal konfigurálása Linuxon
Nyisd meg a két szükséges portot: a 22/tcp-t az SSH-hoz (ha kihagyod ezt a szabályt, akkor elveszíted a hozzáférést a szerverhez), és a 42666/udp-t, amelyen az AmneziaWG fog figyelni.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Mindkét szabálynak ALLOW-ként kell megjelennie az ufw állapotkimenetében.
Az AmneziaWG telepítése
A Debian nem támogatja közvetlenül az Ubuntu-stílusú PPA-kat, így a repositoryt kézzel kell hozzáadni, nem pedig az add-apt-repository paranccsal. Ez Ubuntun is ugyanígy működik.
A tárhely manuális hozzáadása
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
GPG aláírókulcs hozzáadása
Használj egy régebbi kulcstartó fájlt az elavult apt-key parancs helyett, és kérd le a PPA valódi aláíró kulcsát (ujjlenyomat: 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
Frissítés és telepítés
apt update
apt install -y amneziawg
Ellenőrizze a betöltött modult
modprobe amneziawg
lsmod | grep amnezia
Szerver- és klienskonfiguráció generálása
Segédprogramok telepítése
Telepítsd a qrcode függőséget, majd hozz létre egy dedikált munkakönyvtárat, és töltsd le bele a közösségi config-generátor szkriptet:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Ha a python3-qrcode nem érhető el a disztribúciód repóiban, akkor térj vissza a következőre: pip3 install qrcode --break-system-packages (a jelző kötelező Debian 12+/Ubuntu 24.04 rendszereken, amelyek alapértelmezés szerint blokkolják a nem felügyelt pip telepítéseket). Ne futtasd mindkét telepítést — válassz egyet.
A szerver konfigurációjának generálása
Hozd létre az /etc/amnezia/amneziawg/awg0.conf fájlt. Az alagút belső alhálózatát és UDP portját meghagyhatod az alapértelmezett értéken, vagy beállíthatod a sajátodat:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
Az -i kapcsoló állítja be az alagút belső hálózati címét és maszkját; a -p pedig a szerver UDP portját (ugyanazt, amelyet a 2.3. lépésben nyitottunk meg).
Hozd létre a kliens-konfigurációs sablont
python3 awgcfg.py --create
Ez egy sablont ment ugyanabba a mappába, amelyből az egyes klienskonfigurációk épülnek – ez már tartalmazza a szerver nyilvános kulcsát, IP-címét és az obfuszkációs paramétereket (Jc, Jmin, Jmax, S1, S2, H1–H4), amelyek megkülönböztetik az AmneziaWG-t a sima WireGuardtól.
Ügyfelek hozzáadása
Eszközönként egy bejegyzést kell létrehozni — a név bármi lehet, pl. az eszköz neve:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Kliensfájlok és QR-kódok generálása
python3 awgcfg.py -c -q
A ~/awg mappa mostantól olyan fájlokat tartalmaz, mint a laptop.conf és a phone.conf, valamint a hozzájuk tartozó PNG QR-kódokat, amelyeket közvetlenül beolvashatsz egy mobilalkalmazásba.
A ~/awg mappa mostantól olyan fájlokat tartalmaz, mint a laptop.conf és a phone.conf, valamint a hozzájuk tartozó PNG QR-kódokat, amelyeket közvetlenül beolvashatsz egy mobilalkalmazásba.
A szolgáltatás indítása és az automatikus indítás engedélyezése
Indítsd el az awg0 felületet, és engedélyezd az automatikus indítást újraindításkor:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Az állapotnak aktívnak (kilépettnek) kell lennie, az egységnek pedig engedélyezve kell lennie a rendszerindításkor. Ha a konzol „lefagy” és naplókat jelenít meg, nyomja meg a Q billentyűt a kilépéshez.
Ellenőrizd az aktív peer-ek és a peer-enkénti forgalom listáját a következővel:
awg show
Csatlakozás Windows rendszerből
Ebben a szakaszban minden a Windowsos PC-den történik, nem SSH-n keresztül – a VPN-klienst arra az eszközre kell telepíteni, amely ténylegesen használni fogja az alagutat. Az egyetlen lépés, ami a szervert érinti, az scp letöltése a 6.2-es verzióban, és még ezt a parancsot is a PC-den kell beírni, lekérve egy olyan fájlt, amelyet a szerver már generált a 4. szakaszban.
Telepítse a klienst
Az AmneziaWG-nek van egy dedikált Windows alkalmazása – a felülete tükrözi a standard WireGuard klienst, de megérti az obfuszkációs paramétereket. Töltsd le a telepítőt a projekt hivatalos tárházából:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
A fenti link a karbantartott Windows kliens kiadási oldala – töltse le onnan a legújabb .msi/.exe fájlt. Ez egy böngészőben megnyitandó oldal, nem pedig egy terminálba beillesztendő parancs.
Futtassa a telepítőt, és lépjen végig a telepítővarázslón; az alapértelmezett beállításokat nem kell módosítani.
Importálja a konfigurációt
Másold át a kliens konfigurációs fájlját a szerverről a számítógépedre – a legegyszerűbb módszer az scp, amit a PowerShellben futtatsz a számítógépeden, ne a szerveren:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Az AmneziaWG alkalmazásban kattints az „Alagút(ok) importálása fájlból” lehetőségre, válaszd ki a laptop.conf fájlt, és kapcsold be az új alagút melletti kapcsolót.
Csatlakozás macOS-ből
Két támogatott lehetőség létezik:
- AmneziaWG (Mac App Store): egy könnyűsúlyú kliens, macOS 12-es és újabb rendszereken működik. Keresd meg az „AmneziaWG” kifejezést az App Store-ban, telepítsd, majd használd az „Alagút(ok) importálása fájlból” lehetőséget, és válaszd ki a .conf fájlt – ugyanaz a munkafolyamat, mint a Windows kliensnél.
- AmneziaVPN (teljes alkalmazás, macOS 14+): töltsd le a .pkg fájlt a github.com/amnezia-vpn/amnezia-client/releases/latest oldalról, ha inkább a teljes funkcionalitású Amnezia alkalmazást szeretnéd használni a könnyűsúlyú, csak az AmneziaWG-t tartalmazó kliens helyett.
Szükség esetén először másolja át a kliens konfigurációját, ugyanúgy, mint a 6.2. lépésben:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Csatlakozás Linuxról
Linux asztali számítógépen vagy laptopon két lehetőség közül választhat:
- Grafikus felhasználói felület: telepítsd a teljes AmneziaVPN asztali klienst a github.com/amnezia-vpn/amnezia-client/releases oldalról, majd importáld a .conf fájlt ugyanúgy, mint Windows/macOS rendszeren.
- CLI, ugyanazokkal az amneziawg-eszközökkel, mint amelyeket a szerveren használunk (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Futtassa ezt a kódot a leválasztáshoz.
awg-quick down awg0
Ahhoz, hogy a bejelentkezéskor automatikusan elinduljon az alagút, engedélyezze szolgáltatásként:
systemctl enable --now awg-quick@awg0
A kapcsolat ellenőrzése
Ha a 6., 7. vagy 8. szakaszban aktív alagút van, menj vissza a saját eszközödre (ne az SSH-munkamenetbe), és nyisson meg egy „mi az IP-címem?” ellenőrzőt egy böngészőben – a megjelenített címnek meg kell egyeznie a VPS IP-címével. Az SSH-munkameneten belüli ellenőrzéshez futtassa az awg show parancsot a szerveren, és ellenőrizze, hogy a kliens partnere mutat-e egy friss kézfogást és nem nulla forgalmat.
Referencia:
|
Mező |
Érték: |
|
Székhely |
A TE_ALAGÚTOD_IP-CÍME (a kliens címe az alagúton belül, pl. 10.10.8.2/32 — automatikusan hozzárendelődik a kliens 4.4. lépésben történő hozzáadásakor) |
|
Endpoint |
A SZERVERED_IP:42666 (A szerver külső IP-címe és az UDP port, amelyhez a kliens csatlakozik.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
a kézfogás előtt elküldött „szemét” csomagok száma és mérete – a szerver és a kliens között eltérhet a kapcsolat megszakítása nélkül |
|
S1 / S2 |
a kézfogás kitöltő mezőinek mérete — bájtról bájtra meg kell egyeznie a szerver és minden kliens között |
|
H1 – H4 |
a protokollt normál forgalomként maszkoló csomag típusú fejlécek – pontosan meg kell egyezniük, és egyedieknek kell lenniük egymástól |
Csak az S1/S2 és a H1–H4 értékeknek kell azonosnak lenniük az alagút mindkét végén; a Jc, Jmin és Jmax értékek pusztán arról szólnak, hogy az egyes oldalak hogyan töltik fel a saját kimenő szemétforgalmukat, így a kliens és a szerver értékei jogosan eltérhetnek, ahogy a fenti példában is.
Összegzés
Ezt az útmutatót követve a VPS-ed saját AmneziaWG szervert fog futtatni: egy WireGuard-kompatibilis protokollt forgalom-obfuszkálással, amelyet a DPI rendszerek számára észrevehetően nehezebb megkülönböztetni a szokásos UDP forgalomtól, mint a sima WireGuardot. A szolgáltatás a systemd egységként fut (awg-quick@awg0), és a szerver újraindítását semmilyen beavatkozás nélkül túléli.
Az így létrejövő .conf fájlok és QR-kódok a ~/awg könyvtárban nemcsak a Windows klienssel működnek, hanem importálhatók az AmneziaWG vagy Amnezia alkalmazásokba Android, iOS, macOS és Linux rendszerekhez, valamint a Keenetic és OpenWrt routerekhez is.
Új klienseket bármikor hozzáadhatsz a 4.4–4.5. lépések megismétlésével (python3 awgcfg.py -a "name", majd awgcfg.py -c -q) és a felület újraindításával a systemctl restart [email protected] paranccsal.
Néhány szokás, amit érdemes betartani, miután a szerver fut:
- Tartsa a rendszert frissítve. Futtassa újra az apt update -y && apt upgrade -y parancsot rendszeresen, és indítsa újra a rendszert a kernel frissítése után, hogy a DKMS újraépítse az amneziawg modult az új kernelhez.
- Készítsen biztonsági másolatot a ~/awg fájlról. Ez tartalmazza minden kliens privát kulcsát és a szerver saját kulcspárját az awg0.conf fájlban; elvesztése azt jelenti, hogy minden eszközhöz újra kell generálni a konfigurációt.
- Azonnal vond vissza az elveszett eszközöket. Távolítsd el a megfelelő [Peer] blokkot a /etc/amnezia/amneziawg/awg0.conf fájlból, és futtasd a systemctl restart parancsot. [e-mail védett].
Ha a kapcsolat nem jön létre, ellenőrizze a lépéseket a következő sorrendben:
- a szolgáltatás állapota (systemctl status [e-mail védett])
- a tűzfalszabályok (ufw állapot — a 42666/udp portnak nyitva kell lennie)
- a DKMS/modul állapota, ha az interfész el sem indul (dkms status, lsmod | grep amnezia)
- a szerveren aktív peer-ek listája (awg show)
- hogy a kliens konfigurációja a megfelelő külső szerver IP-címre mutat-e
Összehasonlítanád az AmneziaWG-t más lehetőségekkel a véglegesítés előtt? Lásd: VPN szerver beállítása Linuxon: PPTP vagy OpenVPN? és Hogyan állítsd be a Wireguard VPN-t a szervereden . Ha csak egy egyszerű proxyra van szükséged egy teljes VPN alagút helyett, akkor a 3proxy konfiguráció CentOS/ArchLinux rendszeren egy könnyebb alternatíva. Az általános szervererősítéssel kapcsolatban a VPN éles állapota után lásd: Linux felhasználók: Kezelés és jogosultságok.