Bibliotēka Vienkāršas instrukcijas darbam ar Profitserver pakalpojumu
galvenais Bibliotēka AmneziaWG servera izvietošanas rokasgrāmata

AmneziaWG servera izvietošanas rokasgrāmata


Arvien vairāk cilvēku paši izmanto savu VPN, nevis paļaujas uz maksas, gataviem pakalpojumiem: tas ir lētāk, labāk nodrošina privātumu un sniedz pilnīgu servera kontroli. Viena no efektīvākajām iespējām reģioniem ar agresīvu tīkla bloķēšanu ir AmneziaWG — protokols, ko Amnezia projekts izstrādājis uz WireGuard bāzes.

Klasiskais WireGuard ir ātrs un uzticams, taču tam ir fiksēta pakešu struktūra un paredzams saziņas signāls, ko DPI (dziļās pakešu pārbaudes) sistēmas var droši atpazīt un bloķēt. AmneziaWG atrisina šo problēmu: tas pievieno nevēlamas paketes parastajam WireGuard savienojumam, nejauši sadala galvenes un maina saziņas signāla lauku lielumu, tāpēc WireGuard raksturīgais paraksts pazūd un datplūsma vairs neizceļas no parastās UDP datplūsmas.

Vai jau izmantojat klasisko tuneli un domājat, vai ir vērts to pārslēgt? Salīdziniet to ar vienkāršu OpenVPN/PPTP iestatījumu sadaļā VPN servera iestatīšana operētājsistēmā Linux: PPTP vai OpenVPN? vai ar parasto WireGuard (bez maskēšanas) sadaļā Kā iestatīt Wireguard VPN savā serverī.

Šajā rokasgrāmatā AmneziaWG serveris tiek iestatīts manuāli, bez Docker vai tīmekļa paneļa — pēc iespējas mazāks aizņemamais resurss uz paša VPS, pilnībā konfigurēts no komandrindas. Tā ir visvieglākā opcija un labi darbojas budžeta VPS, jo tai nav nepieciešama grafiskā lietotāja saskarne, datubāze un reversais starpniekserveris. Zemāk redzamajā servera piemērā tiek izmantota viettura IP adrese — nomainiet to ar sava VPS adresi visur, kur tā parādās.

Kas jums būs nepieciešams: VPS ar Ubuntu 22.04/24.04 vai Debian 11/12, root piekļuve un jūsu VPS IP adrese. Domēna vārds nav nepieciešams — AmneziaWG neizmanto sertifikātus, tāpēc nav nekā, kas jāatjauno, un DPI nav ko atzīmēt kā TLS rokasspiedienu.

Vēl nav servera? Skatiet sadaļu Kā pasūtīt serveri.

Izveido savienojumu ar serveri

Windows (PuTTY)

Atveriet PuTTY, ievadiet savu VPS IP adresi laukā Host Name, iestatiet portu uz 22 un piesakieties kā root, izmantojot paroli, ko VPS pakalpojumu sniedzējs jums nosūtīja pa e-pastu.

Servera IP adrese: jūsu IP adrese

piesakieties kā: root

Parole: jūsu parole

1. Atveriet PuTTY un ievadiet savu VPS IP adresi laukā Host Name.  

Noklusējuma PuTTY konfigurācijas logs pirms jebkādu savienojuma datu ievadīšanas.

2. Iestatiet portu uz 22. 

Sesija aizpildīta ar VPS IP adresi un 22. portu, un saglabātā sesija “Mans VPS” ir atlasīta un gatava noklikšķināšanai uz “Atvērt”.

3. Ievadiet pieteikšanos kā root. 

Jauns PuTTY termināļa logs, kas atver SSH sesiju un prasa ievadīt pieteikšanās lietotājvārdu.

4. Izmantojot paroli, ko VPS pakalpojumu sniedzējs jums nosūtīja pa e-pastu.

Pēc root ievadīšanas PuTTY pieprasa konta paroli.

Rezultātam jābūt šādam:

Veiksmīga pieteikšanās: Debian dienas ziņojuma baneris, kam seko root čaulas uzvedne (root@copywr:~#).

Detalizētu informāciju par savienojuma izveidi, izmantojot PuTTY/SSH, skatiet sadaļā Kā izveidot savienojumu ar Linux serveri, izmantojot SSH.

Linux/macOS (terminālis)

ssh root@YOUR_SERVER_IP

Visas tālāk norādītās komandas tiek palaistas serverī, šajā pašā SSH sesijā, kas aptver 2.–5. sadaļu, kā arī servera puses pārbaudes 9. sadaļā. 6.–8. sadaļa (VPN klienta instalēšana un konfigurēšana) notiek jūsu pašu Windows/macOS/Linux ierīcē, jo tā ir ierīce, kurā VPN ir jādarbojas; katrā no šīm sadaļām ir skaidri norādīts, kuras rindas, ja tādas ir, joprojām saskaras ar serveri.

Servera sagatavošana

Atjauniniet sistēmu

Pirms jebkādu pakotņu instalēšanas atsvaidziniet pakotņu sarakstu un jauniniet instalētās pakotnes:

apt update -y && apt upgrade -y

Ja tas jaunina kodolu, pirms AmneziaWG kodola moduļa veidošanas 3. sadaļā restartējiet datoru, pretējā gadījumā DKMS var veidot, izmantojot nepareizas kodola galvenes, un modulis neizdosies ielādēt. (Lai atsvaidzinātu zināšanas par apt un to, kā darbojas Linux pakotņu pārvaldnieki, skatiet Linux pakotņu pārvaldnieki .) Pārbaudiet:

cat /var/run/reboot-required
Apt jauninājums lejupielādē jaunu kodola pakotni (linux-image-6.1.0-52-amd64) sistēmas atjaunināšanas laikā. Apt jaunināšanas pabeigšana: initramfs tiek reģenerēts un ietekmētie pakalpojumi tiek restartēti.

Iespējot IP pāradresāciju

Šis iestatījums ļauj serverim pārsūtīt klientu paketes uz internetu — bez tā tunelis tiks izveidots, bet caur to netiks plūstoša datplūsma.

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

Pirmā komanda izveido īpašu konfigurācijas failu; otrā to lieto, nepārstartējot serveri.

sysctl --system piemēro katru sysctl.d konfigurācijas failu, apstiprinot, ka net.ipv4.ip_forward = 1 tagad ir aktīvs.

Ugunsmūra (UFW) konfigurēšana

Lai uzzinātu vairāk par UFW noteikumiem, skatiet sadaļu Ugunsmūra konfigurēšana operētājsistēmā Linux.

Atveriet divus nepieciešamos portus: 22/tcp SSH (izlaidiet šo noteikumu, un jūs riskējat zaudēt piekļuvi serverim) un 42666/udp, portu, kuru klausīsies AmneziaWG.

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

Abiem noteikumiem ufw statusa izvadē vajadzētu parādīties kā ALLOW.

Ufw statuss, kas apstiprina 22/tcp un 42666/udp, ir atļauts gan IPv4, gan IPv6 protokoliem, un ugunsmūris ir aktīvs.

AmneziaWG instalēšana

Debian tieši neatbalsta Ubuntu stila PPA, tāpēc repozitorijs ir jāpievieno manuāli, nevis ar add-apt-repository. Tas darbojas tāpat arī Ubuntu.

Pievienojiet repozitoriju manuāli

Pievienot repozitoriju
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list

Pievienojiet GPG parakstīšanas atslēgu

Izmantojiet dearmored atslēgu saišķa failu novecojušās apt-key komandas vietā un iegūstiet PPA īsto parakstīšanas atslēgu (pirkstu nospiedumu 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

Atjaunināt un instalēt

apt update
apt install -y amneziawg
Apt install -y amneziawg izvade: DKMS veido amneziawg kodola moduli, izmantojot darbojošos kodolu, un pabeidz instalēšanu.

Pārbaudiet, vai modulis ir ielādēts

modprobe amneziawg
lsmod | grep amnezia
Izpildiet komandu Modprobe amneziawg, kam seko lsmod, apstiprinot, ka amneziawg modulis un tā atkarības (curve25519, chacha20poly1305 utt.) ir ielādētas.

Servera un klienta konfigurācijas ģenerēšana

Instalējiet palīgprogrammas

Instalējiet qrcode atkarību, pēc tam izveidojiet īpašu darba direktoriju un lejupielādējiet tajā kopienas konfigurācijas ģeneratora skriptu:

apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
  https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py

Ja python3-qrcode nav pieejams jūsu distribūcijas repozitorijos, atgriezieties pie pip3 install qrcode --break-system-packages (šis karodziņš ir obligāts Debian 12+/Ubuntu 24.04, kas pēc noklusējuma bloķē nepārvaldītas pip instalācijas). Nepalaidiet abas instalācijas — izvēlieties vienu.

Awgcfg.py ir neoficiāls, trešās puses kopienas skripts (ko izstrādājis GitHub lietotājs "remittor"), nevis oficiāls Amnezia projekta rīks. Iepriekš minētais URL norāda uz Gist neapstrādāto saturu bez versijas jaucējkoda, tāpēc tas vienmēr izgūst to, ko autors pēdējo reizi ievietojis — kluss atjauninājums (vai Gist dzēšana) var sabojāt jūsu iestatījumus bez brīdinājuma. Ja iespējams, piespraudiet to konkrētai versijai: atveriet Gist versiju vēsturi, nokopējiet testētās versijas commit jaucējkodu un izmantojiet URL šīs rokasgrāmatas veidlapā. 

Ģenerēt servera konfigurāciju

Izveidojiet /etc/amnezia/amneziawg/awg0.conf. Varat atstāt tuneļa iekšējo apakštīklu un UDP portu noklusējuma vērtībās vai iestatīt savus:

python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
  -i 10.10.8.1/24 -p 42666

Karodziņš -i iestata tuneļa iekšējo tīkla adresi un masku; -p iestata servera UDP portu (to pašu, kas tika atvērts 2.3. darbībā).

Awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf izveide un servera galvenās tīkla saskarnes (ens3) noteikšana.

Izveidojiet klienta konfigurācijas veidni

python3 awgcfg.py --create

Tas saglabā veidni tajā pašā mapē, no kuras tiek veidotas atsevišķas klienta konfigurācijas — tajā jau ir iekļauta servera publiskā atslēga, tā IP adrese un obfuskācijas parametri (Jc, Jmin, Jmax, S1, S2, H1–H4), kas atšķir AmneziaWG no vienkārša WireGuard.

Awgcfg.py --create writing _defclient.config, veidne, no kuras tiks ģenerētas jaunas klienta konfigurācijas.

Pievienot klientus

Izveidojiet vienu ierakstu katrai ierīcei — nosaukums var būt jebkurš, piemēram, ierīces nosaukums:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Awgcfg.py — reģistrējot “klēpjdatora” un “tālruņa” klientus, katram piešķirot savu tuneļa IP adresi (10.10.8.2/32 un 10.10.8.3/32).

Ģenerēt klienta failus un QR kodus

python3 awgcfg.py -c -q

Mapē ~/awg tagad būs tādi faili kā laptop.conf un phone.conf, kā arī atbilstoši PNG QR kodi, kurus var skenēt tieši mobilajā lietotnē.

Šim kopienas skriptam ir zināma īpatnība: tā palaišana var izdzēst citus .init/state failus, kurus, iespējams, esat ievietojis tajā pašā mapē. Saglabājiet ~/awg tikai AmneziaWG failiem un pirms konfigurāciju atkārtotas ģenerēšanas dublējiet servera atslēgas ([Interface] PrivateKey failā awg0.conf) citur.
Ģenerētā laptop.conf faila saturs: klienta adrese, DNS, maskēšanas parametri un [Peer] sadaļa, kas norāda atpakaļ uz serveri.

Mapē ~/awg tagad būs tādi faili kā laptop.conf un phone.conf, kā arī atbilstoši PNG QR kodi, kurus var skenēt tieši mobilajā lietotnē.

Šim kopienas skriptam ir zināma īpatnība: tā palaišana var izdzēst citus .init/state failus, kurus, iespējams, esat ievietojis tajā pašā mapē. Saglabājiet ~/awg tikai AmneziaWG failiem un pirms konfigurāciju atkārtotas ģenerēšanas dublējiet servera atslēgas ([Interface] PrivateKey failā awg0.conf) citur.

Pakalpojuma palaišana un automātiskās palaišanas iespējošana

Atveriet awg0 saskarni un iespējojiet to automātiskai palaišanai pēc pārstartēšanas:

systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]

Statusam vajadzētu rādīt aktīvu (izietu), un ierīcei startēšanas laikā jābūt iespējotai. Ja konsole, šķiet, “uzkaras”, rādot žurnālus, nospiediet Q, lai izietu.

Systemctl statuss, kas apstiprina, ka awg-quick@awg0.service ir aktīvs (izgājis no pakalpojuma) un iespējots, un žurnālā ir iekļautas saskarnes ip/iptables iestatīšanas komandas.

Pārbaudiet aktīvo līdzinieku sarakstu un viena līdzinieka datplūsmu, izmantojot:

awg show
Awg rāda awg0 saskarnes obfuskācijas parametrus un tās divus konfigurētos līdziniekus (klēpjdatoru un tālruni), katram norādot atļauto IP adresi.

Savienojuma izveide no Windows

Viss šajā sadaļā notiek jūsu Windows datorā, nevis caur SSH — VPN klients ir jāinstalē ierīcē, kas faktiski izmantos tuneli. Vienīgais solis, kas skar serveri, ir scp lejupielāde 6.2. versijā, un pat šī komanda tiek ierakstīta jūsu datorā, izvelkot failu, ko serveris jau ir ģenerējis 4. sadaļā.

Instalējiet klientu

AmneziaWG ir īpaša Windows lietotne — tās saskarne atspoguļo standarta WireGuard klientu, taču tā saprot maskēšanas parametrus. Lejupielādējiet instalētāju no projekta oficiālās krātuves:

https://github.com/amnezia-vpn/amneziawg-windows-client/releases

Iepriekš minētā saite ir uzturētā Windows klienta laidienu lapa — lejupielādējiet jaunāko .msi/.exe failu no turienes. Šī ir lapa, kas jāatver pārlūkprogrammā, nevis komanda, kas jāielīmē terminālī.

Palaidiet instalētāju un soli pa solim izpildiet iestatīšanas vedņa norādījumus; noklusējuma iestatījumi nav jāmaina.

Importēt konfigurāciju

Kopējiet klienta konfigurācijas failu no servera uz datoru — vienkāršākais veids ir scp, palaidiet to PowerShell savā datorā, nevis serverī:

Tukša Windows PowerShell uzvedne klienta datorā, kas ir gatava tālāk norādītās scp komandas palaišanai.
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

AmneziaWG lietotnē noklikšķiniet uz "Importēt tuneli(-us) no faila", atlasiet laptop.conf un ieslēdziet slēdzi blakus jaunajam tunelim.

Savienojuma izveide no macOS

Viss šeit notiek jūsu Mac datorā, nevis caur SSH. Zemāk esošā scp rinda tiek ierakstīta Mac datora terminālī, izvelkot konfigurāciju, ko serveris jau ģenerēja 4. sadaļā — tā nedarbojas jūsu VPS saknes SSH sesijā.

Pastāv divas atbalstītas iespējas:

  • AmneziaWG (Mac App Store): viegls klients, kas darbojas operētājsistēmā macOS 12 un jaunākās versijās. App Store meklējiet “AmneziaWG”, instalējiet to, pēc tam izmantojiet “Importēt tuneli(-us) no faila” un atlasiet savu .conf failu — tā pati darbplūsma kā Windows klientam.
  • AmneziaVPN (pilna lietotne, macOS 14+): lejupielādējiet .pkg failu no github.com/amnezia-vpn/amnezia-client/releases/latest, ja vēlaties izmantot pilnvērtīgo Amnezia lietotni, nevis vieglo AmneziaWG klientu.

Ja nepieciešams, vispirms nokopējiet klienta konfigurāciju, tāpat kā 6.2. darbībā:

scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

Savienojuma izveide no Linux

Abas tālāk norādītās opcijas darbojas jūsu Linux galddatorā/klēpjdatorā, t. i., atsevišķā SSH sesijā (vai lokālā čaulā) šajā datorā — nevis VPS root SSH sesijā no 1. sadaļas. Komandas izskatās identiskas servera puses komandām, jo ​​abos galos tiek izmantota viena un tā pati amneziawg-tools pakotne, taču, palaižot tās šeit, klienta tunelis tiek instalēts un palaists jūsu datorā, nevis serverī.

Linux galddatorā vai klēpjdatorā ir divas iespējas:

  • GUI: instalējiet pilno AmneziaVPN darbvirsmas klientu no github.com/amnezia-vpn/amnezia-client/releases un pēc tam importējiet .conf failu tāpat kā operētājsistēmās Windows/macOS.
  • CLI, izmantojot tos pašus amneziawg rīkus, kas tiek izmantoti serverī (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

Palaidiet šo kodu, lai pārtrauktu savienojumu.

awg-quick down awg0 

Lai tunelis tiktu atvērts automātiski pieteikšanās laikā, iespējojiet to kā pakalpojumu:

systemctl enable --now awg-quick@awg0

Savienojuma pārbaude

Kad tunelis ir aktīvs no 6., 7. vai 8. sadaļas, atgriezieties savā ierīcē (nevis SSH sesijā) un pārlūkprogrammā atveriet jebkuru pārbaudītāju “kāda ir mana IP adrese” — parādītajai adresei ir jāatbilst jūsu VPS IP adresei. Lai pārbaudītu no SSH sesijas, serverī palaidiet komandu awg show un pārliecinieties, vai klienta partneris rāda nesenu saziņas savienojumu un datplūsmu, kas nav nulle.

Atsauce:

Lauks

Vērtība

Adrese

JŪSU_TUNEĻA_IP (klienta adrese tuneļa iekšpusē, piemēram, 10.10.8.2/32 — piešķirta automātiski, pievienojot klientu 4.4. darbībā)

Beigu punkts

YOUR_SERVER_IP:42666 (Servera ārējā IP adrese un UDP ports, ar kuru klients izveido savienojumu.)

DNS

8.8.8.8

Jc / Jmin / Jmax

pirms rokasspiediena nosūtīto “nevēlamo” pakešu skaits un lielums — var atšķirties starp serveri un klientu, nepārtraucot savienojumu

S1/S2

Rokasspiediena papildināšanas lauku izmērs — tam jāatbilst baits pa baitam starp serveri un katru klientu

H1 – H4

pakešu tipa galvenes, kas maskē protokolu kā parastu datplūsmu, arī precīzi jāsakrīt un jābūt unikālām vienai no otras

Tikai S1/S2 un H1–H4 ir jābūt identiskiem abos tuneļa galos; Jc, Jmin un Jmax nosaka tikai to, kā katra puse papildina savu izejošo nevēlamo datplūsmu, tāpēc klienta un servera vērtības var pamatoti atšķirties, kā tas ir iepriekš minētajā piemērā.

Secinājumi

Ievērojot šo rokasgrāmatu, jūsu VPS darbojas savs AmneziaWG serveris: ar WireGuard saderīgs protokols ar datplūsmas slēpšanu, ko DPI sistēmām ir ievērojami grūtāk atšķirt no parastās UDP datplūsmas nekā parasto WireGuard datplūsmu. Pakalpojums darbojas kā systemd vienība awg-quick@awg0 un izdzīvo servera pārstartēšanu bez jebkādas jūsu darbības.

Iegūtie .conf faili un QR kodi failā ~/awg darbojas ne tikai ar Windows klientu, bet tos var importēt arī AmneziaWG vai Amnezia lietotnēs operētājsistēmām Android, iOS, macOS un Linux, kā arī Keenetic un OpenWrt maršrutētājos.

Pievienojiet jaunus klientus jebkurā laikā, atkārtojot 4.4.–4.5. darbību (python3 awgcfg.py -a "name", pēc tam awgcfg.py -c -q) un restartējot saskarni ar systemctl restart [email protected].

Daži ieradumi, kas ir vērts ievērot, kad serveris darbojas:

  • Regulāri atjauniniet sistēmas ielāpus. Periodiski atkārtoti palaidiet apt update -y un apt upgrade -y un pēc kodola jaunināšanas pārstartējiet sistēmu, lai DKMS atjaunotu amneziawg moduli atbilstoši jaunajam kodolam.
  • Izveidojiet ~/awg dublējumu. Tajā ir katra klienta privātā atslēga un servera atslēgu pāris failā awg0.conf; tā zaudēšana nozīmē konfigurāciju atkārtotu ģenerēšanu katrai ierīcei.
  • Nekavējoties atsauciet pazaudētās ierīces. Noņemiet atbilstošo [Peer] bloku no /etc/amnezia/amneziawg/awg0.conf un palaidiet systemctl restart. [e-pasts aizsargāts].

Ja savienojums nedarbojas, pārbaudiet darbības šādā secībā:

  • pakalpojuma statuss (systemctl status [e-pasts aizsargāts])
  • ugunsmūra noteikumi (ufw statuss — 42666/udp portam jābūt atvērtam)
  • DKMS/moduļa statuss, ja saskarne pat neieslēdzas (dkms status, lsmod | grep amnezia)
  • Aktīvo līdzinieku saraksts serverī (awg show)
  • ka klienta konfigurācija norāda uz pareizo ārējā servera IP adresi

Vai salīdzināt AmneziaWG ar citām iespējām pirms ieviešanas? Skatiet sadaļu VPN servera iestatīšana operētājsistēmā Linux: PPTP vai OpenVPN? un Kā iestatīt Wireguard VPN savā serverī . Ja jums ir nepieciešams tikai vienkāršs starpniekserveris, nevis pilns VPN tunelis, 3proxy konfigurācija operētājsistēmās CentOS/ArchLinux ir vieglāka alternatīva. Lai iegūtu vispārīgu informāciju par servera aizsardzības nostiprināšanu, kad VPN ir aktivizēts, skatiet sadaļu Linux lietotāji: pārvaldība un atļaujas.

❮ Iepriekšējais raksts Hysteria2 un TUIC iestatīšana
Nākamais raksts ❯ Xray VLESS realitātes ceļvedis: VPS, Windows, Mac, Android, iPhone

Jautājiet mums par VPS

Mēs vienmēr esam gatavi atbildēt uz jūsu jautājumiem jebkurā diennakts laikā.