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.
2. Ibutang ang port sa 22.
3. Isulod ang log in isip root.
4. Gamit ang password nga gipadala sa imong VPS provider pinaagi sa email.
Ang resulta kinahanglan nga ingon niini:
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
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.
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.
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
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
Siguruha nga ang module na-load
modprobe amneziawg
lsmod | grep amnezia
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.
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).
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.
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"
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.
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.
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.
Susiha ang lista sa mga aktibong kauban ug kada kauban gamit ang:
awg show
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:
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
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
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.