Kahibaluan Yano nga mga panudlo sa pagtrabaho kauban ang serbisyo sa Profitserver
Main Kahibaluan Giya sa Pag-deploy sa AmneziaWG Server

Giya sa Pag-deploy sa AmneziaWG Server


Nagkadaghan ang mga tawo nga naggamit sa ilang kaugalingong VPN imbes nga mosalig sa bayad ug andam nang serbisyo: mas barato kini, mas maayo para sa pribasiya, ug naghatag kanimo og bug-os nga kontrol sa server. Usa sa labing epektibo nga mga kapilian para sa mga rehiyon nga adunay agresibo nga network blocking mao ang AmneziaWG, usa ka protocol nga gihimo sa proyekto sa Amnezia dugang sa WireGuard.

Paspas ug kasaligan ang Classic WireGuard, apan kini adunay pirmi nga istruktura sa packet ug matag-an nga handshake, nga ang mga sistema sa DPI (Deep Packet Inspection) kasaligang maka-fingerprint ug maka-block. Gisulbad kini sa AmneziaWG: nagdugang kini og mga junk packet sa ordinaryong koneksyon sa WireGuard, nag-randomize sa mga header, ug nag-usab sa gidak-on sa mga handshake field — aron mawala ang kinaiya nga pirma sa WireGuard ug ang trapiko dili na mobarug gikan sa ordinaryong trapiko sa UDP.

Nagpadagan na ba ka og usa ka klasiko nga tunnel ug naghunahuna kung angayan ba kini nga ilisan? Itandi kini sa usa ka yano nga OpenVPN/PPTP setup sa VPN server setup sa Linux: PPTP o OpenVPN?, o batok sa vanilla WireGuard (walay libog) sa Unsaon pag-set up sa Wireguard VPN sa imong server.

Kini nga giya nag-set up sa usa ka AmneziaWG server pinaagi sa kamot, nga walay Docker o web panel — ang pinakagamay nga posible nga footprint sa VPS mismo, nga hingpit nga gi-configure gikan sa command line. Kini ang pinakagaan nga opsyon ug maayo nga molihok sa usa ka budget VPS, tungod kay wala kini magkinahanglan og GUI, walay database, ug walay reverse proxy. Ang ehemplo sa server sa ubos naggamit og placeholder IP address — ilisi kini sa imong kaugalingong VPS's address bisan asa kini makita.

Ang imong gikinahanglan: usa ka VPS nga nagpadagan sa Ubuntu 22.04/24.04 o Debian 11/12, root access, ug ang IP address sa imong VPS. Dili kinahanglan ang domain name — ang AmneziaWG wala mogamit og mga sertipiko, busa walay i-renew ug walay i-flag sa DPI isip usa ka TLS handshake.

Wala pa kay server? Tan-awa Unsaon pag-order og server

Pagkonektar sa Server

Mga Bintana (PuTTY)

Ablihi ang PuTTY, isulod ang imong VPS IP address sa Host Name field, i-set ang port sa 22, ug mag-log in isip root gamit ang password nga gipadala sa imong VPS provider kanimo pinaagi sa email.

IP address sa server: ang imong IP address

pag-login isip: root

Pasword: imong pasword

1. Ablihi ang PuTTY, isulod ang imong VPS IP address sa Host Name nga field.  

Ang default nga PuTTY Configuration window, sa dili pa isulod ang bisan unsang detalye sa koneksyon.

2. Ibutang ang port sa 22. 

Ang sesyon napuno sa VPS IP address ug port 22, uban ang na-save nga sesyon nga "My VPS" nga napili na ug andam na nga i-klik ang Open.

3. Isulod ang log in isip root. 

Usa ka bag-ong bintana sa PuTTY terminal nga magbukas sa sesyon sa SSH ug mag-aghat sa username sa pag-login.

4. Gamit ang password nga gipadala sa imong VPS provider pinaagi sa email.

Human sa pag-type sa root, ang PuTTY mangayo sa password sa account.

Ang resulta kinahanglan nga ingon niini:

Usa ka malampuson nga pag-login: ang Debian message-of-the-day banner gisundan sa root shell prompt (root@copywr:~#).

Para sa detalyadong giya sa pagkonektar pinaagi sa PuTTY/SSH, tan-awa Unsaon pagkonektar sa usa ka Linux server pinaagi sa SSH.

Linux / macOS (terminal)

ssh root@YOUR_SERVER_IP

Ang tanang mga sugo sa ubos gipadagan sa server, niining samang sesyon sa SSH — nga naglangkob sa Seksyon 2 hangtod 5, dugang sa mga pagsusi sa server-side sa Seksyon 9. Ang mga Seksyon 6–8 (pag-instalar ug pag-configure sa VPN client) mahitabo sa imong kaugalingong Windows/macOS/Linux device, tungod kay mao kana ang device nga kinahanglan gamiton sa VPN; ang matag usa niining mga seksyon klarong nag-ingon kung unsang mga linya, kung aduna man, ang nakahikap gihapon sa server.

Pag-andam sa Server

Pag-update sa sistema

Sa dili pa mag-instalar og bisan unsa, i-refresh ang lista sa pakete ug i-upgrade ang mga naka-install nga pakete:

apt update -y && apt upgrade -y

Kon kini mag-upgrade sa kernel, i-reboot una sa dili pa i-build ang AmneziaWG kernel module sa Seksyon 3, kay kon dili, ang DKMS mahimong mag-build batok sa sayop nga kernel headers ug ang module mapakyas sa pagkarga. (Para sa usa ka refresher sa apt ug kon giunsa pagtrabaho ang mga Linux package manager, tan-awa ang Linux Package Managers .) Susiha uban sa:

cat /var/run/reboot-required
Ang pag-upgrade sa Apt nag-download sa usa ka bag-ong kernel package (linux-image-6.1.0-52-amd64) atol sa pag-update sa sistema. Paghuman sa pag-upgrade sa Apt: ang initramfs gi-regenerate ug ang mga apektadong serbisyo gisugdan pag-usab.

I-enable ang pagpasa sa IP

Kini nga setting nagtugot sa server sa pagpasa sa mga packet sa kliyente ngadto sa internet — kung wala kini, ang tunnel mogawas apan walay trapiko nga moagi niini.

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

Ang unang sugo nagmugna og usa ka gipahinungod nga config file; ang ikaduha nag-apply niini nga dili na kinahanglan nga i-reboot ang server.

sysctl --system nga nag-apply sa matag sysctl.d config file, nga nagpamatuod nga ang net.ipv4.ip_forward = 1 aktibo na karon.

I-configure ang firewall (UFW)

Para sa dugang impormasyon bahin sa mga lagda sa UFW, tan-awa ang Pag-configure sa Firewall sa Linux

Ablihi ang duha ka port nga imong gikinahanglan: 22/tcp para sa SSH (laktawan kini nga lagda ug mameligro ka nga mawad-an og access sa server) ug 42666/udp, ang port nga paminawon sa AmneziaWG.

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

Ang duha ka lagda kinahanglan ipakita isip ALLOW sa ufw status output.

Ang status sa Ufw nga nagkumpirma sa 22/tcp ug 42666/udp gitugotan para sa IPv4 ug IPv6, samtang aktibo ang firewall.

Pag-instalar sa AmneziaWG

Ang Debian dili direktang mosuporta sa mga PPA nga sama sa Ubuntu, busa ang repository kinahanglan nga idugang pinaagi sa kamot imbes nga gamiton ang add-apt-repository. Parehas ra kini og pamaagi sa pagtrabaho sa Ubuntu.

Idugang ang repository nga mano-mano

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

Idugang ang GPG signing key

Gamita ang usa ka dearmored keyring file imbes nga ang wala na gigamit nga apt-key command, ug kuhaa ang tinuod nga signing key sa PPA (fingerprint 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

I-update ug i-install

apt update
apt install -y amneziawg
Apt install -y amneziawg output: Ang DKMS nagtukod sa amneziawg kernel module batok sa nagdagan nga kernel ug nagkompleto sa install.

Siguruha nga ang module na-load

modprobe amneziawg
lsmod | grep amnezia
Modprobe amneziawg gisundan sa lsmod, nga nagpamatuod nga ang amneziawg module ug ang mga dependency niini (curve25519, chacha20poly1305, ug uban pa) na-load na.

Paghimo og Konpigurasyon sa Server ug Kliyente

Pag-instalar og mga helper utilities

I-install ang qrcode dependency, dayon paghimo og dedikado nga working directory ug i-download ang community config-generator script niini:

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

Kon ang python3-qrcode dili magamit sa mga repo sa imong distro, balik sa pip3 install qrcode --break-system-packages (gikinahanglan ang flag sa Debian 12+/Ubuntu 24.04, nga nagbabag sa mga unmanaged pip installs pinaagi sa default). Ayaw padagana ang duha ka installs — pilia ang usa.

Ang Awgcfg.py usa ka dili opisyal, third-party nga community script (sa GitHub user nga "remittor"), dili usa ka opisyal nga Amnezia project tool. Ang URL sa ibabaw nagtudlo sa raw content sa gist nga walay revision hash, busa kanunay kining mokuha sa bisan unsa nga katapusang giduso sa awtor — ang usa ka hilom nga update (o ang pagkatangtang sa gist) mahimong makaguba sa imong setup nga walay pasidaan. Kon mahimo, i-pin kini sa usa ka piho nga revision: ablihi ang revision history sa gist, kopyaha ang commit hash para sa bersyon nga imong nasulayan, ug gamita ang usa ka URL sa porma niini nga giya. 

Paghimo sa pag-configure sa server

Paghimo sa /etc/amnezia/amneziawg/awg0.conf. Mahimo nimong ibilin ang internal subnet ug UDP port sa tunnel sa ilang mga default o i-set ang imong kaugalingon:

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

Ang -i flag nagtakda sa internal network address ug mask sa tunnel; ang -p nagtakda sa UDP port sa server (ang parehas nga giablihan sa lakang 2.3).

Awgcfg.py --make paghimo sa /etc/amnezia/amneziawg/awg0.conf ug pag-detect sa main network interface sa server (ens3).

Paghimo sa template sa client-config

python3 awgcfg.py --create

Kini magtipig og template sa samang folder diin gihimo ang indibidwal nga mga config sa kliyente — apil na niini ang public key sa server, ang IP address niini, ug ang mga parameter sa obfuscation (Jc, Jmin, Jmax, S1, S2, H1–H4) nga nagpalahi sa AmneziaWG gikan sa yano nga WireGuard.

Awgcfg.py --create writing _defclient.config, ang template nga bag-ong client configs mamugna gikan niini.

Idugang ang mga kliyente

Paghimo og usa ka entry kada device — ang ngalan mahimong bisan unsa, pananglitan ang ngalan sa device:

python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
Ang Awgcfg.py - usa ka pagparehistro sa mga kliyente sa "laptop" ug "telepono", nga ang matag usa gihatagan sa kaugalingon nga tunnel IP (10.10.8.2/32 ug 10.10.8.3/32).

Paghimo og mga file sa kliyente ug mga QR code

python3 awgcfg.py -c -q

Ang ~/awg folder karon adunay mga file sama sa laptop.conf ug phone.conf, dugang sa mga katugbang nga PNG QR code nga mahimo nimong i-scan diretso sa usa ka mobile app.

Kini nga community script adunay nailhan nga quirk: ang pagpadagan niini makatangtang sa ubang .init/state files nga imong gibutang sa samang folder. Ibutang ang ~/awg nga gipahinungod lamang sa mga AmneziaWG files, ug i-backup ang mga server key (ang [Interface] PrivateKey sa awg0.conf) sa laing dapit sa dili pa i-regenerate ang mga configs.
Mga sulod sa gihimo nga laptop.conf: ang Address sa kliyente, DNS, mga parameter sa obfuscation, ug ang seksyon nga [Peer] nga nagtudlo balik sa server.

Ang ~/awg folder karon adunay mga file sama sa laptop.conf ug phone.conf, dugang sa mga katugbang nga PNG QR code nga mahimo nimong i-scan diretso sa usa ka mobile app.

Kini nga community script adunay nailhan nga quirk: ang pagpadagan niini makapapas sa ubang .init/state files nga imong gibutang sa samang folder. Ibutang ang ~/awg nga gipahinungod lamang sa mga AmneziaWG files, ug i-backup ang mga server key (ang [Interface] PrivateKey sa awg0.conf) sa laing dapit sa dili pa i-regenerate ang mga configs.

Pagsugod sa Serbisyo ug Pagpagana sa Autostart

Dad-a ang awg0 interface ug i-enable kini nga awtomatikong magsugod sa pag-reboot:

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

Ang status kinahanglan magpakita nga aktibo (migawas) kung ang unit naka-enable sa pag-boot. Kung ang console makita nga "nag-hang" nga nagpakita sa mga log, pindota ang Q aron mogawas.

Ang status sa Systemctl nga nagpamatuod nga ang awg-quick@awg0.service kay aktibo (migawas) ug naka-enable, uban sa ip/iptables setup commands sa interface nga naa sa log.

Susiha ang lista sa mga aktibong kauban ug kada kauban gamit ang:

awg show
Ang Awg nagpakita nga naglista sa mga parameter sa obfuscation sa awg0 interface ug sa duha ka na-configure nga mga kaedad niini (laptop ug telepono), ang matag usa adunay gitugot nga IP.

Pagkonektar gikan sa Windows

Ang tanan niining seksyon mahitabo sa imong Windows PC, dili pinaagi sa SSH — ang VPN client kinahanglan nga ma-install sa device nga aktuwal nga mogamit sa tunnel. Ang bugtong lakang nga makahikap sa server mao ang scp download sa 6.2, ug bisan kana nga sugo gi-type sa imong PC, nga nagkuha sa file nga na-generate na sa server sa Seksyon 4.

I-install ang kliyente

Ang AmneziaWG adunay usa ka dedikado nga Windows app — ang interface niini susama sa standard nga WireGuard client apan nasabtan niini ang mga parameter sa obfuscation. I-download ang installer gikan sa opisyal nga repository sa proyekto:

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

Ang link sa ibabaw mao ang panid sa mga pagpagawas sa gimentinar nga Windows client — i-download ang pinakabag-ong .msi/.exe asset gikan didto. Kini usa ka panid nga ablihan sa imong browser, dili usa ka sugo nga i-paste sa usa ka terminal.

Padagana ang installer ug sunda ang setup wizard; dili kinahanglan nga usbon ang mga default.

I-import ang pag-configure

Kopyaha ang client config file gikan sa server ngadto sa imong kompyuter — ang pinakasayon ​​nga paagi mao ang scp, padagana sa PowerShell sa imong kompyuter, dili sa server:

Usa ka walay sulod nga Windows PowerShell prompt sa client PC, andam na ipadagan ang scp command sa ubos.
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .

Sa AmneziaWG app, i-klik ang "Import tunnel(s) from file", pilia ang laptop.conf, ug i-on ang toggle tupad sa bag-ong tunnel.

Pagkonektar gikan sa macOS

Ang tanan dinhi mahitabo sa imong Mac, dili pinaagi sa SSH. Ang scp line sa ubos gi-type sa kaugalingong Terminal sa Mac, nga nagkuha sa config nga na-generate na sa server sa Section 4 — dili kini modagan sulod sa imong root SSH session sa VPS.

Duha ka gisuportahan nga mga kapilian ang anaa:

  • AmneziaWG (Mac App Store): usa ka gaan nga kliyente, mogana sa macOS 12 ug mas bag-o pa. Pangitaa ang "AmneziaWG" sa App Store, i-install kini, dayon gamita ang "Import tunnel(s) from file" ug pilia ang imong .conf file — parehas nga workflow sa Windows client.
  • AmneziaVPN (kompletong app, macOS 14+): i-download ang .pkg gikan sa github.com/amnezia-vpn/amnezia-client/releases/latest kon mas gusto nimo nga gamiton ang kompletong Amnezia app imbes sa gaan nga AmneziaWG-only client.

Kopyaha una ang config sa kliyente kon gikinahanglan, parehas sa lakang 6.2:

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

Pagkonektar gikan sa Linux

Ang duha ka opsyon sa ubos modagan sa imong Linux desktop/laptop, ie usa ka lahi nga SSH session (o local shell) sa maong makina — dili ang root SSH session sa VPS gikan sa Seksyon 1. Ang mga sugo morag parehas og hitsura sa mga naa sa server-side tungod kay parehas nga amneziawg-tools package ang gigamit sa duha ka tumoy, apan ang pagpadagan niini dinhi mag-install ug magsugod sa usa ka client tunnel sa imong kaugalingong makina, dili sa server.

Sa usa ka Linux desktop o laptop, aduna kay duha ka kapilian:

  • GUI: i-install ang kompletong AmneziaVPN desktop client gikan sa github.com/amnezia-vpn/amnezia-client/releases, dayon i-import ang .conf file sa parehas nga paagi sama sa sa Windows/macOS.
  • CLI, gamit ang parehas nga amneziawg-tools nga gigamit sa server (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0

Padagana kini nga code aron ma-disconnect.

awg-quick down awg0 

Para awtomatikong maablihan ang tunnel inig-login, i-enable kini isip usa ka serbisyo:

systemctl enable --now awg-quick@awg0

Pagpamatuod sa Koneksyon

Uban sa tunnel nga aktibo gikan sa Seksyon 6, 7, o 8, balik sa imong kaugalingong device (dili ang SSH session) ug ablihi ang bisan unsang “what's my IP” checker sa browser — ang address nga gipakita kinahanglan nga motakdo sa IP address sa imong VPS. Aron mapamatud-an gikan sa sulod sa SSH session, ipadagan ang awg show sa server ug kumpirmahi nga ang peer sa kliyente nagpakita og bag-o nga handshake ug non-zero traffic.

Reperensiya:

Field

bili

Address

YOUR_TUNNEL_IP (ang adres sa kliyente sulod sa tunnel, pananglitan 10.10.8.2/32 — awtomatikong gi-assign sa dihang gidugang ang kliyente sa lakang 4.4)

Endpoint

YOUR_SERVER_IP:42666 (Ang external IP address sa server ug ang UDP port diin ang kliyente konektado.)

DNS

8.8.8.8

Jc / Jmin / Jmax

gidaghanon ug gidak-on sa mga "junk" packet nga gipadala sa wala pa ang handshake — mahimong magkalahi tali sa server ug kliyente nga dili maputol ang koneksyon

S1 / S2

gidak-on sa mga field sa padding sa handshake — kinahanglan nga motakdo sa byte-for-byte tali sa server ug sa matag kliyente

H1 – H4

mga header nga tipo sa packet nga nagtabon sa protocol isip ordinaryong trapiko — kinahanglan usab nga motakdo sa eksakto, ug kinahanglan nga talagsaon gikan sa usag usa

Ang S1/S2 ug H1–H4 lang ang kinahanglan nga parehas sa duha ka tumoy sa tunnel; ang Jc, Jmin, ug Jmax kay mahitungod lang sa kung giunsa pag-pad sa matag kilid ang kaugalingon nga outgoing junk traffic, busa ang mga kantidad sa client ug server mahimong lehitimong managlahi, sama sa gipakita sa ehemplo sa ibabaw.

Panapos

Ang pagsunod niining giya magbilin sa imong VPS nga magpadagan sa kaugalingon niining AmneziaWG server: usa ka WireGuard-compatible protocol nga adunay traffic obfuscation nga mas lisod mailhan sa mga DPI system gikan sa ordinaryong UDP traffic kaysa sa ordinaryong WireGuard. Ang serbisyo modagan isip systemd unit nga awg-quick@awg0 ug mabuhi human sa pag-reboot sa server nga walay bisan unsang aksyon sa imong bahin.

Ang resulta nga mga .conf file ug QR code sa ~/awg dili lang mogana sa Windows client apan mahimo usab nga i-import ngadto sa AmneziaWG o Amnezia apps para sa Android, iOS, macOS, ug Linux, ingon man sa Keenetic ug OpenWrt routers.

Pagdugang og bag-ong mga kliyente bisan unsang orasa pinaagi sa pagsubli sa mga lakang 4.4–4.5 (python3 awgcfg.py -a "name", dayon awgcfg.py -c -q) ug pag-restart sa interface gamit ang systemctl restart [email protected].

Pipila ka mga batasan nga angay sundon kung ang server nagdagan na:

  • Ipadayon nga na-patch ang sistema. Padagana pag-usab ang apt update -y && apt upgrade -y matag karon ug unya, ug i-reboot human sa mga pag-upgrade sa kernel aron ang DKMS mo-rebuild sa amneziawg module batok sa bag-ong kernel.
  • I-back up ang ~/awg. Kini nagkupot sa private key sa matag kliyente ug sa kaugalingong key pair sa server sa awg0.conf; ang pagkawala niini nagpasabot sa pag-regenerate sa mga config para sa matag device.
  • Kuhaa dayon ang nawala nga mga device. Kuhaa ang katugbang nga [Peer] block gikan sa /etc/amnezia/amneziawg/awg0.conf ug padagana ang systemctl restart [protektado sa email].

Kon dili mo-connect, susiha ang mosunod nga han-ay:

  • ang kahimtang sa serbisyo (kahimtang sa systemctl [protektado sa email])
  • ang mga lagda sa firewall (ufw status — ang port 42666/udp kinahanglan nga bukas)
  • ang DKMS/module status kon ang interface dili gani magsugod (dkms status, lsmod | grep amnezia)
  • ang lista sa mga aktibong kauban sa server (awg show)
  • nga ang config sa kliyente nagtudlo sa husto nga external server IP address

Pagtandi sa AmneziaWG batok sa ubang mga kapilian sa dili pa mo-commit? Tan-awa ang VPN server setup sa Linux: PPTP o OpenVPN? ug Unsaon pag-set up sa Wireguard VPN sa imong server . Kon kinahanglan lang nimo og simple nga proxy imbes nga kompleto nga VPN tunnel, ang 3proxy configuration sa CentOS/ArchLinux mas gaan nga alternatibo. Para sa kinatibuk-ang pagpalig-on sa server kon ang VPN naa na, tan-awa ang Linux Users: Management and Permissions.

❮ Naunang artikulo Pag-setup sa Hysteria2 ug TUIC
Sunod nga artikulo ❯ Giya sa Kamatuoran sa Xray VLESS: VPS, Windows, Mac, Android, iPhone

Pangutan-a kami bahin sa VPS

Kanunay kaming andam sa pagtubag sa imong mga pangutana bisan unsang orasa sa adlaw o gabii.