Pli kaj pli da homoj uzas sian propran VPN-on anstataŭ fidi je pagitaj, pretaj servoj: ĝi estas pli malmultekosta, pli bona por privateco, kaj donas al vi plenan kontrolon de la servilo. Unu el la plej efikaj ebloj por regionoj kun agresema retblokado estas AmneziaWG, protokolo evoluigita de la projekto Amnezia sur WireGuard.
Klasika WireGuard estas rapida kaj fidinda, sed ĝi havas fiksan pakaĵetstrukturon kaj antaŭvideblan manpremon, kiun DPI (Profunda Pakaĵetinspektado) sistemoj povas fidinde fingrospuri kaj bloki. AmneziaWG solvas tion: ĝi aldonas rubpakaĵetojn al la ordinara WireGuard-konekto, hazarde difinas kapliniojn, kaj ŝanĝas la grandecon de manpremaj kampoj — tiel la karakteriza signaturo de WireGuard malaperas kaj la trafiko jam ne elstaras de ordinara UDP-trafiko.
Ĉu vi jam uzas klasikan tunelon kaj scivolas ĉu valoras ŝanĝi? Komparu ĉi tion kun simpla OpenVPN/PPTP-aranĝo en VPN-servilaranĝo en Linukso: PPTP aŭ OpenVPN?, aŭ kun vanila WireGuard (sen malklarigo) en Kiel agordi Wireguard VPN sur via servilo.
Ĉi tiu gvidilo starigas AmneziaWG-servilon permane, sen Docker aŭ TTT-panelo — la plej malgranda ebla spaco sur la VPS mem, tute agordita per la komandlinio. Ĝi estas la plej malpeza opcio kaj bone funkcias sur buĝeta VPS, ĉar ĝi ne bezonas grafikan interfacon, datumbazon kaj inversan prokurilon. La ekzempla servilo sube uzas provizoran IP-adreson — anstataŭigu ĝin per la adreso de via propra VPS kie ajn ĝi aperas.
Kion vi bezonos: VPS-on funkciantan per Ubuntu 22.04/24.04 aŭ Debian 11/12, administran aliron, kaj la IP-adreson de via VPS. Domajna nomo ne necesas — AmneziaWG ne uzas atestilojn, do ne estas io por renovigi kaj nenio por ke DPI marku kiel TLS-manpremon.
Ĉu vi ankoraŭ ne havas servilon? Vidu Kiel mendi servilon
Konektante al la Servilo
Vindozo (PUTTY)
Malfermu PuTTY, enigu vian VPS IP-adreson en la kampon Gastiga Nomo, agordu la pordon al 22, kaj ensalutu kiel administranto uzante la pasvorton, kiun via VPS-provizanto retpoŝtis al vi.
Servila IP-adreso: via IP-adreso
ensaluti kiel: root
Pasvorto: via pasvorto
1. Malfermu PuTTY, enigu vian VPS IP-adreson en la kampon Gastiga Nomo.
2. Agordu la pordon al 22.
3. Tajpu ensaluti kiel administranto.
4. Uzante la pasvorton, kiun via VPS-provizanto retpoŝtis al vi.
La rezulto devus esti jena:
Por detala gvidilo pri konekto per PuTTY/SSH, vidu Kiel konekti al Linuksa servilo per SSH
Linukso / macOS (terminalo)
ssh root@YOUR_SERVER_IP
Ĉiuj komandoj sube estas plenumataj sur la servilo, en ĉi tiu sama SSH-sesio — kiu kovras Sekciojn 2 ĝis 5, plus la servilflankajn kontrolojn en Sekcio 9. Sekcioj 6–8 (instalado kaj agordado de la VPN-kliento) okazas anstataŭe sur via propra Vindoza/macOS/Linuksa aparato, ĉar tio estas la aparato sur kiu la VPN bezonas funkcii; ĉiu el tiuj sekcioj eksplicite diras kiuj linioj, se ekzistas, ankoraŭ tuŝas la servilon.
Preparante la Servilon
Ĝisdatigu la sistemon
Antaŭ ol instali ion ajn, refreŝigu la pakaĵliston kaj ĝisdatigu instalitajn pakaĵojn:
apt update -y && apt upgrade -y
Se tio ĝisdatigas la kernon, rekomencu antaŭ ol konstrui la kernan modulon AmneziaWG en Sekcio 3, alie DKMS povus konstrui kontraŭ la malĝustaj kernaj kaplinioj kaj la modulo malsukcesos ŝarĝi. (Por refreŝigo pri apt kaj kiel funkcias Linuksaj pakaĵadministriloj, vidu Linuksaj Pakaĵadministriloj .) Kontrolu kun:
cat /var/run/reboot-required
Ebligi IP-plusendadon
Ĉi tiu agordo permesas al la servilo plusendi la pakaĵojn de klientoj al la interreto — sen ĝi, la tunelo aperos sed neniu trafiko trairos ĝin.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
La unua komando kreas dediĉitan agordodosieron; la dua aplikas ĝin sen restartigi la servilon.
Agordu la fajromuron (UFW)
Por pliaj informoj pri UFW-reguloj, vidu Agordado de Fajromuro en Linukso
Malfermu la du bezonotajn pordojn: 22/tcp por SSH (preterlasu ĉi tiun regulon kaj vi riskas perdi aliron al la servilo) kaj 42666/udp, la pordon, kiun AmneziaWG aŭskultos.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Ambaŭ reguloj devus montriĝi kiel PERMESITA en la ufw-statusa eligo.
Instali AmneziaWG
Debian ne subtenas Ubuntu-stilajn PPA-ojn rekte, do la deponejo devas esti aldonita permane anstataŭ per add-apt-repository. Tio funkcias same ĉe Ubuntu.
Aldonu la deponejon permane
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
Aldonu la GPG-subskriban ŝlosilon
Uzu ŝlosilringan dosieron anstataŭ la malrekomendinda komando apt-key, kaj prenu la veran subskriban ŝlosilon de la PPA (fingrospuro 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
Ĝisdatigu kaj instalu
apt update
apt install -y amneziawg
Kontrolu la ŝarĝitan modulon
modprobe amneziawg
lsmod | grep amnezia
Generado de Servila kaj Klienta Agordo
Instali helpajn ilojn
Instalu la qrcode-dependecon, poste kreu dediĉitan labordosierujon kaj elŝutu la komunuman config-generator-skripton en ĝin:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Se python3-qrcode ne haveblas en la deponejoj de via distribuaĵo, revenu al pip3 install qrcode --break-system-packages (la flago estas necesa en Debian 12+/Ubuntu 24.04, kiu defaŭlte blokas neadministritajn pip-instalaĵojn). Ne lanĉu ambaŭ instalaĵojn — elektu unu.
Generi la servilan agordon
Kreu /etc/amnezia/amneziawg/awg0.conf. Vi povas lasi la internan subreton kaj UDP-pordon de la tunelo je iliaj defaŭltaj valoroj aŭ agordi viajn proprajn:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
La flago -i agordas la internan retadreson kaj maskon de la tunelo; -p agordas la UDP-pordon de la servilo (la sama malfermita en paŝo 2.3).
Kreu la ŝablonon de klienta agordo
python3 awgcfg.py --create
Ĉi tio konservas ŝablonon en la sama dosierujo, el kiu individuaj klientaj agordoj estas konstruitaj — ĝi jam inkluzivas la publikan ŝlosilon de la servilo, ĝian IP-adreson, kaj la malklarigajn parametrojn (Jc, Jmin, Jmax, S1, S2, H1–H4) kiuj distingas AmneziaWG de simpla WireGuard.
Aldoni klientojn
Kreu unu eniron por aparato — la nomo povas esti io ajn, ekz. la aparatnomo:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Generi klientajn dosierojn kaj QR-kodojn
python3 awgcfg.py -c -q
La dosierujo ~/awg nun enhavos dosierojn kiel laptop.conf kaj phone.conf, kaj plie kongruajn PNG-QR-kodojn, kiujn vi povas skani rekte en poŝtelefonan aplikaĵon.
La dosierujo ~/awg nun enhavos dosierojn kiel laptop.conf kaj phone.conf, kaj plie kongruajn PNG-QR-kodojn, kiujn vi povas skani rekte en poŝtelefonan aplikaĵon.
Komenci la servon kaj ebligi aŭtomatan starton
Malfermu la interfacon awg0 kaj ebligu ĝin aŭtomate ekfunkcii post restartiĝo:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
La stato devus montri aktiva (elirinta) kun la aparato ebligita dum la starto. Se la konzolo ŝajnas "blokiĝi" montrante protokolojn, premu Q por eliri.
Kontrolu la liston de aktivaj samtavolanoj kaj po-samtavola trafiko per:
awg show
Konektante el Vindozo
Ĉio en ĉi tiu sekcio okazas sur via Vindoza komputilo, ne per SSH — la VPN-kliento devas esti instalita sur la aparato, kiu efektive uzos la tunelon. La sola paŝo, kiu koncernas la servilon, estas la elŝuto de scp en versio 6.2, kaj eĉ tiu komando estas tajpita sur via komputilo, tirante dosieron, kiun la servilo jam generis en Sekcio 4.
Instalu la klienton
AmneziaWG havas dediĉitan Vindozan aplikaĵon — ĝia interfaco spegulas la norman WireGuard-klienton sed ĝi komprenas la malklarigado-parametrojn. Elŝutu la instalilon el la oficiala deponejo de la projekto:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
La supra ligilo estas la paĝo pri eldonoj de la prizorgata Vindoza kliento — elŝutu la plej novan .msi/.exe dosieron de tie. Ĉi tiu estas paĝo por malfermi en via retumilo, ne komando por alglui en terminalon.
Rulu la instalilon kaj paŝu tra la agorda asistanto; la defaŭltoj ne bezonas esti ŝanĝitaj.
Importi la agordon
Kopiu la klientan agordodosieron de la servilo al via komputilo — la plej facila maniero estas scp, rulu ĝin en PowerShell sur via komputilo, ne sur la servilo:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
En la aplikaĵo AmneziaWG, alklaku "Importi tunelo(j)n el dosiero", elektu laptop.conf, kaj ŝaltu la ŝaltilon apud la nova tunelo.
Konektante de macOS
Ekzistas du subtenataj opcioj:
- AmneziaWG (Mac App Store): malpeza kliento, funkcias ĉe macOS 12 kaj pli novaj. Serĉu "AmneziaWG" en la App Store, instalu ĝin, poste uzu "Importi tunelon(j)n el dosiero" kaj elektu vian .conf-dosieron — sama laborfluo kiel ĉe la Vindoza kliento.
- AmneziaVPN (plena aplikaĵo, macOS 14+): elŝutu la .pkg de github.com/amnezia-vpn/amnezia-client/releases/latest se vi preferas uzi la plenfunkcian Amnezia aplikaĵon anstataŭ la malpezan nur-AmneziaWG-klienton.
Kopiu la klientan agordon unue se necese, same kiel en paŝo 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Konektante el Linukso
Sur Linuksa labortabla komputilo aŭ tekokomputilo vi havas du eblojn:
- GUI: instalu la plenan klienton por labortablo de AmneziaVPN el github.com/amnezia-vpn/amnezia-client/releases, poste importu la dosieron .conf same kiel en Vindozo/macOS.
- CLI, uzante la samajn amneziawg-ilojn uzatajn sur la servilo (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Rulu ĉi tiun kodon por malkonekti.
awg-quick down awg0
Por aŭtomate aktivigi la tunelon ĉe ensaluto, ebligu ĝin kiel servon:
systemctl enable --now awg-quick@awg0
Kontrolante la Konekton
Kun la tunelo aktiva el Sekcio 6, 7, aŭ 8, revenu al via propra aparato (ne la SSH-sesio) kaj malfermu iun ajn kontrolilon "kio estas mia IP-adreso" en retumilo — la montrita adreso devus kongrui kun la IP-adreso de via VPS. Por kontroli de interne de la SSH-sesio anstataŭe, lanĉu "awg show" sur la servilo kaj konfirmu, ke la samtavolano de la kliento montras lastatempan manpremon kaj ne-nulan trafikon.
referenco:
|
Kampo |
valoro |
|
Adreso |
VIA_TUNELA_IP (la adreso de la kliento ene de la tunelo, ekz. 10.10.8.2/32 — asignita aŭtomate kiam la kliento estis aldonita en paŝo 4.4) |
|
Punkto de punkto |
VIA_SERVILA_IP:42666 (La ekstera IP-adreso de la servilo kaj la UDP-pordo al kiu la kliento konektiĝas.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
nombro kaj grandeco de "rubaj" pakaĵetoj senditaj antaŭ la manpremo — povas diferenci inter servilo kaj kliento sen interrompi la konekton |
|
S1/S2 |
grandeco de manpremaj remburaĵaj kampoj — devas kongrui bajto-post-bajto inter servilo kaj ĉiu kliento |
|
H1 – H4 |
pakaĵ-tipaj titoloj, kiuj maskas la protokolon kiel ordinaran trafikon — devas ankaŭ kongrui precize, kaj devas esti unikaj unu de la alia |
Nur S1/S2 kaj H1–H4 devas esti identaj ambaŭflanke de la tunelo; Jc, Jmin, kaj Jmax temas nur pri kiel ĉiu flanko aldonas sian propran elirantan rubtrafikon, do la klientaj kaj servilaj valoroj povas legitime diferenci, kiel ili faras en la supra ekzemplo.
konkludo
Sekvante ĉi tiun gvidilon, via VPS funkciigas sian propran AmneziaWG-servilon: WireGuard-kongruan protokolon kun trafika malklarigado, kiun estas rimarkeble pli malfacile distingi por DPI-sistemoj de ordinara UDP-trafiko ol simpla WireGuard. La servo funkcias kiel la sistemd-unuo awg-quick@awg0 kaj postvivas servilan restartigon sen ia ajn ago de via flanko.
La rezultantaj .conf-dosieroj kaj QR-kodoj en ~/awg funkcias ne nur kun la Vindoza kliento, sed ankaŭ povas esti importitaj en la AmneziaWG aŭ Amnezia aplikaĵojn por Android, iOS, macOS kaj Linukso, same kiel en la Keenetic kaj OpenWrt-enkursigilojn.
Aldonu novajn klientojn iam ajn ripetante paŝojn 4.4–4.5 (python3 awgcfg.py -a "nomo", poste awgcfg.py -c -q) kaj rekomencante la interfacon per systemctl restart [email protected].
Kelkaj kutimoj, kiujn valoras konservi post kiam la servilo funkcias:
- Konservu la sistemon flikita. Reekzekutigu `apt update -y` kaj `apt upgrade -y` periode, kaj restartigu post kernaj ĝisdatigoj por ke DKMS rekonstruu la `amneziawg` modulon kontraŭ la nova kerno.
- Rezervu ~/awg. Ĝi enhavas la privatan ŝlosilon de ĉiu kliento kaj la propran ŝlosilparon de la servilo en awg0.conf; perdi ĝin signifas regeneri agordojn por ĉiu aparato.
- Revoku perditajn aparatojn tuj. Forigu la respondan blokon [Peer] el /etc/amnezia/amneziawg/awg0.conf kaj lanĉu systemctl restart. [retpoŝte protektita].
Se la konekto ne funkcius, kontrolu laŭvice:
- la servostato (systemctl-stato [retpoŝte protektita])
- la reguloj de la fajromuro (ufw-stato — pordo 42666/udp devas esti malfermita)
- la stato de DKMS/modulo se la interfaco eĉ ne ekfunkcias (dkms-stato, lsmod | grep amnezia)
- la listo de aktivaj samrangaj uzantoj sur la servilo (awg show)
- ke la klienta agordo montras al la ĝusta ekstera servila IP-adreso
Ĉu kompari AmneziaWG kun aliaj ebloj antaŭ ol decidi? Vidu VPN-servila agordo en Linukso: PPTP aŭ OpenVPN? kaj Kiel agordi Wireguard VPN en via servilo . Se vi bezonas nur simplan prokurilon anstataŭ plenan VPN-tunelon, 3-prokurila agordo en CentOS/ArchLinux estas pli malpeza alternativo. Por ĝenerala servila plifortigo post kiam la VPN funkcias, vidu Linuksaj Uzantoj: Administrado kaj Permesoj.