AmneziaWG

ПІДВИЩТЕ НАЛАШТУВАННЯ СЕРВЕРА! ЗАСТОСУВАТИ AVA І ЗАПУСК З 15% ЗНИЖКА
ВИКОРИСТАЙТЕ ПРОМО:

Keywords

KeywordDefinition
🛡️ AmneziaWGA fork of WireGuard that randomizes packet headers, sizes, and timing to resist Deep Packet Inspection while keeping the same audited cryptography. It is the protocol that runs on your server.
🚀 AmneziaWG 2.0The current major version that uses dynamic header ranges (instead of fixed values), adds data-level padding (S4), and supports Custom Protocol Signature decoy packets for stronger DPI evasion.
🔍 Deep Packet Inspection (DPI)A network filtering technique used by ISPs and governments to identify and block VPN traffic by analyzing packet headers, sizes, and handshake patterns. AmneziaWG is specifically designed to defeat it.
WireGuardA fast, modern VPN protocol with a small codebase and kernel-level performance. It is easily fingerprinted by DPI systems due to its fixed packet structure, which is what AmneziaWG was built to fix.
🏠 Self-hosted VPNA VPN you deploy and manage on your own server (typically a VPS) rather than subscribing to a commercial provider. You control the keys, config, and infrastructure.
🐧 DKMS (Dynamic Kernel Module Support)A Linux framework that automatically recompiles kernel modules when the system kernel is updated. The AmneziaWG installer uses DKMS to build the high-performance kernel module.
🎭 ObfuscationThe practice of disguising VPN traffic to look like ordinary internet traffic. AmneziaWG obfuscates at the transport layer by randomizing headers, adding padding, sending decoy packets, and firing junk packets.
🔀 Split tunnelingA routing configuration where only specific traffic (e.g., blocked sites) goes through the VPN while the rest uses your direct connection. Useful in countries with partial censorship.
🖥️ KVM vs LXCKVM is full virtualization with a dedicated kernel, required for loading custom kernel modules like AmneziaWG. LXC is container-based virtualization that shares the host kernel and cannot load custom modules.
🎪 CPS (Custom Protocol Signature)An AmneziaWG 2.0 feature that sends decoy packets mimicking other protocols (QUIC, DNS, SIP) before the real handshake, fooling DPI systems into classifying the traffic as normal.

Self-Host an AmneziaWG VPN Server — Complete Guide

AmneziaWG

AmneziaWG is a protocol designed to solve a specific problem: how do you get WireGuard’s speed when the networks you’re connecting through actively try to block it? It’s a fork of WireGuard built by the Amnezia VPN team, and it does one thing that the original doesn’t — it randomizes the transport layer so Deep Packet Inspection systems can’t fingerprint it. The encryption underneath stays exactly the same. What changes is how the packets look on the wire.

The broader landscape of VPN obfuscation has been an arms race for years. Tools like Shadowsocks, VLESS+Reality, and OpenVPN with obfs4 all attempt to disguise traffic in different ways — some as proxies, some as full tunnels, some with heavy performance costs. AmneziaWG sits in a specific niche: it’s a full VPN tunnel with WireGuard-level performance and built-in DPI resistance, all in one package. And since it’s open-source, you can self-host it on your own server.

But here’s the problem that makes this necessary. You set up WireGuard. It works perfectly — fast, clean, reliable. Then one day it stops. No error message, no timeout, no connection refused. The packets just vanish. That’s what DPI blocking looks like in practice: your tunnel is still running, your config is still correct, and nothing gets through. This is the reality in Russia (where WireGuard has roughly a 12% success rate), Iran (98% packet loss), and a growing list of countries including China, Egypt, UAE, Turkey, Belarus, Uzbekistan, Kazakhstan, Myanmar, and Pakistan.

VPN obfuscation

Traditional alternatives don’t fully solve this. Shadowsocks is a proxy, not a full VPN tunnel — your DNS and non-TCP traffic still leak. OpenVPN with obfs4 works but carries roughly 25% performance overhead. VLESS+Reality offers strong obfuscation but is proxy-based and complex to configure. AmneziaWG fills the gap: a complete VPN tunnel with WireGuard’s speed and DPI resistance baked in.

This guide walks you through deploying a fully functional AmneziaWG 2.0 server on any KVM VPS in under 15 minutes using a single community installer script. By the end, you’ll have a working VPN tunnel you can connect to from any device. The steps are provider-agnostic — they work on any VPS with root SSH access, whether that’s from AlexHost, AvaHost, or elsewhere. This is written for intermediate tech users who are comfortable with SSH and basic Linux commands.

One clarification before we start: AmneziaWG is the protocol. AmneziaVPN is the client app that connects to it. They’re related but distinct — like TLS is to your browser. You’ll need the app to connect, but the protocol is what runs on your server.

But before we deploy anything, you need to understand what makes AmneziaWG different from WireGuard — and why that difference matters when DPI is watching.


What Is AmneziaWG? (The Mental Model)

WireGuard is elegant by design. It has a small codebase, uses modern cryptography, and runs in the Linux kernel for near-native performance. But that elegance comes with a visibility problem: every WireGuard packet carries the same fixed header structure, the same fixed packet sizes, and the same handshake pattern. To a Deep Packet Inspection system, a WireGuard tunnel has a signature as clear as a barcode. Once a DPI box learns that signature, it can drop every packet without blocking the port or closing the connection.

DPI
AmneziaWG is a fork of WireGuard-Go created by the Amnezia VPN team. It inherits WireGuard’s architectural simplicity — same Curve25519 key exchange, same ChaCha20-Poly1305 encryption, same Noise IK handshake. All of the cryptography is unchanged and equally audited. What AmneziaWG modifies is the transport layer: the packet headers, the packet sizes, and the timing patterns.

Think of it this way. WireGuard is like a courier who always wears the same uniform — fast, reliable, and efficient. But anyone watching the road learns to recognize that uniform and can stop the courier at any checkpoint. AmneziaWG is the same courier carrying the same packages, but they change uniforms at every checkpoint. Same person, same cargo, completely different appearance.

The version history matters here. AmneziaWG 1.x introduced custom headers that differed from WireGuard’s fixed values — it helped for a while, but DPI systems adapted. AmneziaWG 2.0, released in late 2025, randomizes everything: headers change per packet, padding varies per message, and decoy packets mimic other protocols before the real handshake begins. There is no universal signature to detect because every AmneziaWG 2.0 server generates its own unique parameter set. Each server speaks its own dialect.

When all obfuscation parameters are set to zero, AmneziaWG behaves identically to WireGuard — it’s fully backward compatible at the protocol level. But with parameters active (which is the default), it becomes something WireGuard cannot be: a fast VPN tunnel that DPI systems struggle to identify.

So how exactly does AmneziaWG scramble its traffic? Let’s look at the four obfuscation layers that make DPI blind — and why they add almost no speed cost.


How AmneziaWG Hides From DPI (Without Losing Speed)

AmneziaWG 2.0 uses four layered obfuscation techniques that work together. Each one targets a different way DPI systems identify VPN traffic. Together, they make every server’s traffic look unique.

Dynamic Headers (H1–H4)

WireGuard uses fixed 32-bit message type identifiers:

  • 1 — for initiation
  • 2 — for response
  • 3 — for cookie reply
  • 4 — for data

A DPI box scanning traffic just looks for these values. AmneziaWG 2.0 replaces each fixed value with a random number drawn from a configured range. The initiation header (H1) might be any value between 234567 and 345678. The response header (H2) might be between 3456789 and 4567890. These ranges never overlap — the protocol still needs to distinguish packet types internally — but to an outside observer, there’s no single header value to latch onto. Every packet looks different from the last.

Random Padding (S1–S4)

WireGuard’s initiation packet is always exactly 148 bytes. Its response is always exactly 92 bytes. These fixed sizes are another fingerprint. AmneziaWG adds random padding to each packet type: the initiation becomes 148+S1 bytes, the response becomes 92+S2 bytes, the cookie reply becomes 64+S3 bytes, and every data packet gets S4 bytes of padding. S3 and S4 are new in version 2.0 — and S4 is the most significant addition because it touches every single data packet, making session-wide traffic analysis much harder.

There’s one critical constraint: S1+56 must not equal S2. Since the original size difference between initiation and response is 56 bytes (148−92), if the padding values happened to compensate for exactly that difference, the two padded packets would end up the same size — recreating the fingerprint AmneziaWG is trying to eliminate. The installer’s parameter generator enforces this constraint automatically.

Custom Protocol Signature (I1–I5)

Before the real WireGuard handshake begins, the AmneziaWG client sends up to five decoy packets that mimic other protocols — QUIC, DNS, SIP, or custom byte patterns. The server ignores these packets entirely. It just waits for the real handshake.

  • A simple configuration: Sends 128 random bytes <r 128>.
  • A sophisticated configuration: Sends bytes that look like a QUIC connection initiation (<b 0xc000000001><r 64><t>), complete with a Unix timestamp.

To a DPI system watching the session start, the first packets look like normal web traffic.

Junk Packets (Jc, Jmin, Jmax)

After the decoy packets, the client fires a configurable number of junk packets — pure noise with random sizes between Jmin and Jmax. These blur the timing and size profile of the session start, making it harder for DPI systems to identify where the real handshake begins.

The Speed Question

There’s a number that’s been circulating online: AmneziaWG has 65% overhead. That figure is real, but it refers to the userspace Go implementation — not the kernel module. The community installer used in this guide builds a DKMS kernel module, and the kernel module adds less than 12% overhead total — closer to 3% in real-world benchmarks. On an uncensored network, you’d see roughly 95 Mbps through WireGuard and 92 Mbps through AmneziaWG 2.0. In a censored network, the comparison is 92 Mbps versus zero.

The following table summarizes the parameters the installer generates automatically:

ParameterGenerated RangeExample Value
Jc

(junk packet count)

4–8
6
Jmin

(min junk size)

40–89
55
Jmax

(max junk size)

Jmin+100 to Jmin+500
380
S1

(init padding)

15–150
72
S2

(response padding)

15–150, S1+56≠S2
56
S3

(cookie padding)

8–55
32
S4

(data padding)

4–27
16
H1

(init header range)

uint32 non-overlapping
234567-345678
H2

(response header range)

uint32 non-overlapping
3456789-4567890
H3

(cookie header range)

uint32 non-overlapping
56789012-67890123
H4

(data header range)

uint32 non-overlapping
456789012-567890123
I1

(CPS packet)

<r N>

format

<r 128>

You don’t need to set any of these manually. The installer generates cryptographically random, constraint-valid values every time.

Now that you know how the obfuscation works, let’s see how AmneziaWG stacks up against the alternatives you might be considering.


AmneziaWG vs Alternatives — Quick Decision Guide

VPNs
If you’re evaluating VPN protocols for a censored environment, you’ve probably come across several options. Here’s how they compare across the dimensions that matter:

WireGuardAmneziaWG 2.0OpenVPN+obfs4ShadowsocksVLESS+Reality
DPI resistanceLowHighMediumMediumVery High
Speed overhead~4%<12% (~3% real-world)~25%~8%~10%
Full VPN tunnelYesYesYesNo (proxy)No (proxy)
Runs in kernelYesYes (DKMS)NoNoNo
Setup complexityLowLow (with installer)HighMediumHigh
TransportUDPUDPTCP/UDPTCPTCP

The decision rules are straightforward:

  • No DPI in your country? Use plain WireGuard. It’s simpler and has a larger ecosystem.
  • Need maximum DPI resistance and OK with a proxy? VLESS+Reality is the strongest option for obfuscation, but it’s not a full tunnel.
  • Want both speed and a full tunnel with obfuscation? AmneziaWG 2.0 is the only option that delivers WireGuard-grade performance with real DPI resistance in a complete VPN tunnel.
  • Already using OpenVPN+obfs4 and it still works? No urgent need to switch, but AmneziaWG will be noticeably faster.

This article focuses on AmneziaWG because it’s the only protocol that gives you a full tunnel, kernel-level performance, and built-in obfuscation — all configured by a single script.

If AmneziaWG is the right choice for your situation, here’s exactly what you need before we start deploying.


What You’ll Need Before Starting

Before running the installer, make sure your environment meets these requirements:

RequirementDetailWhy
OSUbuntu 24.04 LTS (clean install). Ubuntu 25.10 is experimental. Debian 12/13 work but may need

curl pre-installed.
The installer is tested and fully supported on Ubuntu 24.04.
VPS specs1 vCore, 1 GB RAM, 25 GB storage. Any $3–5/month plan works.The installer needs ~2 GB disk and ~1 GB RAM during the DKMS build. The running VPN uses negligible resources.
VirtualizationKVM (not OpenVZ, not LXC).AmneziaWG loads a kernel module via DKMS. LXC shares the host kernel and cannot load custom modules.
SSH accessRoot or sudo user with password/key authentication.The installer must run as root.
SSH portDefault 22, or pre-opened in UFW if using a non-standard port.If SSH isn’t on port 22 and you don’t pre-open it, the installer’s firewall setup will lock you out.
Client appAmnezia VPN >= 4.8.12.7 (all platforms).AWG 2.0 parameters are not understood by older clients. The standard WireGuard client does not support AWG at all.

⚠️ Warning: LXC containers are not supported. If your VPS uses LXC virtualization, the DKMS kernel module build will fail. You must use KVM or bare-metal. Check with your provider if you’re unsure.

⚠️ Warning: If your SSH runs on a non-standard port (anything other than 22), you must open it in UFW before running the installer:

sudo ufw allow YOUR_PORT/tcp

Replace

YOUR_PORT

with your actual SSH port. The installer enables UFW with a default-deny policy — if your SSH port isn’t allowed, you’ll be locked out immediately.

💡 Tip: Wait 5–10 minutes after creating your VPS before running the installer. Cloud-init and background initialization processes can conflict with the

apt-get

calls the installer makes.

With your VPS ready and prerequisites confirmed, let’s deploy AmneziaWG 2.0 using the community installer script — the fastest and most transparent method.


Ключові терміни

ТермінВизначення
🛡️ AmneziaWGФорк WireGuard, який рандомізує заголовки пакетів, їхні розміри та час передачі для протидії глибокому аналізу пакетів, зберігаючи при цьому ту саму перевірену криптографію. Це протокол, який працює на вашому сервері.
🚀 AmneziaWG 2.0Поточна основна версія, яка використовує динамічні діапазони заголовків (замість фіксованих значень), додає заповнення на рівні даних (S4) та підтримує заміщувальні пакети з користувацькою сигнатурою протоколу для більш потужного уникнення DPI.
🔍 Deep Packet Inspection (DPI)Техніка фільтрування мережі, яку використовують ISP та державні органи для ідентифікації та блокування VPN-трафіку шляхом аналізу заголовків пакетів, їхніх розмірів та шаблонів рукостискання. AmneziaWG спеціально розроблений для протидії цьому.
WireGuardШвидкий, сучасний VPN-протокол з невеликою кодовою базою та продуктивністю на рівні ядра. Він легко ідентифікується системами DPI через свою фіксовану структуру пакетів, яка була вирішена в AmneziaWG.
🏠 Self-hosted VPNVPN, який ви розгортаєте та керуєте на власному сервері (зазвичай VPS) замість підписки на комерційного провайдера. Ви контролюєте ключі, конфігурацію та інфраструктуру.
🐧 DKMS (Dynamic Kernel Module Support)Фреймворк Linux, який автоматично перекомпілює модулі ядра при оновленні системного ядра. Інсталятор AmneziaWG використовує DKMS для побудови високопродуктивного модуля ядра.
🎭 ObfuscationПрактика маскування VPN-трафіку, щоб він виглядав як звичайний інтернет-трафік. AmneziaWG маскує на транспортному рівні шляхом рандомізації заголовків, додавання заповнення, відправлення заміщувальних пакетів та генерування пакетів-сміття.
🔀 Split tunnelingКонфігурація маршрутизації, де лише певний трафік (наприклад, заблоковані сайти) проходить через VPN, а інший трафік використовує ваше прямне з’єднання. Корисно в країнах з частковою цензурою.
🖥️ KVM vs LXCKVM — це повна віртуалізація з виділеним ядром, необхідним для завантаження користувацьких модулів ядра, таких як AmneziaWG. LXC — це контейнеризація, яка використовує спільне ядро хоста і не може завантажувати користувацькі модулі.
🎪 CPS (Custom Protocol Signature)Функція AmneziaWG 2.0, яка відправляє заміщувальні пакети, що імітують інші протоколи (QUIC, DNS, SIP) перед фактичним рукостисканням, вводячи в оману системи DPI шляхом класифікації трафіку як звичайного.

🔄 Оновлення (липень 2026): Цей посібник зберігає свій оригінальний пошаговий процес, але закріплений тег інсталятора, показаний нижче, v5.8.1, більше не є актуальним. Найновіший випуск amneziawg-installer — це v5.18.4, який додає підтримку Debian 12 та 13, готові модулі ядра ARM64 та Raspberry Pi, Ubuntu 25.10 та 26.04, режим каскаду та подальші поліпшення безпеки.

Якщо ви слідуєте цьому посібнику сьогодні, замініть старішу закріплену команду на wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.18.4/install_amneziawg_en.shабо перевірте поточний тег на сторінці останнього випуску перед розгортанням.


Самостійне розгортання VPN-сервера AmneziaWG — Повний посібник

AmneziaWG

AmneziaWG — це протокол, розроблений для вирішення конкретної проблеми: як досягти швидкості WireGuard, коли мережі, до яких ви підключаєтесь, активно намагаються його блокувати? Це форк WireGuard, створений командою Amnezia VPN, і він робить те, чого не робить оригінал — рандомізує транспортний шар, щоб системи глибокої інспекції пакетів не могли його ідентифікувати. Шифрування залишається абсолютно тим же. Змінюється лише зовнішній вигляд пакетів у мережі.

Широкий спектр VPN-обфускації протягом років став гонкою озброєнь. Інструменти на кшталт Shadowsocks, VLESS+Reality та OpenVPN з obfs4 намагаються замаскувати трафік різними способами — одні як проксі, інші як повні тунелі, деякі з великими витратами на продуктивність. AmneziaWG займає конкретну нішу: це повний VPN-тунель з продуктивністю на рівні WireGuard та вбудованим захистом від DPI, все в одному пакеті. А оскільки це відкритий код, ви можете розгорнути його на власному сервері.

Але ось проблема, яка робить це необхідним. Ви налаштовуєте WireGuard. Він працює ідеально — швидко, чисто, надійно. А потім одного дня він припиняє роботу. Без повідомлення про помилку, без timeout, без відмови в з’єднанні. Пакети просто зникають. Ось як виглядає DPI-блокування на практиці: ваш тунель все ще працює, ваша конфігурація все ще правильна, але нічого не проходить. Це вже реальність у деяких країнах.

VPN Obfuscation

Традиційні альтернативи не повністю вирішують цю проблему. Shadowsocks — це проксі, а не повний VPN-тунель — ваш DNS та non-TCP трафік все ще витікатимуть. OpenVPN з obfs4 працює, але має приблизно 25% накладних витрат на продуктивність. VLESS+Reality пропонує сильну обфускацію, але це проксі та складна у налаштуванні. AmneziaWG заповнює цю прогалину: це повний VPN-тунель з продуктивністю на рівні WireGuard та вбудованим захистом від DPI.

Цей посібник проведе вас через розгортання повністю функціонального сервера AmneziaWG 2.0 на будь-якому KVM VPS менш ніж за 15 хвилин за допомогою єдиного скрипту інсталятора спільноти. Наприкінці у вас буде робочий VPN-тунель, до якого ви зможете підключитися з будь-якого пристрою. Кроки не залежать від провайдера — вони працюють на будь-якому VPS з доступом SSH та правами root, незалежно від того, від AvaHost чи іншого. Це написано для користувачів з середнім рівнем технічних навичок, які комфортно працюють з SSH та базовими командами Linux.

Одне уточнення перед тим, як ми почнемо: AmneziaWG — це протокол. AmneziaVPN — це клієнтське додаток, яке до нього підключається. Вони пов’язані, але різні — як TLS для вашого браузера. Вам знадобиться додаток для підключення, але протокол — це те, що працює на вашому сервері.

Але перш ніж ми щось розгортаємо, вам потрібно зрозуміти, що робить AmneziaWG іншим від WireGuard — і чому ця різниця має значення, коли DPI вас спостерігає.


Що таке AmneziaWG? (Концептуальна модель)

WireGuard елегантний у своєму дизайні. Він має невеликий кодовий базис, використовує сучасну криптографію та працює в ядрі Linux з майже нативною продуктивністю. Але ця елегантність має проблему видимості: кожен пакет WireGuard несе одну й ту саму фіксовану структуру заголовка, одні й ті ж фіксовані розміри пакетів та один і той же шаблон рукостискання. Для системи глибокого аналізу пакетів тунель WireGuard має сигнатуру, яка читається як штрих-код. Як тільки пристрій DPI вивчить цю сигнатуру, він може відкидати кожен пакет без блокування порту чи закриття з’єднання.

DPI
AmneziaWG — це форк WireGuard-Go, створений командою Amnezia VPN. Він успадкував архітектурну простоту WireGuard — той самий обмін ключами Curve25519, те саме шифрування ChaCha20-Poly1305, той самий рукостиск Noise IK. Вся криптографія залишається незмінною та також перевіреною. Те, що змінює AmneziaWG — це транспортний рівень: заголовки пакетів, розміри пакетів та часові шаблони.

Подумайте про це так. WireGuard — це кур’єр, який завжди носить один і той же костюм — швидкий, надійний та ефективний. Але кожен, хто спостерігає за дорогою, вчиться розпізнавати цей костюм і може зупинити кур’єра на будь-якому контрольному пункті. AmneziaWG — це той самий кур’єр, який везе ті самі посилки, але змінює свій костюм на кожному контрольному пункті. Та сама людина, той самий вантаж, абсолютно інший вигляд.

Історія версій має значення. AmneziaWG 1.x представив користувацькі заголовки, які відрізнялися від фіксованих значень WireGuard — це допомагало деякий час, але системи DPI адаптувалися. AmneziaWG 2.0, випущений наприкінці 2025 року, рандомізує все: заголовки змінюються від пакета до пакета, заповнення варіюється від повідомлення до повідомлення, а замінні пакети імітують інші протоколи перед фактичним рукостиском. Немає універсальної сигнатури для виявлення, оскільки кожен сервер AmneziaWG 2.0 генерує свій власний унікальний набір параметрів. Кожен сервер говорить своїм діалектом.

Коли всі параметри обфускації встановлені на нуль, AmneziaWG поводиться ідентично WireGuard — він повністю зворотно сумісний на рівні протоколу. Але з активними параметрами (що є налаштуванням за замовчуванням), він стає тим, чим WireGuard не може бути: швидким VPN-тунелем, який системам DPI важко ідентифікувати.

Отже, як саме AmneziaWG шифрує свій трафік? Давайте розглянемо чотири рівні обфускації, які роблять DPI сліпим — і чому вони додають майже нульові витрати на швидкість.


Як AmneziaWG приховується від DPI (без втрати швидкості)

AmneziaWG 2.0 використовує чотири рівні обфускації, які працюють разом. Кожен рівень спрямований на різні способи, якими системи DPI ідентифікують VPN-трафік. Разом вони роблять трафік кожного сервера унікальним.

Динамічні заголовки (H1–H4)

WireGuard використовує фіксовані 32-бітові ідентифікатори типу повідомлення:

  • 1 — для ініціації
  • 2 — для відповіді
  • 3 — для відповіді з cookie
  • 4 — для даних

Пристрій DPI, який сканує трафік, просто шукає ці значення. AmneziaWG 2.0 замінює кожне фіксоване значення на випадкове число, обране з указаного діапазону. Заголовок ініціації (H1) може бути будь-яким значенням від 234567 до 345678. Заголовок відповіді (H2) може бути від 3456789 до 4567890. Ці діапазони ніколи не перекриваються — протокол все ще повинен розрізняти типи пакетів внутрішньо — але для зовнішнього спостерігача немає єдиного значення заголовка, за яке можна було б зачепитися. Кожен пакет виглядає інакше від попереднього.

Випадкове заповнення (S1–S4)

Пакет ініціації WireGuard завжди має рівно 148 байтів. Його відповідь завжди має рівно 92 байти. Ці фіксовані розміри — ще один відбиток. AmneziaWG додає випадкове заповнення до кожного типу пакета: ініціація стає 148+S1 байтів, відповідь стає 92+S2 байти, відповідь з cookie стає 64+S3 байти, а кожен пакет даних отримує S4 байти заповнення. S3 та S4 — нові у версії 2.0 — а S4 — найбільш значуще доповнення, оскільки впливає на кожен окремий пакет даних, що значно ускладнює аналіз трафіку на рівні сеансу.

Існує одне критичне обмеження: S1+56 не повинно дорівнювати S2. Оскільки первісна різниця розміру між ініціацією та відповіддю становить 56 байтів (148−92), якщо значення заповнення випадково компенсують рівно цю різницю, два заповнені пакети матимуть однаковий розмір — відтворюючи відбиток, який AmneziaWG намагається усунути. Генератор параметрів інсталятора автоматично забезпечує це обмеження.

Користувацька сигнатура протоколу (I1–I5)

Перед тим як розпочнеться фактичний handshake, клієнт AmneziaWG надсилає до п’яти замінних пакетів, які імітують інші протоколи — QUIC, DNS, SIP або користувацькі байтові послідовності. Сервер повністю ігнорує ці пакети. Він просто чекає на справжній handshake.

  • Проста конфігурація: надсилає 128 випадкових байтів <r 128>.
  • Складна конфігурація: надсилає байти, які виглядають як ініціація з’єднання QUIC (<b 0xc000000001><r 64><t>), з Unix timestamp.

Для системи DPI, яка спостерігає за початком сеансу, перші пакети виглядають як звичайний веб-трафік.

Сміттєві пакети (Jc, Jmin, Jmax)

Після замінних пакетів клієнт надсилає налаштовувану кількість сміттєвих пакетів — чистий шум із випадковими розмірами від Jmin до Jmax. Ці пакети розмивають профіль часу та розміру початку сеансу, ускладнюючи для систем DPI визначення того, де розпочинається справжній handshake.

Питання про швидкість

В інтернеті циркулює одна цифра: AmneziaWG має 65% overhead. Ця цифра реальна, але вона стосується реалізації в user-space на Go — не kernel module. Інсталятор спільноти, використаний у цьому посібнику, будує DKMS kernel module, а kernel module додає менше 12% overhead загалом — ближче до 3% у реальних тестах. На мережі без цензури ви побачите близько 95 Мбіт/с через WireGuard та 92 Мбіт/с через AmneziaWG 2.0. На мережі з цензурою порівняння становить 92 Мбіт/с проти нуля.

Наступна таблиця підсумовує параметри, які інсталятор генерує автоматично:

ПараметрДіапазон генеруванняПриклад значення
Jc (кількість сміттєвих пакетів)4–86
Jmin (мін. розмір сміття)40–8955
Jmax (макс. розмір сміття)Jmin+100 до Jmin+500380
S1 (заповнення ініціації)15–15072
S2 (заповнення відповіді)15–150, S1+56≠S256
S3 (заповнення cookie)8–5532
S4 (заповнення даних)4–2716
H1 (діапазон заголовка ініціації)uint32 без перекриття234567-345678
H2 (діапазон заголовка відповіді)uint32 без перекриття3456789-4567890
H3 (діапазон заголовка cookie)uint32 без перекриття56789012-67890123
H4 (діапазон заголовка даних)uint32 без перекриття456789012-567890123
I1 (CPS пакет)<r N> формат<r 128>

Вам не потрібно встановлювати жодний із цих параметрів вручну. Інсталятор генерує криптографічно випадкові значення, які відповідають обмеженням, кожного разу.

Тепер, коли ви знаєте, як працює обфускація, давайте подивимося, як AmneziaWG порівнюється з альтернативами, які ви можете розглядати.


AmneziaWG vs Альтернативи — Швидкий посібник для прийняття рішень

VPN
Якщо ви оцінюєте VPN-протоколи для середовища з цензурою, ви, ймовірно, зустрілися з кількома варіантами. Ось як вони порівнюються за ключовими параметрами:

WireGuardAmneziaWG 2.0OpenVPN+obfs4ShadowsocksVLESS+Reality
Стійкість до DPIНизькаВисокаСередняСередняДуже висока
Накладні витрати на швидкість~4%<12% (~3% в реальних умовах)~25%~8%~10%
Повний VPN-тунельТакТакТакНі (проксі)Ні (проксі)
Запускається в ядріТакТак (DKMS)НіНіНі
Складність налаштуванняНизькаНизька (з інсталятором)ВисокаСередняВисока
ТранспортUDPUDPTCP/UDPTCPTCP

Правила прийняття рішень прості:

  • У вашій країні немає DPI? Використовуйте звичайний WireGuard. Він простіший і має ширшу екосистему.
  • Потрібна максимальна защита від DPI і ви не проти проксі? VLESS+Reality — найсильніший варіант для обфускації, але це не повний тунель.
  • Хочете і швидкість, і повний тунель з обфускацією? AmneziaWG 2.0 — єдиний варіант, який забезпечує продуктивність WireGuard-рівня з реальною защитою від DPI в повному VPN-тунелі.
  • Вже використовуєте OpenVPN+obfs4 і він все ще працює? Немає терміново необхідності переходити, але AmneziaWG буде помітно швидшим.

Ця стаття зосереджена на AmneziaWG, оскільки це єдиний

Що вам потрібно перед початком

Перед запуском інсталятора переконайтеся, що ваше середовище відповідає цим вимогам:

ВимогаДеталіЧому
ОСUbuntu 24.04 LTS (чисте встановлення). Ubuntu 25.10 є експериментальною. Debian 12/13 працює, але може потребувати попередньо встановленого curl.Інсталятор протестований і повністю підтримується на Ubuntu 24.04.
Характеристики VPS1 vCore, 1 GB RAM, 25 GB сховища. Будь-який план за $3–5/місяць підходить.Інсталятор потребує ~2 GB дискового простору та ~1 GB RAM під час збирання DKMS. Робоча VPN використовує мінімальні ресурси.
ВіртуалізаціяKVM (не OpenVZ, не LXC).AmneziaWG завантажує модуль ядра через DKMS. LXC використовує спільне ядро хоста і не може завантажувати користувацькі модулі.
SSH доступRoot або користувач sudo з аутентифікацією за паролем/ключем.Інсталятор потребує запуску від root.
SSH портСтандартний 22 або попередньо відкритий у UFW, якщо використовується нестандартний порт.Якщо SSH не працює на порту 22 і ви його заздалегідь не відкрили, налаштування брандмауера інсталятором вас заблокує.
Клієнтський додатокAmnezia VPN >= 4.8.12.7 (усі платформи).Опції AWG 2.0 не розуміються старішими клієнтами. Стандартний клієнт WireGuard взагалі не підтримує AWG.

⚠️ Попередження: LXC контейнери не підтримуються. Якщо ваш VPS використовує LXC віртуалізацію, збирання модуля ядра DKMS не вдасться. Ви повинні використовувати KVM або bare-metal. Уточніть у свого провайдера, якщо ви не впевнені.

⚠️ Попередження: Якщо ваш SSH працює на нестандартному порту (будь-якому, крім 22), ви повинні відкрити його у UFW перед запуском інсталятора:
sudo ufw allow YOUR_PORT/tcp
Замініть YOUR_PORT на ваш фактичний SSH порт. Інсталятор включає UFW із стандартною політикою — якщо ваш SSH порт не дозволений, ви будете негайно заблоковані.

💡 Порада: Зачекайте 5–10 хвилин після створення вашого VPS перед запуском інсталятора. Процеси cloud-init та фонові ініціалізації можуть конфліктувати з викликами apt-get, які робить інсталятор.

З готовим VPS та підтвердженими передумовами давайте розгорнемо AmneziaWG 2.

Метод 1 — Розгортання через CLI Installer (Рекомендовано)

Це основний метод встановлення. Ви завантажите скрипт інсталятора з фіксованою версією, запустите його від користувача root, пройдете через вісім автоматизованих кроків (з двома очікуваними перезавантаженнями) і отримаєте повністю налаштований сервер AmneziaWG 2.0. Інсталятор обробляє все: встановлення пакетів, компіляцію модуля ядра, конфігурацію брандмауера, генерацію параметрів та запуск сервісу.

6.1 — Підключіться до вашого VPS через SSH

Відкрийте термінал і підключіться до сервера:

ssh root@<SERVER_IP>

Замініть <SERVER_IP> на фактичну публічну IP-адресу вашого VPS. Якщо ваш провайдер надав вам користувача без прав root, увійдіть з цим користувачем, а потім підвищте привілеї:

ssh <username>@<SERVER_IP>
sudo -i

Ви повинні побачити привітальний банер Ubuntu 24.04, за яким слідує запит root:

Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#

6.2 — Завантажте та запустіть інсталятор

Завантажте скрипт інсталятора, зробіть його виконуваним та запустіть його:

wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.8.1/install_amneziawg_en.sh

chmod +x install_amneziawg_en.sh

sudo bash ./install_amneziawg_en.sh

URL має фіксовану версію v5.8.1 — найновіший реліз станом на квітень 2026 року. Це забезпечення безпеки ланцюга поставок: це гарантує, що завантажений скрипт відповідає протестованій версії, навіть якщо репозиторій був оновлений з того часу.

Інсталятор починає з перевірки вашої системи:

============================================
AmneziaWG 2.0 Installer v5.8.1
============================================
Checking system requirements...
OS: Ubuntu 24.04 LTS — OK
Virtualization: KVM — OK
RAM: 1024 MB — OK
Disk: 25 GB free — OK

Якщо будь-яка перевірка не пройде, інсталятор зупиняється і повідомляє вам причину. Виправте проблему та повторно запустіть команду.

6.3 — Пройдіть через запити інсталятора

Інсталятор — це восьмиступенева машина стану з підтримкою відновлення після перезавантаження. Він зберігає свій прогрес у /root/awg/awgsetup_cfg.init, тому якщо сервер перезавантажиться, ви просто запустите ту ж команду знову, і він продовжить з того місця, де зупинився.

Крок 0: Ініціалізація — Інсталятор перевіряє вашу ОС, тип віртуалізації, оперативну пам’ять та місце на диску. Він створює робочу директорію /root/awg/ та встановлює файл блокування, щоб запобігти паралельним запускам.

Крок 1: Оновлення системи та встановлення пакетів — Інсталятор запускає apt-get update && apt-get upgrade -y. Потім встановлює AmneziaWG, DKMS, заголовки Linux, UFW, Fail2Ban, інструменти генерації QR-кодів та інші залежності.

📝 Примітка: Інсталятор також видаляє кілька фонових сервісів, які споживають ресурси на мінімальних VPS-екземплярах: snapd, modemmanager, networkd-dispatcher, unattended-upgrades, packagekit, lxd-agent-loader та udisks2. Це навмисно та безпечно для мінімальних VPN-вузлів, але може зламати середовища загального призначення.

Коли Крок 1 завершиться, інсталятор запросить перезавантаження:

Reboot required. Reboot now? [y/n]:

Введіть y та натисніть Enter. Після того як сервер повернеться, знову підключіться через SSH та повторно запустіть ту ж команду:

sudo bash ./install_amneziawg_en.sh

Скрипт читає свій збережений стан і продовжує до Кроку 2 без повторного запиту будь-яких запитів.

Крок 2: Побудова модуля ядра DKMS — Інсталятор компілює модуль ядра AmneziaWG для вашого поточного ядра та реєструє його в DKMS для автоматичної перебудови при майбутніх оновленнях ядра:

Step 2: Building AmneziaWG kernel module via DKMS...
Creating symlink /var/lib/dkms/amneziawg/2.0/source -> /usr/src/amneziawg-2.0
DKMS: add completed.
Kernel preparation completed.
Building module:
make -C /lib/modules/6.8.0-xx-generic/build M=/var/lib/dkms/amneziawg/2.0/build modules
DKMS: build completed.
DKMS: install completed.

Запрошується друге перезавантаження. Введіть y та натисніть Enter.

📝 Примітка: Два перезавантаження під час встановлення є нормальним та очікуваним. Перше завантажує нові заголовки ядра, друге активує щойно побудований модуль ядра. Скрипт зберігає стан між перезавантаженнями — нічого не втрачається.

Після другого перезавантаження підключіться через SSH та запустіть інсталятор ще раз:

sudo bash ./install_amneziawg_en.sh

Крок 3: Перевірка модуля після перезавантаження — Скрипт перевіряє, чи завантажено модуль ядра (lsmod | grep amneziawg). Якщо побудова DKMS з якої-небудь причини не вдалася, вона повертається до реалізації userspace Go з попередженням про вищі накладні витрати.

Крок 4: Налаштування брандмауера — UFW увімкнено з політикою default-deny для вхідного трафіку. Інсталятор додає правило обмеження швидкості SSH на порту 22, відкриває ваш VPN-порт для UDP-трафіку та налаштовує правила маршрутизації для інтерфейсу awg0.

Крок 5: Завантаження скриптів управління — Скрипти управління клієнтом (manage_amneziawg.sh та awg_common.sh) завантажуються до /root/awg/ з дозволами тільки для власника (700). Вони також мають фіксовану версію v5.8.1.

Крок 6: Інтерактивна конфігурація — Інсталятор тепер задає чотири питання:

  • UDP-порт (за замовчуванням: 39743, діапазон 1024–65535). За замовчуванням це випадковий високий порт — залишайте його, якщо ваш ISP не відомий блокуванням високих UDP-портів.
  • Підмережа тунелю (за замовчуванням: 10.9.9.1/24). Це ваша внутрішня VPN-мережа. Сервер отримує .1, клієнти отримують .2 через .254, підтримуючи до 253 клієнтів.
  • Вимкнути IPv6 (за замовчуванням: Y). Рекомендовано — вимкнення IPv6 запобігає витоку трафіку за межі тунелю на маршрутах IPv6.
  • Режим маршрутизаціїВиберіть 1 для всього трафіку, 2 для Amnezia List + DNS (рекомендовано) або 3 для користувацьких мереж. Режим 2 маршрутизує лише заблоковані діапазони публічних IP та DNS через VPN, зберігаючи швидкий та прямий доступ до вашої локальної мережі.

💡 Порада: MTU встановлено на 1280 за замовчуванням. Це мінімальний MTU IPv6 і критичний для мобільних та стільникових мереж. iOS суворо дотримується Path MTU Discovery, а стільникові мережі часто мають ефективний MTU нижче за замовчуванням WireGuard 1420. Залишайте це на 1280.

Крок 7: Запуск сервісу — Інсталятор генерує конфігурацію сервера в /etc/amnezia/amneziawg/awg0.conf, створює дві конфігурації клієнта за замовчуванням (my_phone та my_laptop) в /root/awg/, генерує QR-коди та запускає сервіс systemd awg-quick@awg0.

Крок 8: Завершення — Ви побачите повідомлення про успіх:

VPN

Інсталятор автоматично генерує всі параметри обфускації AmneziaWG 2.0. Вам не потрібно їх торкатися. Кожен сервер отримує унікальний набір значень — немає універсального відбитка для систем DPI для виявлення.

6.4 — Управління клієнтами після встановлення

Скрипт управління в /root/awg/manage_amneziawg.sh обробляє всі операції життєвого циклу клієнта. Ось основні команди:

Додайте нового клієнта:

sudo bash /root/awg/manage_amneziawg.sh add my_desktop

Це генерує файл .conf, QR-код та файл .vpnuri для нового клієнта. Конфігурація сервера гарячо перезавантажується — перезапуск сервісу не потрібен.

Додайте тимчасового клієнта з автоматичним закінченням терміну дії:

sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7d

Завдання cron перевіряє кожні п’ять хвилин і автоматично видаляє клієнта після закінчення терміну дії. Конфігурація, ключі та запис сервера повністю очищуються.

Список усіх клієнтів:

sudo bash /root/awg/manage_amneziawg.sh list

Clients:
  my_phone     (10.9.9.2/32)
  my_laptop    (10.9.9.3/32)
  my_desktop   (10.9.9.4/32)
  guest        (10.9.9.5/32) [expires in 6d 23h]

Додайте прапор -v для додаткових деталей, включаючи публічні ключі та дати створення.

Видаліть клієнта:

sudo bash /root/awg/manage_amneziawg.sh remove guest

Перевірте повний статус сервера:

sudo bash /root/awg/manage_amneziawg.sh check

Це показує стан сервісу, відкритий порт, всі параметри AWG 2.0, статус модуля ядра, статус UFW та статус Fail2Ban в одному вигляді.

Перегляньте статистику трафіку для кожного клієнта:

sudo bash /root/awg/manage_amneziawg.sh stats

Client          Received        Sent            Latest handshake
───────────────────────────────────────────────────────────────────
my_phone        1.24 GiB        356.7 MiB       2 minutes ago
my_laptop       892.3 MiB       128.4 MiB       15 seconds ago
my_desktop      0 B             0 B             (none)

Створіть резервну копію:

sudo bash /root/awg/manage_amneziawg.sh backup

Це створює стиснутий архів в /root/awg/backups/, що містить конфігурацію вашого сервера, конфігурації клієнтів, ключі та дані закінчення терміну дії.

📝 Примітка: Команди add та remove використовують awg syncconf для гарячого перезавантаження. Конфігурація сервера оновлюється миттєво без перезапуску сервісу. Використовуйте restart лише при зміні параметрів на стороні сервера, таких як порт або MTU.

6.5 — Перевірте, що сервер працює

Пройдіть через ці перевірки, щоб підтвердити, що все працює:

Перевірте сервіс systemd:

sudo systemctl status awg-quick@awg0

● awg-quick@awg0.service - AmneziaWG Quick via awg-quick(8) for awg0
     Loaded: loaded (/lib/systemd/system/awg-quick@.service; enabled)
     Active: active (exited) since Thu 2026-04-09 14:32:01 UTC

Перевірте статус AmneziaWG та параметри:

sudo awg show awg0

Перевірте брандмауер:

sudo ufw status verbose

Status: active
Default: deny (incoming), allow (outgoing)
22/tcp                     LIMIT IN    Anywhere
39743/udp                  ALLOW IN    Anywhere

Перевірте Fail2Ban:

sudo fail2ban-client status sshd

Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  `- Total failed: 0
`- Actions
   |- Currently banned: 0
   `- Banned IP list:

Перевірте модуль ядра DKMS:

dkms status

amneziawg/1.0.0, 6.8.0-110-generic, x86_64: installed

Якщо всі п’ять перевірок пройдуть, ваш сервер AmneziaWG 2.0 працює та готовий приймати з’єднання.

Ваш сервер працює та перевірений. Якщо ви віддаєте перевагу підходу, керованому GUI, замість терміналу, ось альтернативний метод з використанням додатку AmneziaVPN.


Метод 2 — розгортання за допомогою додатка AmneziaVPN (альтернатива)

Настільний додаток AmneziaVPN може автоматично встановити AmneziaWG на ваш сервер через SSH. Він використовує той самий базовий скрипт інсталятора, що й метод CLI, але обгортає все в зручний інтерфейс. Це ідеально, якщо ви хочете встановлення без участі користувача.

  1. Завантажте AmneziaVPN з amnezia.org/en/downloads. Він доступний для Windows, macOS, Linux, Android та iOS.
  2. Відкрийте додаток і натисніть ➕ (значок плюса) або Розпочати.
  3. Виберіть “Self-hosted VPN” з представлених опцій.
  4. Введіть облікові дані вашого сервера:
    • IP-адреса сервера (та порт, якщо SSH не на 22, наприклад, 203.0.113.10:2221)
    • Ім’я користувача SSH (наприклад, root)
    • Пароль або приватний ключ SSH
  5. Виберіть тип встановлення:
    • Автоматичне — встановлює тільки AmneziaWG (рекомендується)
    • Ручне — виберіть конкретний протокол зі списку
  6. Натисніть “Встановити” — додаток підключається до вашого сервера через SSH і запускає встановлення автоматично. Ви побачите індикатор прогресу.
  7. Після встановлення додаток створює готовий до використання профіль VPN-з’єднання.

Примітки після встановлення:

  • Додаток встановлює AmneziaWG з випадковим портом за замовчуванням. Деякі ISP блокують UDP на високих портах. Додаток рекомендує змінити на порт нижче 9999 (наприклад, 585 або 1234). Щоб змінити його: натисніть значок шестерні поруч з з’єднанням → вкладка Management → змініть номер порту.
  • Якщо на вашому сервері вже встановлено програмне забезпечення Amnezia, натисніть “Пропустити налаштування” під час створення з’єднання, а потім використовуйте “Перевірити сервер на раніше встановлені сервіси Amnezia” на вкладці Management.

Ось як порівнюються два методи:

АспектCLI інсталяторДодаток AmneziaVPN
КонтрольПовний — ви бачите кожен крок, можете налаштовуватиОбмежений — додаток керує всім
ВидимістьПрозора — всі команди видиміНепрозора — запускається за кулісами
ГнучкістьКористувацька маршрутизація, endpoint, прапориВикористовує тільки стандартні налаштування
Простота використанняПотребує знання SSHБез роботи з терміналом
УправлінняПовний набір manage_amneziawg.shУправління тільки через додаток
Найкраще дляНеуправляємий VPS, усунення несправностейШвидке налаштування, керований досвід

Незалежно від того, використовували ви CLI чи додаток, ваш сервер готовий. Тепер давайте підключимо ваш перший пристрій.


Підключення вашого першого клієнта

Після встановлення у вас є три способи імпортувати конфігурацію клієнта в додаток Amnezia VPN. Виберіть той, який відповідає вашому пристрою.

Метод A: QR-код (мобільний пристрій)

Інсталятор створив QR-код за адресою /root/awg/my_phone.png. Завантажте його на свій комп’ютер:

scp root@<SERVER_IP>:/root/awg/my_phone.png .

Відкрийте PNG-файл на екрані. На телефоні відкрийте додаток Amnezia VPN, натисніть «Add VPN»«Scan QR code» і спрямуйте камеру на QR-код на екрані. Підключення імпортується автоматично.

Метод B: vpn:// URI (клієнт Amnezia)

Відобразіть стиснутий URI на сервері:

cat /root/awg/my_phone.vpnuri

Скопіюйте весь рядок vpn://… і відправте його собі — через Telegram, електронну пошту або додаток для нотаток. На телефоні відкрийте додаток Amnezia VPN, натисніть «Add VPN»«Paste from clipboard». Конфігурація імпортується за один крок.

URI — це стиснена версія zlib, закодована в Base64, повного файлу конфігурації. Вона компактна і розроблена для швидкого обміну.

Метод C: файл .conf (Desktop/Windows)

Завантажте файл конфігурації:

scp root@<SERVER_IP>:/root/awg/my_phone.conf .

Відкрийте клієнт AmneziaWG для Windows або додаток AmneziaVPN для настільного комп’ютера, натисніть «Import tunnel(s) from file» і виберіть файл .conf.

Перевірка підключення

Після підключення перевірте, що тунель маршрутизує ваш трафік через сервер:

curl ifconfig.me

Результат повинен показати публічну IP-адресу вашого сервера, а не локальну: 203.0.113.1

Для отримання додаткових деталей, включаючи географічне розташування сервера:

curl -s https://ipinfo.io/json

{
  "ip": "203.0.113.1",
  "city": "Amsterdam",
  "region": "North Holland",
  "country": "NL",
  ...
}

⚠️ Попередження: Стандартний клієнт WireGuard не працює з конфігураціями AmneziaWG 2.0. Ви повинні використовувати додаток Amnezia VPN (версія 4.8.12.7 або пізніша) або нативний клієнт AmneziaWG (версія 2.0.0 або пізніша на Windows/Android/iOS).

⚠️ Попередження: Якщо ви бачите «Invalid key: s3» на Windows, ваш клієнт AmneziaWG для Windows застарілий (версія нижче 2.0.0). Оновіть до версії 2.0.0+ або перейдіть на додаток Amnezia VPN.

💡 Порада: Якщо ви підключені, але немає інтернету, перевірте, що ваша конфігурація клієнта має MTU

Що далі — розширення вашої конфігурації

Тепер у вас є DPI-стійкий VPN тунель, запущений на вашому власному сервері, під вашим контролем, зі швидкістю WireGuard. Мовчазна втрата пакетів, яка вбивала вашу WireGuard-з’єднання, більше не проблема — ваш трафік виглядає як щось, що DPI-система не може надійно ідентифікувати.

Ось найбільш корисні речі, які ви можете зробити далі:

  1. Додайте клієнтів для вашої сім’ї або команди — використовуйте скрипт управління для генерування конфігурацій для кожного пристрою, який потребує доступу.
  2. Налаштуйте розділений тунелювання, якщо вам не потрібна маршрутизація повного тунелю — це зберігає локальний трафік швидким і зменшує пропускну здатність на вашому VPS.
  3. Створіть резервну копію ваших конфігурацій — запустіть команду резервного копіювання та збережіть архів у безпечному місці. Якщо ваш сервер коли-небудь потребуватиме перебудови, це те, що врятує вас від необхідності починати з нуля.

Налаштуйте розділене тунелювання, якщо вам не потрібно маршрутизувати весь трафік через VPN. Це особливо корисно в країнах із частковою цензурою — маршрутизуйте лише заблоковані сайти через тунель і тримайте локальний трафік прямим:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"

Змініть DNS вашого клієнта, якщо ви віддаєте перевагу іншим резолверам:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"

Відрегулюйте PersistentKeepalive, якщо ви використовуєте агресивну конфігурацію NAT. За замовчуванням 33 секунди підтримують UDP-сесію через NAT — зменшення до 25 може допомогти в мережах, які швидко закривають неактивні UDP-сесії:

sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25

Встановіть на маршрутизаторі для покриття всієї мережі. AmneziaWG підтримується на маршрутизаторах Keenetic через AWG Manager та на маршрутизаторах ASUS з Asuswrt-Merlin через AmneziaWG для Merlin.

Створіть резервну копію вашої конфігурації прямо зараз, перш ніж щось змінюється:

sudo bash /root/awg/manage_amneziawg.sh backup

Якщо вам коли-небудь потрібно перенести на новий сервер, запустіть свіжу інсталяцію, а потім:

sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regen

Висновок

Після повного налаштування те, що виділяється в AmneziaWG 2.0 — це не просто те, що він працює, а те, чому він надійно працює там, де інші не справляються. Зберігаючи перевірену криптографічну основу WireGuard, але принципово змінюючи те, як трафік виглядає в мережі, він обходить саме ті слабкості, які експлуатує Deep Packet Inspection. Результат — налаштування, яке на практиці відчувається настільки ж швидким і простим, як WireGuard, але набагато стійкішим у ворожих середовищах. Після розгортання цінність стає очевидною: ви запускаєте не просто VPN — ви запускаєте ту, яка побудована для виживання в реальних умовах блокування.

Якщо ви шукаєте надійний VPS для розміщення вашого сервера AmneziaWG — або вам потрібно масштабуватися з додатковими точками доступу для членів команди — AvaHost надають KVM-віртуалізацію з повним root-доступом, сховищем NVMe та підтримкою Ubuntu 24.04, які потрібні для цього налаштування. Їхня інфраструктура спеціально розроблена для самостійно розміщених розгортань, які охоплює цей посібник.