База ведаў Простая інструкцыя па працы з сэрвісам Профітсервер
галоўны База ведаў Кіраўніцтва па разгортванні сервера AmneziaWG

Кіраўніцтва па разгортванні сервера AmneziaWG


Усё больш людзей выкарыстоўваюць уласныя VPN замест таго, каб спадзявацца на гатовыя платныя сэрвісы: гэта танней, лепш для прыватнасці і дае поўны кантроль над серверам. Адным з найбольш эфектыўных варыянтаў для рэгіёнаў з агрэсіўнай блакіроўкай сеткі з'яўляецца AmneziaWG, пратакол, распрацаваны праектам Amnezia на базе WireGuard.

Класічны WireGuard хуткі і надзейны, але мае фіксаваную структуру пакетаў і прадказальнае падпіску, якія сістэмы DPI (глыбокай праверкі пакетаў) могуць надзейна ідэнтыфікаваць і блакаваць. 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, увядзіце IP-адрас вашага VPS у поле «Імя хаста», усталюйце порт на 22 і ўвайдзіце ў сістэму як root, выкарыстоўваючы пароль, які вам даслаў пастаўшчык VPS па электроннай пошце.

IP-адрас сервера: ваш IP-адрас

увайсці як: root

Пароль: ваш пароль

1. Адкрыйце PuTTY, увядзіце IP-адрас вашага VPS у поле «Імя хаста».  

Акно канфігурацыі PuTTY па змаўчанні, да ўводу любых звестак пра падключэнне.

2. Усталюйце порт на 22. 

Сесія запоўнена IP-адрасам VPS і портам 22, захаваная сесія «Мой VPS» выбрана і гатова да націскання кнопкі «Адкрыць».

3. Увайдзіце ў сістэму як root. 

Новае акно тэрмінала PuTTY, якое адкрывае сеанс SSH і запытвае імя карыстальніка для ўваходу.

4. Выкарыстоўваючы пароль, які вам даслаў пастаўшчык VPS па электроннай пошце.

Пасля ўводу root, PuTTY запытае пароль уліковага запісу.

Вынік павінен быць наступным:

Паспяховы ўваход у сістэму: банер паведамлення дня Debian, а затым запыт на доступ да root-аперацыі (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 upgrade спампоўвае новы пакет ядра (linux-image-6.1.0-52-amd64) падчас абнаўлення сістэмы. Завяршэнне абнаўлення Apt: 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

Абодва правілы павінны адлюстроўвацца як ALLOW у вывадзе статусу 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

Выкарыстоўвайце файл ключоў Dearmored замест састарэлай каманды 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, затым стварыце асобны працоўны каталог і запампуйце ў яго скрыпт 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, скапіруйце хэш каміта для версіі, якую вы пратэставалі, і выкарыстоўвайце 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 запіс _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, а таксама адпаведныя QR-коды ў фармаце PNG, якія можна адсканаваць непасрэдна ў мабільную праграму.

Гэты скрыпт супольнасці мае вядомую асаблівасць: яго запуск можа выдаліць іншыя файлы .init/state, якія вы маглі змясціць у тую ж тэчку. Трымайце ~/awg толькі для файлаў AmneziaWG і стварыце рэзервовую копію ключоў сервера ([Interface] PrivateKey у awg0.conf) у іншым месцы перад перагенерацыяй канфігурацый.
Змест згенераванага файла laptop.conf: адрас кліента, DNS, параметры абфускацыі і раздзел [Peer], які паказвае на сервер.

Папка ~/awg цяпер будзе ўтрымліваць такія файлы, як laptop.conf і phone.conf, а таксама адпаведныя QR-коды ў фармаце PNG, якія можна адсканаваць непасрэдна ў мабільную праграму.

Гэты скрыпт супольнасці мае вядомую асаблівасць: яго запуск можа выдаліць іншыя файлы .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 — яна не працуе ўнутры вашай кораневай 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

Абодва варыянты ніжэй працуюць на вашым настольным кампутары/ноўтбуку Linux, г.зн. асобны SSH-сеанс (або лакальная абалонка) на гэтым кампутары, а не каранёвы SSH-сеанс на VPS з раздзела 1. Каманды выглядаюць ідэнтычна серверным, таму што на абодвух канцах выкарыстоўваецца адзін і той жа пакет amneziawg-tools, але іх запуск тут усталёўвае і запускае кліенцкі тунэль на вашым уласным кампутары, а не на серверы.

На настольным кампутары або ноўтбуку з Linux у вас ёсць два варыянты:

  • Графічны інтэрфейс карыстальніка: усталюйце поўны кліент 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 на серверы і пераканайцеся, што вузел кліента паказвае нядаўняе падключэнне і ненулявы трафік.

Спасылка:

Поле

значэнне

Адрас

YOUR_TUNNEL_IP (адрас кліента ўнутры тунэля, напрыклад, 10.10.8.2/32 — прысвойваецца аўтаматычна пры даданні кліента на этапе 4.4)

канчатковая кропка

YOUR_SERVER_IP:42666 (Знешні IP-адрас сервера і порт UDP, да якога падключаецца кліент.)

DNS

8.8.8.8

Jc / Jмін / Jмакс

колькасць і памер «смеццевых» пакетаў, адпраўленых перад падтрыманнем сувязі — могуць адрознівацца паміж серверам і кліентам без разрыву злучэння

S1 / S2

памер палёў дапаўнення для квитирования — павінен супадаць байт у байт паміж серверам і кожным кліентам

H1–H4

загалоўкі тыпу пакетаў, якія маскіруюць пратакол пад звычайны трафік, — таксама павінны цалкам супадаць і быць унікальнымі адзін ад аднаго

Толькі S1/S2 і H1–H4 павінны быць аднолькавымі на абодвух канцах тунэля; Jc, Jmin і Jmax тычацца выключна таго, як кожны бок запаўняе свой уласны выходны непажаданы трафік, таму значэнні кліента і сервера могуць цалкам адрознівацца, як у прыкладзе вышэй.

Conclusion

Пасля выканання гэтага кіраўніцтва ваш 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 [электронная пошта абаронена])
  • правілы брандмаўэра (стан 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

Мы заўсёды гатовы адказаць на вашы пытанні ў любы час дня і ночы.