База Едноставни упатства за работа со услугата Profitserver
главните База Водич за распоредување на 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 ракување.

Сè уште немате сервер? Видете Како да нарачате сервер

Поврзување со серверот

Windows (PuTTY)

Отворете го PuTTY, внесете ја вашата VPS IP адреса во полето Host Name, поставете го портот на 22 и најавете се како root користејќи ја лозинката што ви ја испратил вашиот VPS провајдер.

IP адреса на серверот: вашата IP адреса

најавете се како: root

Лозинка: вашата лозинка

1. Отворете го PuTTY, внесете ја вашата VPS IP адреса во полето Host Name.  

Стандарден прозорец за конфигурација на PuTTY, пред да се внесат какви било детали за поврзувањето.

2. Поставете го портот на 22. 

Сесијата беше пополнета со VPS IP адресата и портата 22, со избрана зачувана сесија „Мој VPS“ и подготвена за кликнување на Отвори.

3. Внесете се како root. 

Нов прозорец на терминалот PuTTY што ја отвора SSH сесијата и бара корисничко име за најавување.

4. Користење на лозинката што ви ја испратил вашиот VPS провајдер преку е-пошта.

Откако ќе внесете root, PuTTY бара лозинка за сметката.

Резултатот треба да биде како што следува:

Успешно најавување: банерот за пораката на денот на Debian, проследен со командата во root shell (root@copywr:~#).

За детален водич за поврзување преку 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

Ако ова го надгради јадрото, рестартирајте пред да го изградите модулот на јадрото AmneziaWG во Дел 3, во спротивно DKMS може да се изгради наспроти погрешни заглавија на јадрото и модулот нема да може да се вчита. (За освежување на apt и како функционираат менаџерите за пакети на Linux, видете Менаџери за пакети на Linux .) Проверете со:

cat /var/run/reboot-required
Apt надградба со преземање на нов пакет на јадрото (linux-image-6.1.0-52-amd64) за време на ажурирањето на системот. Завршува соодветното надградување: initramfs е регенериран и засегнатите услуги се рестартираат.

Овозможи проследување на IP

Оваа поставка му овозможува на серверот да ги препраќа пакетите на клиентите на интернет - без неа, тунелот ќе се појави, но нема да поминува сообраќај низ него.

echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system

Првата команда креира посебна конфигурациска датотека; втората ја применува без рестартирање на серверот.

sysctl --system ги применува сите конфигурациски датотеки sysctl.d, потврдувајќи дека net.ipv4.ip_forward = 1 сега е активен.

Конфигурирајте го заштитниот ѕид (UFW)

За повеќе информации за правилата на UFW, видете Конфигурирање на заштитен ѕид на Linux

Отворете ги двата порта што ќе ви бидат потребни: 22/tcp за SSH (прескокнете го ова правило и ризикувате да го изгубите пристапот до серверот) и 42666/udp, портата на која AmneziaWG ќе слуша.

apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status

И двете правила треба да се прикажат како ДОЗВОЛЕНО во излезот за статусот на ufw.

Статусот на Ufw потврдува дека 22/tcp и 42666/udp се дозволени и за IPv4 и за IPv6, со активен заштитен ѕид.

Инсталирање на AmneziaWG

Debian не ги поддржува директно 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
Apt install -y amneziawg излез: DKMS го гради модулот на јадрото amneziawg наспроти јадрото што работи и ја завршува инсталацијата.

Проверете дали модулот е вчитан

modprobe amneziawg
lsmod | grep amnezia
Modprobe amneziawg проследено со lsmod, потврдувајќи дека модулот amneziawg и неговите зависности (curve25519, chacha20poly1305, итн.) се вчитани.

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

Инсталирајте помошни алатки

Инсталирајте ја зависноста од qrcode, потоа креирајте наменски работен директориум и преземете ја скриптата за конфигурација на заедницата во неа:

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-от, копирајте го хашот за извршување за верзијата што сте ја тестирале и користете URL од формата на ова упатство. 

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

Креирајте /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).

Awgcfg.py --make креирање на /etc/amnezia/amneziawg/awg0.conf и откривање на главниот мрежен интерфејс на серверот (ens3).

Креирај шаблон за конфигурација на клиентот

python3 awgcfg.py --create

Ова зачувува шаблон во истата папка од која се изградени индивидуалните конфигурации на клиентот - веќе го вклучува јавниот клуч на серверот, неговата IP адреса и параметрите за замаглување (Jc, Jmin, Jmax, S1, S2, H1–H4) што го разликуваат AmneziaWG од обичниот WireGuard.

Awgcfg.py --create writing _defclient.config, шаблонот од кој ќе се генерираат новите конфигурации на клиентот.

Додај клиенти

Креирајте еден запис по уред — името може да биде било што, на пр. името на уредот:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Awgcfg.py - регистрирање на клиентите за „лаптоп“ и „телефон“, на секој од нив му е доделена сопствена IP адреса на тунелот (10.10.8.2/32 и 10.10.8.3/32).

Генерирајте клиентски датотеки и QR кодови

python3 awgcfg.py -c -q

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

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

Папката ~/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 за да излезете.

Статус на Systemctl што потврдува дека awg-quick@awg0.service е активен (излезен) и овозможен, со командите за поставување ip/iptables на интерфејсот во дневникот.

Проверете ја листата на активни врсници и сообраќај по врсник со:

awg show
Awg ги прикажува параметрите за забустација на интерфејсот awg0 и неговите два конфигурирани врсници (лаптоп и телефон), секој со својата дозволена IP адреса.

Поврзување од 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 на вашиот компјутер, а не на серверот:

Празен Windows PowerShell прозорец на клиентскиот компјутер, подготвен за извршување на командата scp подолу.
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, инсталирајте го, потоа користете ја опцијата „Import tunnel(s) from file“ (Увези тунел(и) од датотека) и изберете ја вашата .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

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

На десктоп или лаптоп со Linux имате две опции:

  • GUI: инсталирајте го целиот десктоп клиент 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

YOUR_TUNNEL_IP (адресата на клиентот во тунелот, на пр. 10.10.8.2/32 — автоматски доделена кога клиентот е додаден во чекор 4.4)

Крајна точка

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 системите да го разликуваат од обичниот 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. [заштитена по е-пошта].

Ако врската не се воспостави, проверете по редослед:

  • статусот на услугата (systemctl статус [заштитена по е-пошта])
  • правилата на заштитен ѕид (статус на 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: VPS, Windows, Mac, Android, iPhone

Прашајте не за VPS

Секогаш сме подготвени да одговориме на вашите прашања во секое време од денот или ноќта.