Ақылы, дайын қызметтерге сүйенудің орнына өздерінің VPN-ін іске қосатындар саны артып келеді: ол арзанырақ, құпиялылық үшін тиімдірек және серверді толық басқаруға мүмкіндік береді. Желіні агрессивті түрде бұғаттайтын аймақтар үшін ең тиімді нұсқалардың бірі - AmneziaWG хаттамасы, оны WireGuard-тың үстінен Amnezia жобасы әзірлеген.
Classic WireGuard жылдам және сенімді, бірақ оның бекітілген пакеттік құрылымы және болжамды қол алысуы бар, оны DPI (Deep Packet Inspection) жүйелері сенімді түрде саусақ ізін анықтап, блоктай алады. AmneziaWG мұны шешеді: ол кәдімгі WireGuard қосылымына қажетсіз пакеттерді қосады, тақырыптарды кездейсоқ реттейді және қол алысу өрістерінің өлшемін өзгертеді — осылайша WireGuard-тың сипаттамалық қолтаңбасы жоғалады және трафик енді кәдімгі UDP трафигінен ерекшеленбейді.
Классикалық туннельді қазірдің өзінде іске қосып жатырсыз ба және оны ауыстырудың қажеті бар ма деп ойлап отырсыз ба? Мұны Linux жүйесіндегі VPN серверін орнатудағы қарапайым OpenVPN/PPTP орнатуымен салыстырыңыз: PPTP немесе OpenVPN? немесе серверіңізде Wireguard VPN орнату әдісі бөліміндегі қарапайым WireGuard (бұғаттаусыз) орнатуымен салыстырыңыз.
Бұл нұсқаулық AmneziaWG серверін Docker немесе веб-панельсіз қолмен орнатады — бұл VPS-тің өзіндегі ең аз із, толығымен пәрмен жолынан конфигурацияланған. Бұл ең жеңіл нұсқа және бюджеттік VPS-те жақсы жұмыс істейді, себебі оған графикалық интерфейс, дерекқор және кері прокси қажет емес. Төмендегі мысал сервер толтырғыш IP мекенжайын пайдаланады — оны пайда болған жерде өзіңіздің VPS мекенжайыңызбен ауыстырыңыз.
Сізге қажет нәрселер: Ubuntu 22.04/24.04 немесе Debian 11/12 жүйесінде жұмыс істейтін VPS, root қатынасы және VPS IP мекенжайы. Домен атауы міндетті емес — AmneziaWG сертификаттарды пайдаланбайды, сондықтан жаңартуға ештеңе жоқ және DPI үшін TLS қол алысу ретінде белгілеуге ештеңе жоқ.
Әлі серверіңіз жоқ па? Серверге қалай тапсырыс беру керектігін қараңыз
Серверге қосылу
Терезелер (PuTTY)
PuTTY ашыңыз, VPS IP мекенжайыңызды Хост атауы өрісіне енгізіңіз, портты 22-ге орнатыңыз және VPS провайдеріңіз сізге электрондық пошта арқылы жіберген құпия сөзді пайдаланып root ретінде кіріңіз.
Сервердің IP мекенжайы: сіздің IP мекенжайыңыз
root ретінде кіру
Құпия сөз: сіздің құпия сөзіңіз
1. PuTTY бағдарламасын ашыңыз, VPS IP мекенжайыңызды «Хост атауы» өрісіне енгізіңіз.
2. Портты 22-ге орнатыңыз.
3. root ретінде кіруді енгізіңіз.
4. VPS провайдеріңіз сізге электрондық пошта арқылы жіберген құпия сөзді пайдалану.
Нәтиже келесідей болуы керек:
PuTTY/SSH арқылы қосылудың егжей-тегжейлі нұсқаулығын алу үшін Linux серверіне SSH арқылы қалай қосылу керектігін қараңыз.
Linux / macOS (терминал)
ssh root@YOUR_SERVER_IP
Төмендегі барлық командалар серверде, дәл осы SSH сессиясында орындалады — ол 2-ден 5-ке дейінгі бөлімдерді, сондай-ақ 9-бөлімдегі сервер жағындағы тексерулерді қамтиды. 6-8 бөлімдер (VPN клиентін орнату және конфигурациялау) сіздің Windows/macOS/Linux құрылғыңызда орындалады, себебі VPN осы құрылғыда жұмыс істеуі керек; осы бөлімдердің әрқайсысында серверге қандай жолдар, егер бар болса, әлі де тиетіні нақты көрсетілген.
Серверді дайындау
Жүйені жаңартыңыз
Бірдеңе орнатпас бұрын, пакеттер тізімін жаңартып, орнатылған пакеттерді жаңартыңыз:
apt update -y && apt upgrade -y
Егер бұл ядроны жаңартса, 3-бөлімде AmneziaWG ядро модулін құрастырмас бұрын қайта жүктеңіз, әйтпесе DKMS қате ядро тақырыптарына қарсы құрылуы мүмкін және модуль жүктелмейді. (apt және Linux пакет менеджерлерінің қалай жұмыс істейтіні туралы жаңарту үшін Linux пакет менеджерлерін қараңыз .) Мынаны тексеріңіз:
cat /var/run/reboot-required
IP мекенжайын қайта бағыттауды қосу
Бұл параметр серверге клиенттердің пакеттерін интернетке жіберуге мүмкіндік береді — онсыз туннель пайда болады, бірақ ол арқылы ешқандай трафик өтпейді.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Бірінші команда арнайы конфигурация файлын жасайды; екіншісі оны серверді қайта жүктемей қолданады.
Брандмауэрді (UFW) конфигурациялау
UFW ережелері туралы қосымша ақпарат алу үшін Linux жүйесінде брандмауэрді конфигурациялау бөлімін қараңыз.
Қажетті екі портты ашыңыз: SSH үшін 22/tcp (бұл ережені өткізіп жіберсеңіз, серверге кіру мүмкіндігін жоғалту қаупі бар) және 42666/udp, AmneziaWG тыңдайтын порт.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Екі ереже де ufw күйінің шығысында ALLOW ретінде көрсетілуі керек.
AmneziaWG орнату
Debian Ubuntu стиліндегі PPA-ларды тікелей қолдамайды, сондықтан репозиторийді add-apt-repository арқылы емес, қолмен қосу керек. Бұл Ubuntu-да дәл осылай жұмыс істейді.
Репозиторийді қолмен қосыңыз
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
GPG қол қою кілтін қосыңыз
Ескірген apt-key командасының орнына dearmored keyring файлын пайдаланыңыз және PPA нақты қолтаңбалау кілтін (саусақ ізі 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
Жаңарту және орнату
apt update
apt install -y amneziawg
Модульдің жүктелгенін тексеріңіз
modprobe amneziawg
lsmod | grep amnezia
Сервер және клиент конфигурациясын жасау
Көмекші утилиталарды орнатыңыз
Qrcode тәуелділігін орнатыңыз, содан кейін арнайы жұмыс каталогын жасаңыз және оған community config-generator скриптін жүктеп алыңыз:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
Егер python3-qrcode дистрибутивіңіздің репозиторийлерінде қолжетімді болмаса, pip3 install qrcode --break-system-packages нұсқасына оралыңыз (жалауша Debian 12+/Ubuntu 24.04 нұсқасында қажет, ол басқарылмайтын pip орнатуларын әдепкі бойынша блоктайды). Екі орнатуды да іске қоспаңыз — біреуін таңдаңыз.
Сервер конфигурациясын жасаңыз
/etc/amnezia/amneziawg/awg0.conf файлын жасаңыз. Туннельдің ішкі ішкі желісі мен UDP портын әдепкі мәндерінде қалдыруға немесе өзіңіздікін орнатуға болады:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
-i жалаушасы туннельдің ішкі желі мекенжайын және маскасын орнатады; -p сервердің UDP портын орнатады (2.3-қадамда ашылғанмен бірдей).
Клиент конфигурациясының үлгісін жасаңыз
python3 awgcfg.py --create
Бұл үлгіні жеке клиент конфигурациялары жасалған қалтада сақтайды — оған сервердің ашық кілті, оның IP мекенжайы және AmneziaWG-ді қарапайым WireGuard-тан ажырататын обфускациялық параметрлер (Jc, Jmin, Jmax, S1, S2, H1–H4) кіреді.
Клиенттерді қосу
Әр құрылғыға бір жазба жасаңыз — атауы кез келген болуы мүмкін, мысалы, құрылғы атауы:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Клиент файлдарын және QR кодтарын жасаңыз
python3 awgcfg.py -c -q
~/awg қалтасында енді laptop.conf және phone.conf сияқты файлдар, сондай-ақ мобильді қолданбаға тікелей сканерлеуге болатын сәйкес PNG QR кодтары болады.
~/awg қалтасында енді laptop.conf және phone.conf сияқты файлдар, сондай-ақ мобильді қолданбаға тікелей сканерлеуге болатын сәйкес PNG QR кодтары болады.
Қызметті іске қосу және автоматты түрде іске қосуды қосу
awg0 интерфейсін іске қосып, қайта жүктеу кезінде автоматты түрде іске қосылуын қосыңыз:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
Құрылғы жүктелген кезде қосылған күйде белсенді (шығыс) күйі көрсетілуі керек. Егер консоль журналдарды көрсетіп «қатып» қалса, шығу үшін Q пернесін басыңыз.
Белсенді теңдестердің және теңдес трафиктің тізімін мыналармен тексеріңіз:
awg show
Windows жүйесінен қосылу
Бұл бөлімдегі барлық нәрсе SSH арқылы емес, Windows компьютеріңізде болады — VPN клиенті туннельді пайдаланатын құрылғыға орнатылуы керек. Серверге әсер ететін жалғыз қадам - 6.2 нұсқасындағы scp жүктеу, тіпті сол команда компьютеріңізге теріліп, сервер 4-бөлімде жасалған файлды жүктейді.
Клиентті орнатыңыз
AmneziaWG арнайы Windows қолданбасына ие — оның интерфейсі стандартты WireGuard клиентін көрсетеді, бірақ ол шатастыру параметрлерін түсінеді. Орнатушыны жобаның ресми репозиторийінен жүктеп алыңыз:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
Жоғарыдағы сілтеме - күтілетін Windows клиентінің шығарылымдар беті — сол жерден ең соңғы .msi/.exe активін жүктеп алыңыз. Бұл терминалға қоюға арналған пәрмен емес, браузеріңізде ашылатын бет.
Орнатқышты іске қосып, орнату шеберін қарап шығыңыз; әдепкі параметрлерді өзгертудің қажеті жоқ.
Конфигурацияны импорттау
Клиент конфигурация файлын серверден компьютеріңізге көшіріңіз — ең оңай жолы - scp, оны серверде емес, компьютеріңізде PowerShell бағдарламасында іске қосыңыз:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
AmneziaWG қолданбасында "Файлдан туннель(дер)ді импорттау" түймесін басып, laptop.conf файлын таңдап, жаңа туннельдің жанындағы қосқышты қосыңыз.
macOS жүйесінен қосылу
Екі қолдау көрсетілетін нұсқа бар:
- AmneziaWG (Mac App Store): жеңіл клиент, macOS 12 және одан кейінгі нұсқаларында жұмыс істейді. App Store дүкенінен "AmneziaWG" деп іздеңіз, орнатыңыз, содан кейін "Файлдан туннель(дер)ді импорттау" функциясын пайдаланып, .conf файлын таңдаңыз — Windows клиентімен бірдей жұмыс процесі.
- AmneziaVPN (толық қолданба, macOS 14+): егер сіз жеңіл AmneziaWG клиентінің орнына толық мүмкіндікті Amnezia қолданбасын пайдаланғыңыз келсе, .pkg файлын github.com/amnezia-vpn/amnezia-client/releases/latest сайтынан жүктеп алыңыз.
Қажет болса, алдымен клиент конфигурациясын көшіріңіз, 6.2-қадамдағыдай:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Linux жүйесінен қосылу
Linux жұмыс үстелінде немесе ноутбугында екі нұсқа бар:
- GUI: github.com/amnezia-vpn/amnezia-client/releases сайтынан AmneziaVPN жұмыс үстелі клиентінің толық нұсқасын орнатыңыз, содан кейін .conf файлын Windows/macOS жүйесіндегідей импорттаңыз.
- CLI, серверде қолданылатын amneziawg-құралдарын (awg / awg-quick) пайдалана отырып:
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
Ажырату үшін осы кодты іске қосыңыз.
awg-quick down awg0
Туннельді кіру кезінде автоматты түрде іске қосу үшін оны қызмет ретінде қосыңыз:
systemctl enable --now awg-quick@awg0
Қосылымды тексеру
Туннель 6, 7 немесе 8 бөлімдерден белсендірілген кезде, өз құрылғыңызға оралыңыз (SSH сессиясына емес) және браузерде кез келген «менің IP мекенжайым қандай» тексеру құралын ашыңыз — көрсетілген мекенжай VPS IP мекенжайыңызға сәйкес келуі керек. SSH сессиясының ішінен тексеру үшін серверде awg show командасын орындап, клиенттің серіктесі жақында қол алысуды және нөлдік емес трафикті көрсететінін растаңыз.
Анықтама:
|
дала |
құн |
|
мекен-жай |
YOUR_TUNNEL_IP (клиенттің туннель ішіндегі мекенжайы, мысалы, 10.10.8.2/32 — 4.4 қадамында клиент қосылған кезде автоматты түрде тағайындалады) |
|
Endpoint |
YOUR_SERVER_IP:42666 (Сервердің сыртқы IP мекенжайы және клиент қосылатын UDP порты.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
қол алысу алдында жіберілген «қалаусыз» пакеттердің саны мен өлшемі — қосылымды үзбестен сервер мен клиент арасында әртүрлі болуы мүмкін |
|
S1 / S2 |
қол алысу өрістерінің өлшемі — сервер мен әрбір клиент арасындағы байт сайын сәйкес келуі керек |
|
H1 – H4 |
Хаттаманы кәдімгі трафик ретінде жасыратын пакеттік типтегі тақырыптар - дәл сәйкес келуі және бір-бірінен ерекше болуы керек |
Тек S1/S2 және H1–H4 туннельдің екі жағында да бірдей болуы керек; Jc, Jmin және Jmax әр тараптың өзінің шығыс трафигін қалай толтыратыны туралы ғана, сондықтан клиент пен сервер мәндері жоғарыдағы мысалдағыдай заңды түрде ерекшеленуі мүмкін.
қорытынды
Осы нұсқаулықты орындау сіздің VPS серверіңізді өзінің AmneziaWG серверінде жұмыс істейді: трафикті шатастыруы бар WireGuard-үйлесімді хаттама, оны DPI жүйелері үшін қарапайым WireGuard-қа қарағанда қарапайым UDP трафигінен ажырату айтарлықтай қиын. Қызмет awg-quick@awg0 systemd құрылғысы ретінде жұмыс істейді және сіздің тарапыңыздан ешқандай әрекетсіз серверді қайта жүктеуден аман қалады.
~/awg ішіндегі .conf файлдары мен QR кодтары тек Windows клиентімен ғана жұмыс істемейді, сонымен қатар Android, iOS, macOS және Linux жүйелеріне, сондай-ақ Keenetic және OpenWrt маршрутизаторларына арналған AmneziaWG немесе Amnezia қолданбаларына импортталуы мүмкін.
4.4–4.5 қадамдарын қайталау (python3 awgcfg.py -a "name", содан кейін awgcfg.py -c -q) және интерфейсті systemctl restart [email protected] командасымен қайта іске қосу арқылы кез келген уақытта жаңа клиенттерді қосыңыз.
Сервер жұмыс істеп тұрған кезде сақтауға тұрарлық бірнеше әдеттер:
- Жүйені жаңартып отырыңыз. apt update -y && apt upgrade -y командаларын мезгіл-мезгіл қайта іске қосыңыз және ядроны жаңартқаннан кейін қайта жүктеңіз, сонда DKMS amneziawg модулін жаңа ядроға қарсы қайта құрастырады.
- ~/awg сақтық көшірмесін жасаңыз. Ол әрбір клиенттің жеке кілтін және сервердің жеке кілт жұбын awg0.conf файлында сақтайды; оны жоғалту әрбір құрылғы үшін конфигурацияларды қайта жасауды білдіреді.
- Жоғалған құрылғыларды дереу қайтарып алыңыз. /etc/amnezia/amneziawg/awg0.conf файлынан сәйкес [Peer] блогын алып тастап, systemctl restart командасын орындаңыз. [электрондық пошта қорғалған].
Егер байланыс орнатылмаса, ретін тексеріңіз:
- қызмет мәртебесі (systemctl мәртебесі [электрондық пошта қорғалған])
- брандмауэр ережелері (ufw мәртебесі — 42666/udp порты ашық болуы керек)
- интерфейс іске қосылмаса, DKMS/модуль күйі (dkms мәртебесі, lsmod | grep amnezia)
- сервердегі белсенді әріптестер тізімі (awg шоуы)
- клиент конфигурациясы дұрыс сыртқы сервер IP мекенжайын көрсетеді
AmneziaWG-ді басқа опциялармен салыстыру? Linux жүйесінде VPN серверін орнату: PPTP немесе OpenVPN? және серверіңізде Wireguard VPN қалай орнату керектігі туралы бөлімдерді қараңыз . Егер сізге толық VPN туннелінің орнына тек қарапайым прокси қажет болса, CentOS/ArchLinux жүйесіндегі 3proxy конфигурациясы жеңілірек балама болып табылады. VPN іске қосылғаннан кейін серверді жалпы күшейту үшін Linux пайдаланушылары: басқару және рұқсаттар бөлімін қараңыз.