Знања Једноставна упутства за рад са услугом Профитсервер
главни Знања Водич за имплементацију AmneziaWG сервера

Водич за имплементацију AmneziaWG сервера


Све више људи користи сопствени 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 инсталације). Не покрећите обе инсталације — изаберите једну.

Awgcfg.py је незванични скрипт заједнице треће стране (од стране корисника GitHub-а „remittor“), а не званични алат пројекта Amnezia. Горенаведена URL адреса указује на сирови садржај gist-а без хеша ревизије, тако да увек повлачи оно што је аутор последњи пут објавио — тихо ажурирање (или брисање gist-а) може да поквари вашу поставку без упозорења. Где је то могуће, закачите га на одређену ревизију: отворите историју ревизија gist-а, копирајте хеш commit-а за верзију коју сте тестирали и користите УРЛ адреса облика овог водича. 

Генеришите конфигурацију сервера

Направите датотеку /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 кодове које можете директно скенирати у мобилну апликацију.

Ова скрипта заједнице има познату ману: њено покретање може избрисати друге .init/state датотеке које сте можда ставили у исту фасциклу. Држите ~/awg намењеним само за AmneziaWG датотеке и направите резервну копију серверских кључева ([Interface] PrivateKey у awg0.conf) негде другде пре него што поново генеришете конфигурације.
КСНУМКС_КСНУМКС

Фолдер ~/awg ће сада садржати датотеке попут laptop.conf и phone.conf, плус одговарајуће PNG QR кодове које можете директно скенирати у мобилну апликацију.

Ова скрипта заједнице има познату ману: њено покретање може избрисати друге .init/state датотеке које сте можда ставили у исту фасциклу. Држите ~/awg намењеним само за AmneziaWG датотеке и направите резервну копију серверских кључева ([Interface] PrivateKey у awg0.conf) негде другде пре него што поново генеришете конфигурације.

Покретање сервиса и омогућавање аутоматског покретања

Покрените 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-а

Све овде се дешава на вашем Mac рачунару, не преко SSH-а. scp линија испод се куца у Mac терминалу, преузимајући конфигурацију коју је сервер већ генерисао у одељку 4 — не покреће се унутар ваше root SSH сесије на VPS-у.

Постоје две подржане опције:

  • 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 .

Повезивање из Линукса

Обе опције испод се покрећу на вашем Linux десктоп/лаптоп рачунару, тј. на посебној SSH сесији (или локалној шкољци) на тој машини — не на root SSH сесији на VPS-у из одељка 1. Команде изгледају идентично онима на страни сервера јер се исти пакет amneziawg-tools користи на оба краја, али њихово покретање овде инсталира и покреће клијентски тунел на вашој машини, а не на серверу.

На десктоп или лаптоп рачунару са Линуксом имате две опције:

  • Графички кориснички интерфејс: инсталирајте комплетан 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 корисници: Управљање и дозволе.

❮ Претходни чланак Подешавање Hysteria2 и TUIC-а
Следећи чланак ❯ Водич за Xray VLESS Reality: VPS, Windows, Mac, Android, iPhone

Питајте нас за ВПС

Увек смо спремни да одговоримо на ваша питања у било које доба дана и ноћи.