Üha rohkem inimesi haldab oma VPN-i, selle asemel et loota tasulistele valmisteenustele: see on odavam, privaatsuse tagamiseks parem ja annab teile serveri üle täieliku kontrolli. Üks tõhusamaid võimalusi agressiivse võrgu blokeerimisega piirkondadele on AmneziaWG, protokoll, mille Amnezia projekt töötas välja WireGuardi peal.
Klassikaline WireGuard on kiire ja usaldusväärne, kuid sellel on fikseeritud pakettide struktuur ja etteaimatav käepigistus, mida DPI (Deep Packet Inspection) süsteemid suudavad usaldusväärselt sõrmejälgi tuvastada ja blokeerida. AmneziaWG lahendab selle: see lisab tavalisele WireGuardi ühendusele rämpspakette, randomiseerib päiseid ja muudab käepigistuse väljade suurust – nii kaob WireGuardi iseloomulik signatuur ja liiklus ei eristu enam tavalisest UDP liiklusest.
Kas juba käitad klassikalist tunnelit ja mõtled, kas tasub sellele üle minna? Võrdle seda tavalise OpenVPN/PPTP seadistusega artiklis VPN-serveri seadistamine Linuxis: PPTP või OpenVPN? või tavalise WireGuardiga (ilma hägustamiseta) artiklis Kuidas seadistada Wireguard VPN oma serverisse.
See juhend seadistab AmneziaWG serveri käsitsi, ilma Dockeri või veebipaneelita – see on VPS-i enda jaoks võimalikult väike jalajälg, mis on täielikult käsurealt konfigureeritud. See on kõige kergem variant ja sobib hästi eelarvesõbralikule VPS-ile, kuna see ei vaja graafilist kasutajaliidest, andmebaasi ega pöördproksit. Allolev näidisserver kasutab kohatäite IP-aadressi – asendage see oma VPS-i aadressiga kõikjal, kus see kuvatakse.
Vajad: VPS-i, millel töötab Ubuntu 22.04/24.04 või Debian 11/12, juurjuurdepääsu ja oma VPS-i IP-aadressi. Domeeninime pole vaja – AmneziaWG ei kasuta sertifikaate, seega pole midagi uuendada ega DPI-l midagi TLS-käepigistusena märgistada.
Kas sul pole veel serverit? Vaata, kuidas serverit tellida.
Serveriga ühenduse loomine
Windows (PuTTY)
Ava PuTTY, sisesta oma VPS-i IP-aadress väljale Host Name, määra pordiks 22 ja logi sisse root-kasutajana, kasutades parooli, mille VPS-i pakkuja sulle e-postiga saatis.
Serveri IP-aadress: teie IP-aadress
logi sisse kui: root
Parool: teie parool
1. Ava PuTTY ja sisesta oma VPS-i IP-aadress hostinime väljale.
2. Määrake pordiks 22.
3. Logi sisse root'ina.
4. Kasutades parooli, mille teie VPS-teenuse pakkuja teile e-posti teel saatis.
Tulemus peaks olema järgmine:
PuTTY/SSH kaudu ühenduse loomise üksikasjaliku juhendi leiate jaotisest Kuidas luua ühendus Linuxi serveriga SSH kaudu.
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Kõik allolevad käsud käivitatakse serveris, samas SSH-seansis – see hõlmab jaotisi 2 kuni 5 ja serveripoolseid kontrolle jaotises 9. Jaotised 6–8 (VPN-kliendi installimine ja konfigureerimine) toimuvad hoopis teie enda Windowsi/macOS-i/Linuxi seadmes, kuna see on seade, millel VPN peab töötama; igas jaotises on selgesõnaliselt kirjas, millised read, kui üldse, serveriga kokku puutuvad.
Serveri ettevalmistamine
Värskenda süsteem
Enne millegi installimist värskendage pakettide loendit ja uuendage installitud pakette:
apt update -y && apt upgrade -y
Kui see kerneli uuendab, taaskäivitage arvuti enne 3. jaotises kirjeldatud AmneziaWG kerneli mooduli loomist, vastasel juhul võib DKMS luua valede kerneli päiste vastu ja mooduli laadimine ebaõnnestuda. (Apt ja Linuxi paketihaldurite tööpõhimõtte värskendamiseks vaadake Linuxi paketihaldurid .) Kontrollige:
cat /var/run/reboot-required
IP-edastuse lubamine
See säte lubab serveril edastada klientide pakette internetti – ilma selleta tunnel küll tekib, kuid liiklust sellest läbi ei lähe.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Esimene käsk loob spetsiaalse konfiguratsioonifaili; teine rakendab seda serverit taaskäivitamata.
Tulemüüri (UFW) seadistamine
Lisateavet UFW reeglite kohta leiate jaotisest Tulemüüri seadistamine Linuxis.
Ava kaks vajalikku porti: 22/tcp SSH jaoks (kui see reegel vahele jätta, riskid serverile juurdepääsu kaotamisega) ja 42666/udp, mida AmneziaWG kuulab.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Mõlemad reeglid peaksid ufw oleku väljundis kuvama kui ALLOW.
AmneziaWG installimine
Debian ei toeta otseselt Ubuntu-stiilis PPA-sid, seega tuleb repositoorium lisada käsitsi, mitte käsuga add-apt-repository. See toimib Ubuntu puhul samamoodi.
Repositooriumi käsitsi lisamine
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Lisa GPG allkirjastamisvõti
Kasutage aegunud apt-key käsu asemel dearmored-võtmerõnga faili ja hankige PPA tegelik allkirjastamisvõti (sõrmejälg 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
Värskenda ja installi
apt update
apt install -y amneziawg
Kontrollige, kas moodul on laaditud
modprobe amneziawg
lsmod | grep amnezia
Serveri ja kliendi konfiguratsiooni genereerimine
Paigalda abiprogrammid
Paigalda qrcode'i sõltuvus, seejärel loo spetsiaalne töökataloog ja lae sinna kogukonna konfiguratsioonigeneraatori skript:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Kui python3-qrcode pole sinu distributsiooni repositooriumides saadaval, kasuta käsku pip3 install qrcode --break-system-packages (see lipp on nõutav Debian 12+/Ubuntu 24.04 puhul, mis blokeerib vaikimisi haldamata pip-installid). Ära käivita mõlemat installi – vali üks.
Serveri konfiguratsiooni genereerimine
Loo /etc/amnezia/amneziawg/awg0.conf. Tunneli sisemise alamvõrgu ja UDP pordi saab jätta vaikesätetele või määrata oma sätted:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
Lipp -i määrab tunneli sisemise võrguaadressi ja maski; -p määrab serveri UDP-pordi (sama, mis avati etapis 2.3).
Loo kliendi konfiguratsiooni mall
python3 awgcfg.py --create
See salvestab malli samasse kausta, millest üksikute klientide konfiguratsioonid luuakse – see sisaldab juba serveri avalikku võtit, IP-aadressi ja hägustamisparameetreid (Jc, Jmin, Jmax, S1, S2, H1–H4), mis eristavad AmneziaWG-d tavalisest WireGuardist.
Lisa kliente
Loo iga seadme kohta üks kirje – nimi võib olla ükskõik milline, nt seadme nimi:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Kliendifailide ja QR-koodide genereerimine
python3 awgcfg.py -c -q
Kaust ~/awg sisaldab nüüd faile nagu laptop.conf ja phone.conf, lisaks sobivaid PNG-vormingus QR-koode, mida saab otse mobiilirakendusse skannida.
Kaust ~/awg sisaldab nüüd faile nagu laptop.conf ja phone.conf, lisaks sobivaid PNG-vormingus QR-koode, mida saab otse mobiilirakendusse skannida.
Teenuse käivitamine ja automaatse käivitamise lubamine
Avage awg0 liides ja lubage sellel taaskäivitamisel automaatne käivitumine:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Käivitamisel peaks seadme olekuks olema märgitud aktiivne (väljunud) ja seade on lubatud. Kui konsool näib logisid kuvades hanguvat, vajutage väljumiseks Q.
Kontrollige aktiivsete partnerite ja partneritevahelise liikluse loendit järgmiselt:
awg show
Ühendamine Windowsist
Kõik selles jaotises toimuv toimub teie Windowsi arvutis, mitte SSH kaudu – VPN-klient tuleb installida seadmesse, mis tunnelit tegelikult kasutab. Ainus serveriga seotud samm on scp allalaadimine versioonis 6.2 ja isegi see käsk sisestatakse teie arvutis, laadides alla faili, mille server on 4. jaotises juba genereerinud.
Installige klient
AmneziaWG-l on spetsiaalne Windowsi rakendus – selle liides peegeldab standardset WireGuardi klienti, kuid see mõistab hägustamise parameetreid. Laadige installifail alla projekti ametlikust repositooriumist:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Ülalolev link on Windowsi kliendi versiooniuuenduste leht – laadige sealt alla uusim .msi/.exe fail. See on leht, mis tuleb brauseris avada, mitte terminali kleepimiseks mõeldud käsk.
Käivitage installiprogramm ja järgige häälestusviisardi juhiseid; vaikesätteid pole vaja muuta.
Importige konfiguratsioon
Kopeeri kliendi konfiguratsioonifail serverist oma arvutisse – lihtsaim viis on scp, käivita PowerShellis oma arvutis, mitte serveris:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
AmneziaWG rakenduses klõpsa nupul „Impordi tunnel(id) failist“, vali laptop.conf ja lülita uue tunneli kõrval olev lüliti sisse.
macOS-ist ühenduse loomine
Toetatud on kaks valikut:
- AmneziaWG (Mac App Store): kerge klient, töötab macOS 12 ja uuemates versioonides. Otsi App Store'ist "AmneziaWG", installi see, seejärel kasuta käsku "Impordi tunnel(id) failist" ja vali oma .conf-fail – sama töövoog mis Windowsi kliendil.
- AmneziaVPN (täisversioon, macOS 14+): laadige .pkg-fail alla aadressilt github.com/amnezia-vpn/amnezia-client/releases/latest, kui eelistate täisfunktsionaalset Amnezia rakendust kerge AmneziaWG-põhise kliendi asemel.
Vajadusel kopeeri esmalt kliendi konfiguratsioon, samamoodi nagu etapis 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Linuxist ühenduse loomine
Linuxi laua- või sülearvutil on teil kaks võimalust:
- GUI: installige täielik AmneziaVPN töölaua klient aadressilt github.com/amnezia-vpn/amnezia-client/releases ja seejärel importige .conf-fail samamoodi nagu Windowsis/macOS-is.
- CLI, kasutades samu amneziawg-tööriistu, mida kasutatakse serveris (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Ühenduse katkestamiseks käivitage see kood.
awg-quick down awg0
Tunneli automaatseks kuvamiseks sisselogimisel lubage see teenusena:
systemctl enable --now awg-quick@awg0
Ühenduse kontrollimine
Kui 6., 7. või 8. jaotises kirjeldatud tunnel on aktiivne, mine tagasi oma seadmesse (mitte SSH-seansi) ja ava brauseris suvaline „mis on minu IP?” kontrollija – kuvatav aadress peaks vastama sinu VPS-i IP-aadressile. SSH-seansi seest kontrollimiseks käivita serveris „awg show” ja veendu, et kliendi partner näitab hiljutist käepigistust ja nullist erinevat liiklust.
Viide:
|
Väli |
Väärtus |
|
AADRESS |
TEIE_TUNNEL_IP (kliendi aadress tunnelis, nt 10.10.8.2/32 — määratud automaatselt kliendi lisamisel etapis 4.4) |
|
Lõpp-punkt |
YOUR_SERVER_IP:42666 (Serveri väline IP-aadress ja UDP-port, millega klient ühendub.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
enne käepigistust saadetud rämpspakettide arv ja suurus – võivad serveri ja kliendi vahel erineda ilma ühendust katkestamata |
|
S1 / S2 |
käepigistuse täiteväljade suurus — peab serveri ja iga kliendi vahel bait-baidi haaval ühtima |
|
H1 – H4 |
paketitüüpi päised, mis maskeerivad protokolli tavalise liiklusena – peavad samuti täpselt sobima ja olema üksteisest unikaalsed |
Ainult S1/S2 ja H1–H4 peavad tunneli mõlemas otsas identsed olema; Jc, Jmin ja Jmax puudutavad puhtalt seda, kuidas kumbki pool oma väljaminevat rämpsliiklust täiendab, seega võivad kliendi ja serveri väärtused õigustatult erineda, nagu ülaltoodud näites.
Järeldus
Selle juhendi järgimine jätab teie VPS-i tööle oma AmneziaWG serveri: WireGuardiga ühilduv protokoll liikluse hägustamisega, mida on DPI-süsteemidel tavalisest UDP-liiklusest märgatavalt raskem eristada kui tavalist WireGuardi liiklust. Teenus töötab systemd üksusena awg-quick@awg0 ja jääb serveri taaskäivitamisele alles ilma teiepoolsete toiminguteta.
Saadud .conf-failid ja QR-koodid kataloogis ~/awg töötavad mitte ainult Windowsi kliendiga, vaid neid saab importida ka AmneziaWG või Amnezia rakendustesse Androidi, iOS-i, macOS-i ja Linuxi jaoks, samuti Keenetic ja OpenWrt ruuteritesse.
Uusi kliente saab igal ajal lisada, korrates samme 4.4–4.5 (python3 awgcfg.py -a "nimi", seejärel awgcfg.py -c -q) ja taaskäivitades liidese käsuga systemctl restart [email protected].
Mõned harjumused, mida tasub serveri töötamise ajal järgida:
- Hoidke süsteem uuendatud. Käivitage regulaarselt uuesti käske apt update -y && apt upgrade -y ning taaskäivitage pärast kerneli uuendamist, et DKMS ehitaks amneziawg mooduli uue kerneli jaoks uuesti üles.
- Varunda fail ~/awg. See sisaldab iga kliendi privaatvõtit ja serveri enda võtmepaari failis awg0.conf; selle kaotamine tähendab iga seadme konfiguratsioonide uuesti genereerimist.
- Tühistage kadunud seadmed viivitamatult. Eemaldage vastav [Peer] plokk failist /etc/amnezia/amneziawg/awg0.conf ja käivitage systemctl restart. [meiliga kaitstud].
Kui ühendus ei toimi, kontrollige järgmist järjekorras:
- teenuse olek (systemctl status [meiliga kaitstud])
- tulemüüri reeglid (ufw olek — port 42666/udp peab olema avatud)
- DKMS/mooduli olek, kui liides isegi ei käivitu (dkms status, lsmod | grep amnezia)
- serveri aktiivsete partnerite nimekiri (awg show)
- et kliendi konfiguratsioon osutab õigele välise serveri IP-aadressile
Kas võrdlete AmneziaWG-d teiste valikutega enne selle kasutuselevõttu? Vaadake jaotisi VPN-serveri seadistamine Linuxis: PPTP või OpenVPN? ja Kuidas seadistada Wireguard VPN oma serverisse . Kui vajate täieliku VPN-tunneli asemel ainult lihtsat puhverserverit, on 3proxy konfiguratsioon CentOS-is/ArchLinuxis kergem alternatiiv. Serveri üldise kaitse tagamiseks pärast VPN-i käivitamist vaadake jaotist Linuxi kasutajad: haldus ja õigused.