Getdikcə daha çox insan pullu, hazır xidmətlərə etibar etmək əvəzinə, öz VPN-lərini işlədir: bu, daha ucuzdur, məxfilik üçün daha yaxşıdır və server üzərində tam nəzarət imkanı verir. Aqressiv şəbəkə bloklanması olan bölgələr üçün ən təsirli variantlardan biri, WireGuard-ın üstündə Amnezia layihəsi tərəfindən hazırlanmış AmneziaWG protokoludur.
Classic WireGuard sürətli və etibarlıdır, lakin sabit paket quruluşuna və proqnozlaşdırıla bilən əl sıxışmasına malikdir və DPI (Dərin Paket Təftişi) sistemləri etibarlı şəkildə barmaq izi ilə bloklaya və bloklaya bilir. AmneziaWG bunu həll edir: adi WireGuard bağlantısına lazımsız paketlər əlavə edir, başlıqları təsadüfi şəkildə sıralayır və əl sıxışma sahələrinin ölçüsünü dəyişir - beləliklə, WireGuard-ın xarakterik imzası yox olur və trafik artıq adi UDP trafikindən fərqlənmir.
Artıq klassik bir tunel işlədirsiniz və dəyişməyə dəyər olub-olmadığını düşünürsünüz? Bunu Linux-da VPN server quraşdırmasındakı sadə OpenVPN/PPTP quraşdırması ilə müqayisə edin: PPTP, yoxsa OpenVPN? və ya serverinizdə Wireguard VPN-i necə qurmaq olar bölməsindəki vanil WireGuard (qarışıqlıq olmadan) ilə müqayisə edin.
Bu təlimat, Docker və ya veb panel olmadan əl ilə AmneziaWG serverini qurur — VPS-in özündə mümkün olan ən kiçik iz, tamamilə əmr sətrindən konfiqurasiya edilir. Bu, ən yüngül seçimdir və büdcəli VPS-də yaxşı işləyir, çünki GUI, verilənlər bazası və tərs proksi tələb etmir. Aşağıdakı nümunə server yer tutucu IP ünvanından istifadə edir — onu göründüyü yerdə öz VPS ünvanınızla əvəz edin.
Sizə lazım olanlar: Ubuntu 22.04/24.04 və ya Debian 11/12 əməliyyat sistemində işləyən VPS, root girişi və VPS-inizin IP ünvanı. Domen adı tələb olunmur — AmneziaWG sertifikatlardan istifadə etmir, buna görə də yenilənəcək və DPI-nin TLS əl sıxışması kimi qeyd ediləcək bir şey yoxdur.
Hələ serveriniz yoxdur? Server sifariş etmək üçün baxın
Serverə qoşulma
Pəncərələr (PuTTY)
PuTTY-ni açın, Host Adı sahəsinə VPS IP ünvanınızı daxil edin, portu 22-yə təyin edin və VPS provayderinizin sizə göndərdiyi paroldan istifadə edərək root kimi daxil olun.
Server IP ünvanı: sizin IP ünvanınız
root kimi daxil olun
Şifrə: parolunuz
1. PuTTY-ni açın, VPS IP ünvanınızı Host Adı sahəsinə daxil edin.
2. Portu 22-yə təyin edin.
3. Root kimi daxil olun.
4. VPS provayderinizin sizə göndərdiyi paroldan istifadə etməklə.
Nəticə aşağıdakı kimi olmalıdır:
PuTTY/SSH vasitəsilə qoşulmanın ətraflı təsviri üçün Linux serverinə SSH vasitəsilə necə qoşulmaq olar bölməsinə baxın.
Linux / macOS (terminal)
ssh root@YOUR_SERVER_IP
Aşağıdakı bütün əmrlər serverdə, eyni SSH sessiyasında — 2-5-ci bölmələri, üstəgəl 9-cu bölmədəki server tərəfindəki yoxlamaları əhatə edən — işə salınır. 6-8-ci bölmələr (VPN klientinin quraşdırılması və konfiqurasiyası) əvəzinə sizin öz Windows/macOS/Linux cihazınızda baş verir, çünki VPN-in işləməli olduğu cihaz budur; bu bölmələrin hər biri hansı sətirlərin, əgər varsa, serverə hələ də toxunduğunu açıq şəkildə bildirir.
Serverin Hazırlanması
Sistemi yeniləyin
Bir şey quraşdırmadan əvvəl, paket siyahısını yeniləyin və quraşdırılmış paketləri təkmilləşdirin:
apt update -y && apt upgrade -y
Əgər bu, nüvəni yeniləyirsə, 3-cü bölmədə AmneziaWG nüvə modulunu qurmazdan əvvəl yenidən başladın, əks halda DKMS səhv nüvə başlıqlarına qarşı qurulacaq və modul yüklənə bilməyəcək. (APT və Linux paket menecerlərinin necə işlədiyi barədə məlumat üçün Linux Paket Menecerlərinə baxın .) Yoxlayın:
cat /var/run/reboot-required
IP yönləndirməsini aktivləşdirin
Bu parametr serverə müştərilərin paketlərini internetə yönləndirməyə imkan verir — bu parametr olmadan tunel açılacaq, lakin heç bir trafik oradan keçməyəcək.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Birinci əmr xüsusi bir konfiqurasiya faylı yaradır; ikinci əmr serveri yenidən başlatmadan tətbiq edir.
Firewall (UFW) konfiqurasiya edin
UFW qaydaları haqqında daha çox məlumat üçün Linux-da Firewall-ın konfiqurasiyasına baxın.
Lazım olan iki portu açın: SSH üçün 22/tcp (bu qaydanı atlasanız, serverə girişi itirmək riski ilə üzləşəcəksiniz) və AmneziaWG-nin dinləyəcəyi 42666/udp portu.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Hər iki qayda ufw status çıxışında ALLOW kimi göstərilməlidir.
AmneziaWG-nin quraşdırılması
Debian Ubuntu tipli PPA-ları birbaşa dəstəkləmir, ona görə də depo add-apt-repository ilə deyil, əl ilə əlavə edilməlidir. Bu, Ubuntu-da da eyni şəkildə işləyir.
Depoları əl ilə əlavə edin
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
GPG imza açarını əlavə edin
Köhnəlmiş apt-key əmri əvəzinə dearmored keyring faylından istifadə edin və PPA-nın real imza açarını (barmaq izi 75C9DD72C799870E310542E24166F2C257290828) əldə edin:
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
Yeniləyin və quraşdırın
apt update
apt install -y amneziawg
Modulun yükləndiyini yoxlayın
modprobe amneziawg
lsmod | grep amnezia
Server və Müştəri Konfiqurasiyasının Yaradılması
Köməkçi proqramları quraşdırın
Qrcode asılılığını quraşdırın, sonra xüsusi bir iş qovluğu yaradın və community config-generator skriptini ona yükləyin:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Əgər python3-qrcode distro depolarınızda mövcud deyilsə, pip3 install qrcode --break-system-packages əmrinə qayıdın (bayraq Debian 12+/Ubuntu 24.04-də tələb olunur, bu da idarə olunmayan pip quraşdırmalarını standart olaraq bloklayır). Hər iki quraşdırmanı işə salmayın — birini seçin.
Server konfiqurasiyasını yaradın
/etc/amnezia/amneziawg/awg0.conf faylını yaradın. Tunelin daxili alt şəbəkəsini və UDP portunu standart parametrlərdə saxlaya və ya özünüzü təyin edə bilərsiniz:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
-i bayrağı tunelin daxili şəbəkə ünvanını və maskasını təyin edir; -p bayrağı serverin UDP portunu (2.3 addımında açılanla eyni) təyin edir.
Müştəri konfiqurasiya şablonunu yaradın
python3 awgcfg.py --create
Bu, şablonu fərdi müştəri konfiqurasiyalarının qurulduğu eyni qovluqda saxlayır — artıq serverin açıq açarını, IP ünvanını və AmneziaWG-ni adi WireGuard-dan fərqləndirən qarışıqlıq parametrlərini (Jc, Jmin, Jmax, S1, S2, H1–H4) ehtiva edir.
Müştərilər əlavə edin
Hər cihaz üçün bir giriş yaradın — ad istənilən ola bilər, məsələn, cihazın adı:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Müştəri faylları və QR kodları yaradın
python3 awgcfg.py -c -q
~/awg qovluğunda artıq laptop.conf və phone.conf kimi fayllar, üstəgəl birbaşa mobil tətbiqə skan edə biləcəyiniz uyğun PNG QR kodları olacaq.
~/awg qovluğunda artıq laptop.conf və phone.conf kimi fayllar, üstəgəl birbaşa mobil tətbiqə skan edə biləcəyiniz uyğun PNG QR kodları olacaq.
Xidməti Başlat və Avtomatik Başlatı Aktivləşdir
awg0 interfeysini açın və yenidən başlatma zamanı avtomatik olaraq başlamasını təmin edin:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Cihaz açılış zamanı aktiv olduqda status aktiv (çıxdı) göstərilməlidir. Konsol jurnalları göstərərək "asılı" görünürsə, çıxmaq üçün Q düyməsini basın.
Aktiv həmyaşıdların və hər həmyaşıd trafikinin siyahısını aşağıdakılarla yoxlayın:
awg show
Windows-dan qoşulma
Bu bölmədəki hər şey SSH üzərindən deyil, Windows kompüterinizdə baş verir — VPN klienti tuneli həqiqətən istifadə edəcək cihazda quraşdırılmalıdır. Serverə toxunan yeganə addım 6.2-də scp yükləməsidir və hətta bu əmr kompüterinizdə yazılır və server 4-cü bölmədə artıq yaradılan faylı çəkir.
Müştərini quraşdırın
AmneziaWG-nin xüsusi bir Windows tətbiqi var — onun interfeysi standart WireGuard klientini əks etdirir, lakin qarışıqlıq parametrlərini başa düşür. Quraşdırıcını layihənin rəsmi deposundan yükləyin:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Yuxarıdakı link saxlanılan Windows klientinin buraxılış səhifəsidir — ən son .msi/.exe aktivini oradan yükləyin. Bu, terminala yapışdırmaq üçün əmr deyil, brauzerinizdə açılacaq səhifədir.
Quraşdırıcını işə salın və quraşdırma ustasını addım-addım izləyin; standart parametrləri dəyişdirməyə ehtiyac yoxdur.
Konfiqurasiyanı idxal edin
Müştəri konfiqurasiya faylını serverdən kompüterinizə kopyalayın — ən asan yol scp-dir, onu serverdə deyil, kompüterinizdə PowerShell-də işlədin:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
AmneziaWG tətbiqində "Fayldan tunel(lər)i idxal et" düyməsini basın, laptop.conf faylını seçin və yeni tunelin yanındakı düyməni aktivləşdirin.
MacOS-dan qoşulur
İki dəstəklənən seçim mövcuddur:
- AmneziaWG (Mac App Store): yüngül klient, macOS 12 və daha sonrakı versiyalarda işləyir. App Store-da "AmneziaWG" axtarın, quraşdırın, sonra "Fayldan tunel(lər)i idxal et" funksiyasından istifadə edin və .conf faylınızı seçin — Windows klienti ilə eyni iş axını.
- AmneziaVPN (tam tətbiq, macOS 14+): Əgər yüngül AmneziaWG-yə əsaslanan klient əvəzinə tam xüsusiyyətli Amnezia tətbiqindən istifadə etmək istəyirsinizsə, .pkg faylını github.com/amnezia-vpn/amnezia-client/releases/latest ünvanından yükləyin.
Lazım gələrsə, əvvəlcə klient konfiqurasiyasını kopyalayın, 6.2 addımında olduğu kimi:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Linux-dan qoşulur
Linux masaüstü və ya dizüstü kompüterində iki seçiminiz var:
- GUI: github.com/amnezia-vpn/amnezia-client/releases saytından tam AmneziaVPN masaüstü klientini quraşdırın, sonra .conf faylını Windows/macOS-da olduğu kimi idxal edin.
- CLI, serverdə istifadə edilən eyni amneziawg-alətlərindən (awg / awg-quick) istifadə edərək:
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Bağlantıdan çıxmaq üçün bu kodu işlədin.
awg-quick down awg0
Giriş zamanı tunelin avtomatik olaraq işə salınması üçün onu xidmət kimi aktivləşdirin:
systemctl enable --now awg-quick@awg0
Bağlantının yoxlanılması
Tunel 6, 7 və ya 8-ci bölmələrdən aktiv olduqda, öz cihazınıza (SSH sessiyasına deyil) qayıdın və brauzerdə istənilən "mənim IP ünvanım nədir" yoxlayıcısını açın — göstərilən ünvan VPS-inizin IP ünvanı ilə uyğun olmalıdır. SSH sessiyasının içərisindən yoxlamaq üçün serverdə awg show əmrini işə salın və klientin həmyaşıdının son əl sıxışmasını və sıfır olmayan trafik göstərdiyini təsdiqləyin.
Referans:
|
Sahə |
Dəyər |
|
ünvan |
YOUR_TUNNEL_IP (müştərinin tunel daxilindəki ünvanı, məsələn, 10.10.8.2/32 — 4.4 addımında müştəri əlavə edildikdə avtomatik olaraq təyin olunur) |
|
Son nöqtə |
YOUR_SERVER_IP:42666 (Serverin xarici IP ünvanı və müştərinin qoşulduğu UDP portu.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
əl sıxışmasından əvvəl göndərilən "lazımsız" paketlərin sayı və ölçüsü — bağlantını kəsmədən server və klient arasında dəyişə bilər |
|
S1 / S2 |
əl sıxma doldurma sahələrinin ölçüsü — server və hər bir klient arasında bayt-bayt uyğun olmalıdır |
|
H1 – H4 |
Protokolu adi trafik kimi maskalayan paket tipli başlıqlar — eyni zamanda tam uyğun olmalı və bir-birindən unikal olmalıdır |
Tunelin hər iki ucunda yalnız S1/S2 və H1–H4 eyni olmalıdır; Jc, Jmin və Jmax tamamilə hər tərəfin öz çıxan junk trafikini necə doldurması ilə bağlıdır, buna görə də yuxarıdakı nümunədə olduğu kimi, klient və server dəyərləri qanuni olaraq fərqlənə bilər.
Nəticə
Bu təlimatı izləmək VPS-inizi öz AmneziaWG serveri ilə işlədir: trafik qarışıqlığına malik WireGuard ilə uyğun protokol, DPI sistemləri üçün adi UDP trafikindən ayırd etmək adi WireGuard-dan xeyli çətindir. Xidmət systemd vahidi awg-quick@awg0 kimi işləyir və sizin tərəfinizdən heç bir hərəkət olmadan server yenidən başladıqdan sonra da davam edir.
Nəticədə ~/awg faylında .conf faylları və QR kodları yalnız Windows klienti ilə işləmir, həm də Android, iOS, macOS və Linux üçün AmneziaWG və ya Amnezia tətbiqlərinə, eləcə də Keenetic və OpenWrt routerlərinə idxal edilə bilər.
4.4–4.5 addımlarını təkrarlayaraq (python3 awgcfg.py -a "name", sonra awgcfg.py -c -q) və interfeysi systemctl restart [email protected] əmri ilə yenidən başladaraq istənilən vaxt yeni klientlər əlavə edin.
Server işləyərkən riayət etməyə dəyər bir neçə vərdiş:
- Sistemi yenilənmiş saxlayın. apt update -y və& apt upgrade -y əmrlərini vaxtaşırı olaraq yenidən işə salın və nüvə yeniləmələrindən sonra yenidən başladın ki, DKMS amneziawg modulunu yeni nüvəyə qarşı yenidən qursun.
- ~/awg faylının ehtiyat nüsxəsini çıxarın. Bu fayl hər bir klientin şəxsi açarını və serverin öz açar cütünü awg0.conf faylında saxlayır; onu itirmək hər bir cihaz üçün konfiqurasiyaların yenidən yaradılması deməkdir.
- İtirilmiş cihazları dərhal geri alın. /etc/amnezia/amneziawg/awg0.conf faylından müvafiq [Peer] blokunu silin və systemctl restart əmrini işə salın. [e-poçt qorunur].
Bağlantı baş tutmasa, ardıcıllığı yoxlayın:
- xidmət statusu (systemctl statusu) [e-poçt qorunur])
- firewall qaydaları (ufw statusu — 42666/udp portu açıq olmalıdır)
- İnterfeys başlamazsa belə, DKMS/modul statusu (dkms status, lsmod | grep amnezia)
- serverdəki aktiv həmyaşıdların siyahısı (awg şousu)
- müştəri konfiqurasiyasının düzgün xarici server IP ünvanını göstərdiyini
AmneziaWG-ni digər seçimlərlə müqayisə etmək üçün Linux-da VPN server quraşdırmasına baxın: PPTP və ya OpenVPN? və Serverinizdə Wireguard VPN-i necə qurmaq olar . Tam VPN tuneli əvəzinə yalnız sadə bir proxy-yə ehtiyacınız varsa, CentOS/ArchLinux-da 3proxy konfiqurasiyası daha yüngül alternativdir. VPN işə düşdükdən sonra ümumi server sərtləşməsi üçün Linux İstifadəçiləri: İdarəetmə və İcazələr bölməsinə baxın.