AmneziaWG VPN
Słowa kluczowe
| Słowo kluczowe | Definicja |
|---|---|
| 🛡️ AmneziaWG | Fork WireGuard, który randomizuje nagłówki pakietów, rozmiary i czasy transmisji, aby przeciwdziałać głębokiej inspekcji pakietów, zachowując jednocześnie tę samą sprawdzoną kryptografię. To protokół, który działa na twoim serwerze. |
| 🚀 AmneziaWG 2.0 | Aktualna główna wersja, która wykorzystuje dynamiczne zakresy nagłówków (zamiast stałych wartości), dodaje wypełnienie na poziomie danych (S4) i wspiera pakiety zastępcze z niestandardowym podpisem protokołu dla silniejszego unikania DPI. |
| 🔍 Głęboka inspekcja pakietów (DPI) | Technika filtrowania sieciowego stosowana przez dostawców usług internetowych i organy rządowe do identyfikacji i blokowania ruchu VPN poprzez analizowanie nagłówków pakietów, rozmiarów i wzorców handshake. AmneziaWG jest specjalnie zaprojektowany, aby temu przeciwdziałać. |
| ⚡ WireGuard | Szybki, nowoczesny protokół VPN z małą bazą kodu i wydajnością na poziomie jądra. Jest łatwo identyfikowalny przez systemy DPI z powodu swojej stałej struktury pakietów, co zostało rozwiązane w AmneziaWG. |
| 🏠 VPN hostowany samodzielnie | VPN, który wdrażasz i zarządzasz na własnym serwerze (zwykle VPS), zamiast subskrybować u dostawcy komercyjnego. Kontrolujesz klucze, konfigurację i infrastrukturę. |
| 🐧 DKMS (Wsparcie dla dynamicznych modułów jądra) | Framework Linuxa, który automatycznie rekompiluje moduły jądra, gdy jądro systemu jest aktualizowane. Instalator AmneziaWG używa DKMS do budowy modułu jądra o wysokiej wydajności. |
| 🎭 Obfuskacja | Praktyka maskowania ruchu VPN, aby wyglądał jak zwykły ruch internetowy. AmneziaWG obfuskatuje na poziomie transportu, randomizując nagłówki, dodając wypełnienie, wysyłając pakiety zastępcze i generując śmieciowe pakiety. |
| 🔀 Split tunneling | Konfiguracja routingu, w której tylko określony ruch (np. zablokowane strony) przechodzi przez VPN, podczas gdy inny ruch korzysta z twojego bezpośredniego połączenia. Przydatne w krajach z częściową cenzurą. |
| 🖥️ KVM vs LXC | KVM to pełna wirtualizacja z dedykowanym jądrem wymaganym do ładowania niestandardowych modułów jądra, takich jak AmneziaWG. LXC to wirtualizacja kontenerów, która korzysta ze współdzielonego jądra hosta i nie może ładować niestandardowych modułów. |
| 🎪 CPS (Niestandardowy podpis protokołu) | Funkcja AmneziaWG 2.0, która wysyła pakiety zastępcze naśladujące inne protokoły (QUIC, DNS, SIP) przed rzeczywistym handshake, wprowadzając w błąd systemy DPI, klasyfikując ruch jako normalny. |
Samodzielnie wdrażany serwer VPN AmneziaWG — Kompletny przewodnik

AmneziaWG to protokół zaprojektowany w celu rozwiązania konkretnego problemu: jak osiągnąć prędkości WireGuard, gdy sieci, do których się łączysz, aktywnie próbują go zablokować? To fork WireGuard stworzony przez zespół Amnezia VPN, który robi to, czego oryginał nie robi — randomizuje warstwę transportową, aby systemy głębokiej inspekcji pakietów nie mogły go zidentyfikować. Szyfrowanie pozostaje dokładnie takie samo. Zmienia się tylko wygląd pakietów w sieci.
Szeroki krajobraz obfuskacji VPN był przez lata wyścigiem zbrojeń. Narzędzia takie jak Shadowsocks, VLESS+Reality i OpenVPN z obfs4 próbują maskować ruch na różne sposoby — niektóre jako proxy, inne jako pełne tunele, niektóre z wysokimi kosztami wydajności. AmneziaWG zajmuje konkretną niszę: jest to pełny tunel VPN z wydajnością na poziomie WireGuard i wbudowaną ochroną przed DPI, wszystko w jednym pakiecie. A ponieważ jest open-source, możesz wdrożyć go na swoim własnym serwerze.
Ale oto problem, który sprawia, że to jest konieczne. Ustawiasz WireGuard. Działa idealnie — szybko, czysto, niezawodnie. Potem pewnego dnia przestaje. Żadna wiadomość o błędzie, żadnego czasu oczekiwania, żadnego odrzucenia połączenia. Pakiety po prostu znikają. Tak wygląda blokowanie DPI w praktyce: twój tunel nadal działa, twoja konfiguracja jest nadal poprawna, a nic nie przechodzi. To rzeczywistość w Rosji (gdzie WireGuard ma około 12% wskaźnika sukcesu), Iranie (98% utraty pakietów) i rosnącej liczbie krajów, w tym Chinach, Egipcie, ZEA, Turcji, Białorusi, Uzbekistanie, Kazachstanie, Mjanmie i Pakistanie.

Tradycyjne alternatywy nie rozwiązują w pełni tego problemu. Shadowsocks to proxy, a nie pełny tunel VPN — twój ruch DNS i nie-TCP nadal będą przeciekać. OpenVPN z obfs4 działa, ale ma około 25% narzutu wydajności. VLESS+Reality oferuje silną obfuskację, ale jest oparte na proxy i skomplikowane w konfiguracji. AmneziaWG wypełnia lukę: jest to pełny tunel VPN z wydajnością na poziomie WireGuard i wbudowaną ochroną przed DPI.
Ten przewodnik przeprowadzi cię przez wdrożenie w pełni funkcjonalnego serwera AmneziaWG 2.0 na dowolnym VPS KVM w mniej niż 15 minut, używając jednego skryptu instalacyjnego społeczności. Na koniec będziesz miał działający tunel VPN, do którego możesz się połączyć z dowolnego urządzenia. Kroki są niezależne od dostawcy — działają na każdym VPS z dostępem SSH i uprawnieniami root, niezależnie od tego, czy pochodzi z AlexHost, AvaHost, czy innego. Jest to napisane dla użytkowników o średnim poziomie umiejętności technicznych, którzy czują się komfortowo pracując z SSH i podstawowymi poleceniami Linuxa.
Jedno wyjaśnienie, zanim zaczniemy: AmneziaWG to protokół. AmneziaVPN to aplikacja kliencka, która się z nim łączy. Są one powiązane, ale różne — jak TLS dla twojej przeglądarki. Będziesz potrzebować aplikacji do połączenia, ale protokół to to, co działa na twoim serwerze.
Ale zanim wdrożymy cokolwiek, musisz zrozumieć, co sprawia, że AmneziaWG różni się od WireGuard — i dlaczego ta różnica ma znaczenie, gdy DPI cię obserwuje.
Czym jest AmneziaWG? (Model mentalny)
WireGuard jest elegancki w swoim designie. Ma małą bazę kodu, używa nowoczesnej kryptografii i działa w jądrze Linuxa dla niemal natywnej wydajności. Ale ta elegancja ma problem z widocznością: każdy pakiet WireGuard niesie ze sobą tę samą stałą strukturę nagłówka, te same stałe rozmiary pakietów i ten sam wzór handshake. Dla systemu głębokiej inspekcji pakietów tunel WireGuard ma podpis tak wyraźny jak kod kreskowy. Gdy urządzenie DPI nauczy się tego podpisu, może odrzucić każdy pakiet bez blokowania portu lub zamykania połączenia.

Pomyśl o tym w ten sposób. WireGuard jest jak kurier, który zawsze nosi ten sam mundur — szybki, niezawodny i wydajny. Ale każdy, kto obserwuje drogę, uczy się rozpoznawać ten mundur i może zatrzymać kuriera przy każdym punkcie kontrolnym. AmneziaWG to ten sam kurier, który przewozi te same paczki, ale zmienia swój mundur przy każdym punkcie kontrolnym. Ta sama osoba, ten sam ładunek, zupełnie inny wygląd.
Historia wersji ma znaczenie. AmneziaWG 1.x wprowadził niestandardowe nagłówki, które różniły się od stałych wartości WireGuard — to pomagało przez jakiś czas, ale systemy DPI się dostosowały. AmneziaWG 2.0, wydany pod koniec 2025 roku, randomizuje wszystko: nagłówki zmieniają się z pakietu na pakiet, wypełnienie różni się z wiadomości na wiadomość, a pakiety zastępcze naśladują inne protokoły przed rozpoczęciem rzeczywistego handshake. Nie ma uniwersalnego podpisu do wykrywania, ponieważ każdy serwer AmneziaWG 2.0 generuje swój unikalny zestaw parametrów. Każdy serwer mówi swoim własnym dialektem.
Gdy wszystkie parametry obfuskacji są ustawione na zero, AmneziaWG zachowuje się identycznie jak WireGuard — jest w pełni zgodny wstecznie na poziomie protokołu. Ale z aktywnymi parametrami (co jest domyślnym ustawieniem) staje się tym, czym WireGuard nie może być: szybkim tunelem VPN, który systemy DPI mają trudności z identyfikacją.
Jak dokładnie AmneziaWG szyfruje swój ruch? Przyjrzyjmy się czterem poziomom obfuskacji, które sprawiają, że DPI jest ślepe — i dlaczego dodają prawie żadnych kosztów prędkości.
Jak AmneziaWG ukrywa się przed DPI (bez utraty prędkości)
AmneziaWG 2.0 używa czterech poziomów obfuskacji, które współpracują ze sobą. Każdy z nich celuje w inny sposób, w jaki systemy DPI identyfikują ruch VPN. Razem sprawiają, że ruch każdego serwera jest unikalny.
Dynamiczne nagłówki (H1–H4)
WireGuard używa stałych 32-bitowych identyfikatorów typu wiadomości:
- 1 — dla inicjacji
- 2 — dla odpowiedzi
- 3 — dla odpowiedzi z ciasteczkiem
- 4 — dla danych
Urządzenie DPI skanujące ruch po prostu szuka tych wartości. AmneziaWG 2.0 zastępuje każdą stałą wartość losową liczbą wybraną z określonego zakresu. Nagłówek inicjacji (H1) może być dowolną wartością od 234567 do 345678. Nagłówek odpowiedzi (H2) może wynosić od 3456789 do 4567890. Te zakresy nigdy się nie pokrywają — protokół nadal musi wewnętrznie odróżniać typy pakietów — ale dla zewnętrznego obserwatora nie ma jednej wartości nagłówka, na którą można się skupić. Każdy pakiet wygląda inaczej niż poprzedni.
Losowe wypełnienie (S1–S4)
Pakiet inicjacyjny WireGuard zawsze ma dokładnie 148 bajtów. Jego odpowiedź zawsze ma dokładnie 92 bajty. Te stałe rozmiary to kolejny odcisk palca. AmneziaWG dodaje losowe wypełnienie do każdego typu pakietu: inicjacja staje się 148+S1 bajtów, odpowiedź staje się 92+S2 bajtów, odpowiedź z ciasteczkiem staje się 64+S3 bajtów, a każdy pakiet danych otrzymuje S4 bajtów wypełnienia. S3 i S4 są nowe w wersji 2.0 — a S4 to najważniejszy dodatek, ponieważ wpływa na każdy pojedynczy pakiet danych, co znacznie utrudnia analizę ruchu na poziomie sesji.
Istnieje jeden krytyczny warunek: S1+56 nie może być równe S2. Ponieważ oryginalna różnica rozmiarów między inicjacją a odpowiedzią wynosi 56 bajtów (148−92), jeśli wartości wypełnienia losowo zrekompensują dokładnie tę różnicę, dwa wypełnione pakiety będą miały ten sam rozmiar — przywracając odcisk palca, którego AmneziaWG stara się pozbyć. Generator parametrów instalatora automatycznie zapewnia ten warunek.
Niestały podpis protokołu (I1–I5)
Przed rozpoczęciem rzeczywistego handshake klient AmneziaWG wysyła do pięciu pakietów zastępczych, które naśladują inne protokoły — QUIC, DNS, SIP lub niestandardowe wzory bajtów. Serwer całkowicie ignoruje te pakiety. Po prostu czeka na prawdziwy handshake.
- Prosta konfiguracja: Wysyła 128 losowych bajtów <r 128>.
- Skonfigurowana konfiguracja: Wysyła bajty, które wyglądają jak inicjowanie połączenia QUIC (<b 0xc000000001><r 64><t>), z czasem Unix.
Dla systemu DPI obserwującego rozpoczęcie sesji, pierwsze pakiety wyglądają jak zwykły ruch internetowy.
Pakiety śmieciowe (Jc, Jmin, Jmax)
Po pakietach zastępczych klient wysyła konfigurowalną liczbę pakietów śmieciowych — czystego szumu o losowych rozmiarach od Jmin do Jmax. Te pakiety rozmywają profil czasowy i rozmiarowy rozpoczęcia sesji, co utrudnia systemom DPI identyfikację, gdzie zaczyna się prawdziwy handshake.
Pytanie o prędkość
W internecie krąży liczba: AmneziaWG ma 65% narzutu. Ta liczba jest prawdziwa, ale odnosi się do implementacji Go w przestrzeni użytkownika — a nie do modułu jądra. Instalator społeczności użyty w tym przewodniku buduje moduł jądra DKMS, a moduł jądra dodaje mniej niż 12% narzutu ogółem — bliżej 3% w rzeczywistych testach. W nieskrępowanej sieci zobaczysz około 95 Mbps przez WireGuard i 92 Mbps przez AmneziaWG 2.0. W sieci z cenzurą porównanie wynosi 92 Mbps w porównaniu do zera.
Poniższa tabela podsumowuje parametry, które instalator generuje automatycznie:
| Parametr | Wygenerowany zakres | Przykładowa wartość |
|---|---|---|
| Jc (liczba pakietów śmieciowych) | 4–8 | 6 |
| Jmin (min. rozmiar śmieci) | 40–89 | 55 |
| Jmax (max. rozmiar śmieci) | Jmin+100 do Jmin+500 | 380 |
| S1 (wypełnienie inicjacyjne) | 15–150 | 72 |
| S2 (wypełnienie odpowiedzi) | 15–150, S1+56≠S2 | 56 |
| S3 (wypełnienie ciasteczka) | 8–55 | 32 |
| S4 (wypełnienie danych) | 4–27 | 16 |
| H1 (zakres nagłówka inicjacji) | uint32 bez nakładania się | 234567-345678 |
| H2 (zakres nagłówka odpowiedzi) | uint32 bez nakładania się | 3456789-4567890 |
| H3 (zakres nagłówka ciasteczka) | uint32 bez nakładania się | 56789012-67890123 |
| H4 (zakres nagłówka danych) | uint32 bez nakładania się | 456789012-567890123 |
| I1 (pakiet CPS) | <r N> format | <r 128> |
Nie musisz ręcznie ustawiać żadnego z tych parametrów. Instalator generuje kryptograficznie losowe wartości, które spełniają ograniczenia za każdym razem.
Teraz, gdy wiesz, jak działa obfuskacja, przyjrzyjmy się, jak AmneziaWG porównuje się do alternatyw, które możesz rozważać.
AmneziaWG vs Alternatywy — Szybki przewodnik po podejmowaniu decyzji

| WireGuard | AmneziaWG 2.0 | OpenVPN+obfs4 | Shadowsocks | VLESS+Reality | |
|---|---|---|---|---|---|
| Odporność na DPI | Niska | Wysoka | Średnia | Średnia | Bardzo wysoka |
| Narzut prędkości | ~4% | <12% (~3% w rzeczywistych warunkach) | ~25% | ~8% | ~10% |
| Pełny tunel VPN | Tak | Tak | Tak | Nie (proxy) | Nie (proxy) |
| Działa w jądrze | Tak | Tak (DKMS) | Nie | Nie | Nie |
| Kompleksowość konfiguracji | Niska | Niska (z instalatorem) | Wysoka | Średnia | Wysoka |
| Transport | UDP | UDP | TCP/UDP | TCP | TCP |
Zasady podejmowania decyzji są proste:
- Brak DPI w twoim kraju? Użyj zwykłego WireGuard. Jest łatwiejszy i ma szerszy ekosystem.
- Potrzebujesz maksymalnej ochrony przed DPI i nie przeszkadzają ci proxy? VLESS+Reality to najsilniejsza opcja obfuskacji, ale nie jest to pełny tunel.
- Chcesz zarówno prędkości, jak i pełnego tunelu z obfuskacją? AmneziaWG 2.0 to jedyna opcja, która oferuje wydajność na poziomie WireGuard z rzeczywistą ochroną przed DPI w pełnym tunelu VPN.
- Już używasz OpenVPN+obfs4 i nadal działa? Nie ma pilnej potrzeby, aby przełączać się, ale AmneziaWG będzie zauważalnie szybszy.
Ten artykuł koncentruje się na AmneziaWG, ponieważ jest to jedyny protokół, który zapewnia ci pełny tunel, wydajność na poziomie jądra i wbudowaną obfuskację — wszystko skonfigurowane za pomocą jednego skryptu.
Jeśli AmneziaWG jest odpowiednim wyborem dla twojej sytuacji, oto co potrzebujesz przed rozpoczęciem wdrożenia.
Co potrzebujesz przed rozpoczęciem
Przed uruchomieniem instalatora upewnij się, że twoje środowisko spełnia te wymagania:
| Wymaganie | Szczegóły | Dlaczego |
|---|---|---|
| OS | Ubuntu 24.04 LTS (czysta instalacja). Ubuntu 25.10 jest eksperymentalne. Debian 12/13 działa, ale może wymagać curl zainstalowanego wcześniej. | Instalator jest testowany i w pełni wspierany na Ubuntu 24.04. |
| Specyfikacje VPS | 1 vCore, 1 GB RAM, 25 GB pamięci. Każdy plan za 3–5 $/miesiąc jest odpowiedni. | Instalator wymaga ~2 GB miejsca na dysku i ~1 GB RAM podczas budowy DKMS. Działający VPN używa minimalnych zasobów. |
| Wirtualizacja | KVM (nie OpenVZ, nie LXC). | AmneziaWG ładuje moduł jądra za pomocą DKMS. LXC korzysta ze współdzielonego jądra hosta i nie może ładować niestandardowych modułów. |
| Dostęp SSH | Użytkownik root lub sudo z autoryzacją hasłem/kluczem. | Instalator musi działać jako root. |
| Port SSH | Domyślny 22 lub wcześniej otwarty w UFW, jeśli używasz niestandardowego portu. | Jeśli SSH nie działa na porcie 22 i nie otworzyłeś go wcześniej, konfiguracja zapory instalatora zablokuje cię. |
| Aplikacja kliencka | Amnezia VPN >= 4.8.12.7 (wszystkie platformy). | Opcje AWG 2.0 nie są rozumiane przez starsze klientów. Standardowy klient WireGuard w ogóle nie obsługuje AWG. |
⚠️ Ostrzeżenie: Kontenery LXC nie są wspierane. Jeśli twój VPS korzysta z wirtualizacji LXC, budowa modułu jądra DKMS zakończy się niepowodzeniem. Musisz używać KVM lub bare-metal. Sprawdź z dostawcą, jeśli nie jesteś pewien.
⚠️ Ostrzeżenie: Jeśli twoje SSH działa na niestandardowym porcie (cokolwiek innego niż 22), musisz otworzyć go w UFW przed uruchomieniem instalatora:
sudo ufw allow YOUR_PORT/tcpZastąp YOUR_PORT swoim rzeczywistym portem SSH. Instalator zawiera UFW z domyślną polityką — jeśli twój port SSH nie jest dozwolony, zostaniesz natychmiast zablokowany.
💡 Wskazówka: Poczekaj 5–10 minut po utworzeniu VPS przed uruchomieniem instalatora. Cloud-init i procesy inicjalizacji w tle mogą kolidować z wywołaniami apt-get, które wykonuje instalator.
Gdy twój VPS jest gotowy, a wymagania potwierdzone, wdrożmy AmneziaWG 2.0 za pomocą skryptu instalacyjnego społeczności — najszybszej i najbardziej przejrzystej metody.
Metoda 1 — Wdrażanie za pomocą instalatora CLI (zalecane)
To główna metoda instalacji. Pobierzesz skrypt instalacyjny z przypisaną wersją, uruchomisz go jako root, przejdziesz przez osiem zautomatyzowanych kroków (z dwoma oczekiwanymi restartami) i zakończysz z w pełni skonfigurowanym serwerem AmneziaWG 2.0. Instalator zajmuje się wszystkim: instalacją pakietów, kompilacją modułu jądra, konfiguracją zapory, generowaniem parametrów i uruchamianiem usługi.
6.1 — Połącz się z VPS przez SSH
Otwórz terminal i połącz się z serwerem:
ssh root@<SERVER_IP>Zastąp <SERVER_IP> rzeczywistym adresem IP publicznym twojego VPS. Jeśli twój dostawca dał ci użytkownika nie-root, zaloguj się tym użytkownikiem, a następnie eskaluj:
ssh <username>@<SERVER_IP>
sudo -iPowinieneś zobaczyć powitanie Ubuntu 24.04, a następnie prompt roota:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#6.2 — Pobierz i uruchom instalator
Pobierz skrypt instalacyjny, nadaj mu uprawnienia do wykonywania i uruchom go:
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.shAdres URL jest przypisany do wersji v5.8.1 — najnowszego wydania z kwietnia 2026 roku. To bezpieczeństwo łańcucha dostaw: zapewnia, że pobrany skrypt odpowiada przetestowanej wersji, nawet jeśli repozytorium zostało zaktualizowane od tego czasu.
Instalator zaczyna od sprawdzenia twojego systemu:
============================================
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 — OKJeśli jakiekolwiek sprawdzenie nie powiedzie się, instalator zatrzymuje się i informuje cię dlaczego. Napraw problem i uruchom polecenie ponownie.
6.3 — Przejdź przez monity instalatora
Instalator to maszyna stanów ośmiostopniowa z obsługą wznowienia po restarcie. Zapisuje swój postęp w /root/awg/setup_state, więc jeśli serwer zrestartuje się, wystarczy ponownie uruchomić to samo polecenie, a on wznowi tam, gdzie przerwał.
Krok 0: Inicjalizacja — Instalator sprawdza twój system operacyjny, typ wirtualizacji, RAM i miejsce na dysku. Tworzy katalog roboczy /root/awg/ i ustawia plik blokady, aby zapobiec równoległym uruchomieniom.
Krok 1: Aktualizacja systemu i instalacja pakietów — Instalator uruchamia
apt-get update && apt-get upgrade -y, a następnie instaluje AmneziaWG, DKMS, nagłówki Linuxa, UFW, Fail2Ban, narzędzia do generowania kodów QR i inne zależności.
📝 Uwaga: Instalator usuwa również kilka usług w tle, które konsumują zasoby na minimalnych instancjach VPS: snapd, modemmanager, networkd-dispatcher, unattended-upgrades, packagekit, lxd-agent-loader i udisks2. To jest zamierzone i bezpieczne.
Gdy Krok 1 zakończy się, instalator poprosi o restart:
Reboot required. Reboot now? [y/n]:Wpisz y i naciśnij Enter. Po ponownym uruchomieniu serwera, zaloguj się ponownie przez SSH i uruchom ponownie to samo polecenie:
sudo bash ./install_amneziawg_en.shSkrypt odczytuje swój zapisany stan i kontynuuje do Kroku 2 bez ponownego zadawania jakichkolwiek pytań.
Krok 2: Budowa modułu jądra DKMS — Instalator kompiluje moduł jądra AmneziaWG w odniesieniu do twojego aktualnego jądra i rejestruje go w DKMS do automatycznej rekompilacji przy przyszłych aktualizacjach jądra:
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.Żądany jest drugi restart. Wpisz y i naciśnij Enter.
📝 Uwaga: Dwa restarty podczas instalacji są normalne i oczekiwane. Pierwszy ładuje nowe nagłówki jądra, drugi aktywuje nowo zbudowany moduł jądra. Skrypt zapisuje stan między restartami — nic nie jest tracone.
Po drugim restarcie, zaloguj się ponownie i uruchom instalator jeszcze raz:
sudo bash ./install_amneziawg_en.shKrok 3: Weryfikacja modułu po restarcie — Skrypt weryfikuje, czy moduł jądra jest załadowany (lsmod | grep amneziawg). Jeśli budowa DKMS nie powiodła się z jakiegokolwiek powodu, przechodzi do implementacji w przestrzeni użytkownika Go z ostrzeżeniem o wyższym narzucie.
Krok 4: Konfiguracja zapory — UFW jest włączone z domyślną polityką odrzucania przychodzących. Instalator dodaje regułę ograniczającą SSH na porcie 22, otwiera twój port VPN dla ruchu UDP i konfiguruje zasady routingu dla interfejsu awg0.
Krok 5: Pobierz skrypty zarządzania — Skrypty zarządzania klientem (manage_amneziawg_en.sh i awg_common_en.sh) są pobierane do /root/awg/ z uprawnieniami tylko dla właściciela (700). Te również są przypisane do wersji v5.8.1.
Krok 6: Interaktywna konfiguracja — Instalator teraz zadaje cztery pytania:
- Port UDP (domyślny: 39743, zakres 1024–65535). Domyślny port to losowy wysoki port — zachowaj go, chyba że twój ISP jest znany z blokowania wysokich portów UDP.
- Podsieć tunelu (domyślny: 10.9.9.1/24). To jest twoja wewnętrzna sieć VPN. Serwer dostaje .1, klienci dostają .2 do .254, wspierając do 253 klientów.
- Wyłącz IPv6 (domyślny: Y). Zalecane — wyłączenie IPv6 zapobiega wyciekom ruchu poza tunel na trasach IPv6.
- Tryb routingu: Wybierz 1 dla całego ruchu, 2 dla Amnezia List + DNS (zalecane) lub 3 dla niestandardowych sieci. Tryb 2 kieruje tylko zablokowane publiczne zakresy IP i DNS przez VPN, utrzymując dostęp do twojej lokalnej sieci szybkim i bezpośrednim.
💡 Wskazówka: MTU jest domyślnie ustawione na 1280. To jest minimalne MTU IPv6 i jest krytyczne dla sieci mobilnych i komórkowych. iOS jest surowy w kwestii odkrywania MTU ścieżki, a sieci komórkowe często mają efektywne MTU poniżej domyślnego WireGuard wynoszącego 1420. Pozostaw to na 1280.
Krok 7: Uruchomienie usługi — Instalator generuje konfigurację serwera w /etc/amnezia/amneziawg/awg0.conf, tworzy dwie domyślne konfiguracje klientów (my_phone i my_laptop) w /root/awg/, generuje kody QR i uruchamia usługę systemd awg-quick@awg0.
Krok 8: Zakończenie — Zobaczysz komunikat o sukcesie:
============================================
AmneziaWG 2.0 installation and configuration completed SUCCESSFULLY!
============================================Instalator generuje wszystkie parametry obfuskacji AmneziaWG 2.0 automatycznie. Nie musisz ich dotykać. Każdy serwer otrzymuje unikalny zestaw wartości — nie ma uniwersalnego odcisku palca, który systemy DPI mogą wykryć.
6.4 — Zarządzanie klientami po instalacji
Skrypt zarządzania w /root/awg/manage_amneziawg.sh obsługuje wszystkie operacje cyklu życia klienta. Oto podstawowe polecenia:
Dodaj nowego klienta:
sudo bash /root/awg/manage_amneziawg.sh add my_desktopTo generuje plik .conf, kod QR i plik .vpnuri dla nowego klienta. Konfiguracja serwera jest na gorąco przeładowywana — nie jest wymagany restart usługi.
Dodaj tymczasowego klienta z automatycznym wygaszeniem:
sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7dZadanie cron sprawdza co pięć minut i automatycznie usuwa klienta, gdy wygasa. Konfiguracja, klucze i wpis serwera są wszystkie usuwane.
Wyświetl wszystkich klientów:
sudo bash /root/awg/manage_amneziawg.sh listClients: 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]
Dodaj flagę -v dla dodatkowych szczegółów, w tym kluczy publicznych i dat utworzenia.
Usuń klienta:
sudo bash /root/awg/manage_amneziawg.sh remove guestSprawdź pełny status serwera:
sudo bash /root/awg/manage_amneziawg.sh checkTo pokazuje stan usługi, otwarty port, wszystkie parametry AWG 2.0, status modułu jądra, status UFW i status Fail2Ban w jednym widoku.
Wyświetl statystyki ruchu dla każdego klienta:
sudo bash /root/awg/manage_amneziawg.sh statsClient 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)
Utwórz kopię zapasową:
sudo bash /root/awg/manage_amneziawg.sh backupTo tworzy skompresowany archiwum w /root/awg/backups/, zawierające konfigurację serwera, konfiguracje klientów, klucze i dane o wygaszeniu.
📝 Uwaga: Polecenia add i remove używają awg syncconf do gorącego przeładowania. Konfiguracja serwera aktualizuje się natychmiast bez restartowania usługi. Używaj restart tylko podczas zmiany parametrów po stronie serwera, takich jak port czy MTU.
6.5 — Sprawdź, czy serwer działa
Przejdź przez te kontrole, aby potwierdzić, że wszystko działa:
Sprawdź usługę 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 UTCZweryfikuj status i parametry AmneziaWG:
sudo awg show awg0Zweryfikuj zaporę:
sudo ufw status verboseStatus: active Default: deny (incoming), allow (outgoing) 22/tcp LIMIT IN Anywhere 39743/udp ALLOW IN Anywhere
Zweryfikuj Fail2Ban:
sudo fail2ban-client status sshdStatus for the jail: sshd |- Filter | |- Currently failed: 0 | `- Total failed: 0 `- Actions |- Currently banned: 0 `- Banned IP list:
Zweryfikuj moduł jądra DKMS:
dkms statusamneziawg/2.0, 6.8.0-xx-generic, x86_64: installed
Jeśli wszystkie pięć kontroli zakończy się sukcesem, twój serwer AmneziaWG 2.0 działa i jest gotowy do przyjęcia połączeń.
Twój serwer działa i został zweryfikowany. Jeśli wolisz podejście oparte na GUI zamiast terminala, oto alternatywna metoda używając aplikacji AmneziaVPN.
Metoda 2 — Wdrażanie za pomocą aplikacji AmneziaVPN (alternatywa)
Aplikacja desktopowa AmneziaVPN może automatycznie zainstalować AmneziaWG na twoim serwerze za pośrednictwem SSH. Używa tego samego podstawowego skryptu instalacyjnego co metoda CLI, ale opakowuje wszystko w przewodnik. To idealne, jeśli chcesz mieć doświadczenie instalacji bez angażowania się.
- Pobierz AmneziaVPN z amnezia.org/en/downloads. Jest dostępna dla Windows, macOS, Linux, Android i iOS.
- Otwórz aplikację i kliknij ➕ (ikona plusa) lub Rozpocznij.
- Wybierz „VPN hostowany samodzielnie” z przedstawionych opcji.
- Wprowadź dane uwierzytelniające serwera:
- Adres IP serwera (i port, jeśli SSH nie jest na 22, np. 203.0.113.10:2221)
- Nazwa użytkownika SSH (np. root)
- Hasło lub klucz prywatny SSH
- Wybierz typ instalacji:
- Automatyczna — instaluje tylko AmneziaWG (zalecane)
- Ręczna — wybierz konkretny protokół z listy
- Kliknij „Zainstaluj” — aplikacja łączy się z twoim serwerem przez SSH i automatycznie uruchamia instalację. Zobaczysz wskaźnik postępu.
- Po instalacji, aplikacja tworzy gotowy do użycia profil połączenia VPN.
Uwagi po instalacji:
- Aplikacja instaluje AmneziaWG z losowym portem domyślnie. Niektórzy dostawcy usług internetowych blokują UDP na wysokich portach. Aplikacja zaleca zmianę na port poniżej 9999 (taki jak 585 lub 1234). Aby go zmienić: kliknij ikonę koła zębatego obok połączenia → zakładka Zarządzanie → zmień numer portu.
- Jeśli twój serwer ma już zainstalowane oprogramowanie Amnezia, kliknij „Pomiń konfigurację” podczas tworzenia połączenia, a następnie użyj „Sprawdź serwer pod kątem wcześniej zainstalowanych usług Amnezia” w zakładce Zarządzanie.
Oto jak obie metody się porównują:
| Aspekt | Instalator CLI | Aplikacja AmneziaVPN |
|---|---|---|
| Kontrola | Pełna — widzisz każdy krok, możesz dostosować | Ograniczona — aplikacja zajmuje się wszystkim |
| Widoczność | Przejrzysta — wszystkie polecenia widoczne | Nieprzejrzysta — działa w tle |
| Elastyczność | Niestandardowe routowanie, punkty końcowe, flagi | Używa tylko domyślnych |
| Łatwość użycia | Wymaga znajomości SSH | Zero pracy w terminalu |
| Zarządzanie | Pełnemanage_amneziawg.sh suite | Tylko zarządzanie oparte na aplikacji |
| Najlepsze dla | Niezarządzany VPS, rozwiązywanie problemów | Szybka konfiguracja, przewodnik |
Bez względu na to, czy użyłeś CLI, czy aplikacji, twój serwer jest gotowy. Teraz połączmy twoje pierwsze urządzenie.
Łączenie pierwszego klienta
Po instalacji masz trzy sposoby na zaimportowanie konfiguracji klienta do aplikacji Amnezia VPN. Wybierz ten, który pasuje do twojego urządzenia.
Metoda A: Kod QR (mobilny)
Instalator wygenerował kod QR w /root/awg/my_phone.png. Pobierz go na swój komputer:
scp root@<SERVER_IP>:/root/awg/my_phone.png .Otwórz plik PNG na swoim ekranie. Na swoim telefonie otwórz aplikację Amnezia VPN, stuknij „Dodaj VPN” → „Skanuj kod QR”, a następnie skieruj aparat na kod QR na swoim ekranie. Połączenie zostanie automatycznie zaimportowane.
Metoda B: vpn:// URI (klient Amnezia)
Wyświetl skompresowany URI na swoim serwerze:
cat /root/awg/my_phone.vpnuriSkopiuj cały ciąg vpn://… i wyślij go do siebie — przez Telegram, e-mail lub aplikację notatek. Na swoim telefonie otwórz aplikację Amnezia VPN, stuknij „Dodaj VPN” → „Wklej z schowka”. Konfiguracja importuje się w jednym kroku.
URI to wersja pełnego pliku konfiguracyjnego skompresowana z użyciem zlib i zakodowana w Base64. Jest kompaktowa i zaprojektowana do szybkiego udostępniania.
Metoda C: Plik .conf (desktop/Windows)
Pobierz plik konfiguracyjny:
scp root@<SERVER_IP>:/root/awg/my_phone.conf .Otwórz klienta AmneziaWG dla Windows lub aplikację AmneziaVPN, kliknij „Importuj tunel(e) z pliku” i wybierz plik .conf.
Zweryfikuj połączenie
Po połączeniu zweryfikuj, czy tunel kieruje twój ruch przez serwer:
curl ifconfig.me
Wynik powinien pokazywać adres IP publiczny twojego serwera, a nie lokalny: 203.0.113.1
Aby uzyskać więcej szczegółów, w tym geograficzną lokalizację serwera:
curl -s https://ipinfo.io/json{
"ip": "203.0.113.1",
"city": "Amsterdam",
"region": "North Holland",
"country": "NL",
...
}⚠️ Ostrzeżenie: Standardowy klient WireGuard nie działa z konfiguracjami AmneziaWG 2.0. Musisz używać aplikacji Amnezia VPN (wersja 4.8.12.7 lub nowsza) lub natywnego klienta AmneziaWG (wersja 2.0.0 lub nowsza na Windows/Android/iOS).
⚠️ Ostrzeżenie: Jeśli zobaczysz „Nieprawidłowy klucz: s3” na Windows, twój klient AmneziaWG dla Windows jest przestarzały (wersja poniżej 2.0.0). Zaktualizuj do wersji 2.0.0+ lub przełącz się na aplikację Amnezia VPN.
💡 Wskazówka: Jeśli jesteś połączony, ale nie masz internetu, sprawdź, czy twoja konfiguracja klienta ma MTU = 1280 w sekcji [Interfejs]. To jest najczęstsza przyczyna „handshake udany, ale brak ruchu” w sieciach mobilnych.
Twój tunel VPN działa. Oto, co możesz zrobić dalej, aby w pełni wykorzystać swoją konfigurację.
Co dalej — Rozszerzanie konfiguracji
Masz teraz tunel VPN odporny na DPI działający na własnym serwerze, pod twoją kontrolą, z prędkością na poziomie WireGuard. Cicha śmierć pakietów, która zabiła twoje połączenie WireGuard, nie jest już problemem — twój ruch wygląda jak nic, co system DPI może niezawodnie zidentyfikować.
Oto najważniejsze rzeczy, które możesz zrobić następnie:
- Dodaj klientów dla swojej rodziny lub zespołu — użyj skryptu zarządzania, aby wygenerować konfiguracje dla każdego urządzenia, które potrzebuje dostępu.
- Skonfiguruj split tunneling, jeśli nie potrzebujesz pełnego routingu tunelowego — utrzymuje lokalny ruch szybkim i zmniejsza przepustowość na twoim VPS.
- Utwórz kopię zapasową swoich konfiguracji — uruchom polecenie kopii zapasowej i przechowuj archiwum w bezpiecznym miejscu. Jeśli twój serwer kiedykolwiek będzie wymagał odbudowy, to uratuje cię przed rozpoczęciem od nowa.
Skonfiguruj split tunneling, jeśli nie potrzebujesz, aby cały ruch był kierowany przez VPN. To jest szczególnie przydatne w krajach z częściową cenzurą — kieruj tylko zablokowane strony przez tunel i utrzymuj lokalny ruch bezpośredni:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"Zmień DNS klienta, jeśli wolisz inne resolver’y:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"Dostosuj PersistentKeepalive, jeśli jesteś na agresywnej konfiguracji NAT. Domyślna wartość 33 sekundy utrzymuje sesję UDP przez NAT — obniżenie jej do 25 może pomóc w sieciach, które szybko zrzucają bezczynne sesje UDP:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25Zainstaluj na swoim routerze, aby uzyskać pokrycie całej sieci. AmneziaWG jest wspierane na routerach Keenetic za pośrednictwem AWG Manager oraz na routerach ASUS działających na Asuswrt-Merlin za pośrednictwem AmneziaWG dla Merlin.
Utwórz kopię zapasową swojej konfiguracji teraz, zanim cokolwiek się zmieni:
sudo bash /root/awg/manage_amneziawg.sh backupJeśli kiedykolwiek będziesz musiał przenieść się na nowy serwer, uruchom świeżą instalację, a następnie:
sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regenPolecenie restore przywraca twoje konfiguracje i klucze, a regen aktualizuje konfiguracje klientów z nowym adresem IP serwera.
Dla głębszej dokumentacji oficjalne dokumenty Amnezia znajdują się na docs.amnezia.org, a społeczność jest aktywna na Telegramie.
Jeśli szukasz niezawodnego VPS do hostowania swojego serwera AmneziaWG — lub potrzebujesz zwiększyć liczbę punktów końcowych dla członków zespołu — AvaHost oferuje wirtualizację KVM z pełnym dostępem root, pamięcią NVMe i wsparciem dla Ubuntu 24.04, które jest wymagane przez tę konfigurację. Ich infrastruktura jest zaprojektowana specjalnie dla tego typu wdrożeń hostowanych samodzielnie, które obejmuje ten przewodnik.


