Све више људи користи сопствени VPN уместо да се ослањају на плаћене, готове услуге: јефтиније је, боље за приватност и даје вам потпуну контролу над сервером. Једна од најефикаснијих опција за регионе са агресивним блокирањем мреже је AmneziaWG, протокол који је развио пројекат Amnezia на бази WireGuard-а.
Класични WireGuard је брз и поуздан, али има фиксну структуру пакета и предвидљиво руковање, које DPI (Deep Packet Inspection) системи могу поуздано да идентификују и блокирају. AmneziaWG решава ово: додаје нежељене пакете обичној WireGuard вези, рандомизује заглавља и мења величину поља за руковање — тако да карактеристични потпис WireGuard-а нестаје и саобраћај се више не истиче од обичног UDP саобраћаја.
Већ користите класични тунел и питате се да ли се исплати прећи на њега? Упоредите ово са обичним OpenVPN/PPTP подешавањем у чланку Подешавање VPN сервера на Linux-у: PPTP или OpenVPN?, или са обичним WireGuard-ом (без обфускације) у чланку Како подесити Wireguard VPN на вашем серверу.
Овај водич ручно подешава AmneziaWG сервер, без Docker-а или веб панела — што је најмањи могући простор на самом VPS-у, конфигурисан у потпуности из командне линије. То је најлакша опција и добро функционише на буџетском VPS-у, јер му није потребан графички кориснички интерфејс, база података нити обрнути прокси. Пример сервера испод користи резервисану IP адресу — замените је адресом вашег VPS-а где год се појави.
Шта вам је потребно: VPS са Ubuntu 22.04/24.04 или Debian 11/12, root приступ и IP адреса вашег VPS-а. Име домена није потребно — AmneziaWG не користи сертификате, тако да нема ништа за обнављање и нема шта да DPI означи као TLS руковање.
Још увек немате сервер? Погледајте Како наручити сервер
Повезивање са сервером
Виндоус (PuTTY)
Отворите PuTTY, унесите своју VPS IP адресу у поље Host Name, подесите порт на 22 и пријавите се као root користећи лозинку коју вам је ваш VPS провајдер послао имејлом.
ИП адреса сервера: ваша ИП адреса
пријавите се као: root
Лозинка: ваша лозинка
1. Отворите PuTTY, унесите ИП адресу вашег VPS-а у поље Име хоста.
2. Подесите порт на 22.
3. Пријавите се као root.
4. Користећи лозинку коју вам је ваш VPS провајдер послао имејлом.
Резултат би требало да буде следећи:
За детаљан водич повезивања путем PuTTY/SSH, погледајте Како се повезати са Linux сервером путем SSH-а
Линукс / macOS (терминал)
ssh root@YOUR_SERVER_IP
Све команде у наставку се извршавају на серверу, у истој SSH сесији — која покрива одељке од 2 до 5, плус провере на страни сервера у одељку 9. Одељци 6–8 (инсталирање и конфигурисање VPN клијента) се уместо тога извршавају на вашем Windows/macOS/Linux уређају, пошто је то уређај на којем VPN треба да ради; сваки од тих одељака експлицитно наводи које линије, ако их има, и даље додирују сервер.
Припрема сервера
Ажурирајте систем
Пре него што инсталирате било шта, освежите листу пакета и надоградите инсталиране пакете:
apt update -y && apt upgrade -y
Ако ово надограђује језгро, поново покрените систем пре него што изградите модул језгра AmneziaWG у Одељку 3, у супротном DKMS може да изгради са погрешним заглављима језгра и модул се неће учитати. (За подсетник о apt-у и како раде Linux менаџери пакета, погледајте Linux менаџери пакета .) Проверите са:
cat /var/run/reboot-required
Омогућите ИП прослеђивање
Ово подешавање омогућава серверу да прослеђује пакете клијената на интернет — без њега, тунел ће се појавити, али саобраћај неће проћи кроз њега.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
Прва команда креира посебну конфигурациону датотеку; друга је примењује без поновног покретања сервера.
Конфигуришите заштитни зид (UFW)
За више информација о UFW правилима, погледајте Конфигурисање заштитног зида на Линуксу
Отворите два порта која су вам потребна: 22/tcp за SSH (прескочите ово правило и ризикујете да изгубите приступ серверу) и 42666/udp, порт на којем ће AmneziaWG слушати.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
Оба правила би требало да се прикажу као ДОЗВОЉЕНО у излазу статуса ufw.
Инсталирање AmneziaWG-а
Дебијан не подржава директно PPA-ове у Ubuntu стилу, тако да се репозиторијум мора додати ручно, а не помоћу 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 и преузмите прави кључ за потписивање 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
Ово чува шаблон у истој фасцикли из које се граде појединачне конфигурације клијената — он већ укључује јавни кључ сервера, његову ИП адресу и параметре обфускације (Jc, Jmin, Jmax, S1, S2, H1–H4) који разликују AmneziaWG од обичног WireGuard-а.
Додајте клијенте
Направите један унос по уређају — име може бити било шта, нпр. име уређаја:
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-а
Све у овом одељку се дешава на вашем Windows рачунару, не преко SSH-а — VPN клијент мора бити инсталиран на уређају који ће заправо користити тунел. Једини корак који се тиче сервера је преузимање scp-а у верзији 6.2, па чак се и та команда откуцава на вашем рачунару, повлачећи датотеку коју је сервер већ генерисао у одељку 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 и новијим верзијама. Потражите „AmneziaWG“ у App Store-у, инсталирајте га, затим користите „Увези тунеле из датотеке“ и изаберите своју .conf датотеку — исти ток рада као и Windows клијент.
- AmneziaVPN (пуна апликација, macOS 14+): преузмите .pkg датотеку са github.com/amnezia-vpn/amnezia-client/releases/latest ако бисте радије користили потпуно функционалну апликацију Amnezia уместо лаганог клијента који нуди само AmneziaWG.
Прво копирајте конфигурацију клијента ако је потребно, исто као у кораку 6.2:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Повезивање из Линукса
На десктоп или лаптоп рачунару са Линуксом имате две опције:
- Графички кориснички интерфејс: инсталирајте комплетан AmneziaVPN десктоп клијент са github.com/amnezia-vpn/amnezia-client/releases, а затим увезите .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 адреса“ у прегледачу — приказана адреса треба да се подудара са IP адресом вашег VPS-а. Да бисте уместо тога проверили из SSH сесије, покрените awg show на серверу и потврдите да клијентов пеер показује недавно руковање и саобраћај различит од нуле.
Референца:
|
Поље |
Vrednost |
|
Adresa |
ВАША_ИП_АДРЕСА_ТУНЕЛА (адреса клијента унутар тунела, нпр. 10.10.8.2/32 — додељује се аутоматски када је клијент додат у кораку 4.4) |
|
Крајња тачка |
YOUR_SERVER_IP:42666 (Спољна IP адреса сервера и UDP порт на који се клијент повезује.) |
|
ДНС |
8.8.8.8 |
|
Jc / Jmin / Jmax |
број и величина „нежељених“ пакета послатих пре руковања — могу се разликовати између сервера и клијента без прекида везе |
|
С1 / С2 |
величина поља за попуњавање рукостискања — мора се подударати бајт по бајт између сервера и сваког клијента |
|
Х1–Х4 |
заглавља типа пакета која маскирају протокол као обичан саобраћај — такође морају потпуно да се подударају и морају бити јединствена једни од других |
Само S1/S2 и H1–H4 морају бити идентични на оба краја тунела; Jc, Jmin и Jmax се искључиво односе на то како свака страна допуњује свој одлазни нежељени саобраћај, тако да се вредности клијента и сервера могу легитимно разликовати, као што је то случај у горњем примеру.
Закључак
Праћење овог водича оставља ваш VPS да ради на сопственом AmneziaWG серверу: протокол компатибилан са WireGuard-ом са обфускацијом саобраћаја који је DPI системима приметно теже разликовати од обичног UDP саобраћаја него код обичног WireGuard-а. Сервис ради као системска јединица awg-quick@awg0 и преживљава поновно покретање сервера без икакве ваше акције.
Добијене .conf датотеке и QR кодови у ~/awg раде не само са Windows клијентом, већ се могу увести и у апликације AmneziaWG или Amnezia за Android, iOS, macOS и Linux, као и у Keenetic и OpenWrt рутере.
Додајте нове клијенте у било ком тренутку понављањем корака 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; њен губитак значи поновно генерисање конфигурација за сваки уређај.
- Одмах опозовите изгубљене уређаје. Уклоните одговарајући блок [Peer] из /etc/amnezia/amneziawg/awg0.conf и покрените systemctl restart. [емаил заштићен].
Ако се веза не успостави, проверите редом:
- статус сервиса (systemctl status [емаил заштићен])
- правила заштитног зида (статус ufw — порт 42666/udp мора бити отворен)
- статус DKMS/модула ако се интерфејс неће ни покренути (dkms статус, lsmod | grep amnezia)
- листа активних вршњака на серверу (awg show)
- да конфигурација клијента указује на исправну IP адресу екстерног сервера
Упоређујете AmneziaWG са другим опцијама пре него што се обавежете? Погледајте подешавање VPN сервера на Linux-у: PPTP или OpenVPN? и Како подесити Wireguard VPN на вашем серверу . Ако вам је потребан само једноставан прокси, а не потпуни VPN тунел, конфигурација 3proxy на CentOS/ArchLinux-у је лакша алтернатива. За опште јачање сервера када је VPN активан, погледајте Linux корисници: Управљање и дозволе.