სულ უფრო მეტი ადამიანი იყენებს საკუთარ VPN-ს ფასიან, მზა სერვისებზე დაყრდნობის ნაცვლად: ის უფრო იაფია, უკეთესია კონფიდენციალურობისთვის და გაძლევთ სერვერის სრულ კონტროლს. ერთ-ერთი ყველაზე ეფექტური ვარიანტი აგრესიული ქსელის ბლოკირების მქონე რეგიონებისთვის არის AmneziaWG, პროტოკოლი, რომელიც შემუშავებულია Amnezia პროექტის მიერ WireGuard-ზე დაყრდნობით.
კლასიკური WireGuard სწრაფი და საიმედოა, მაგრამ მას აქვს ფიქსირებული პაკეტის სტრუქტურა და პროგნოზირებადი ხელის შეხება, რომლის DPI (Deep Packet Inspection) სისტემებს შეუძლიათ საიმედოდ ამოიცნონ და დაბლოკონ. AmneziaWG წყვეტს ამ პრობლემას: ის ჩვეულებრივ WireGuard კავშირს უმატებს არასასურველ პაკეტებს, შემთხვევითობის პრინციპით ანაწილებს სათაურებს და ცვლის ხელის შეხების ველების ზომას - ამგვარად, WireGuard-ის დამახასიათებელი ხელმოწერა ქრება და ტრაფიკი აღარ გამოირჩევა ჩვეულებრივი UDP ტრაფიკისგან.
უკვე იყენებთ კლასიკურ გვირაბს და ფიქრობთ, ღირს თუ არა მასზე გადასვლა? შეადარეთ ეს Linux-ზე VPN სერვერის დაყენების მარტივ OpenVPN/PPTP კონფიგურაციას: PPTP თუ OpenVPN?, ან სტანდარტულ WireGuard-ს (დაბნევის გარეშე) განყოფილებას, თუ როგორ დააყენოთ Wireguard VPN თქვენს სერვერზე.
ეს სახელმძღვანელო AmneziaWG სერვერის დაყენებას ხელით, Docker-ის ან ვებ პანელის გარეშე უზრუნველყოფს — ეს VPS-ზე ყველაზე მცირე შესაძლო დატვირთვაა, რომელიც მთლიანად ბრძანების ხაზიდან კონფიგურირდება. ეს ყველაზე მსუბუქი ვარიანტია და კარგად მუშაობს ბიუჯეტურ VPS-ზე, რადგან მას არ სჭირდება გრაფიკული ინტერფეისი, მონაცემთა ბაზა და უკუ პროქსი. ქვემოთ მოცემული სერვერის მაგალითი იყენებს ჩანაცვლებით IP მისამართს — შეცვალეთ იგი თქვენი VPS-ის მისამართით, სადაც ის გამოჩნდება.
რა დაგჭირდებათ: Ubuntu 22.04/24.04 ან Debian 11/12 ვერსიის მქონე VPS, root წვდომა და თქვენი VPS-ის IP მისამართი. დომენის სახელი საჭირო არ არის — AmneziaWG არ იყენებს სერტიფიკატებს, ამიტომ არაფერია გასანახლებელი და არაფერია DPI-სთვის TLS handshake-ად მონიშვნისთვის.
ჯერ არ გაქვთ სერვერი? იხილეთ როგორ შეუკვეთოთ სერვერი
სერვერთან დაკავშირება
Windows (PuTTY)
გახსენით PuTTY, შეიყვანეთ თქვენი VPS IP მისამართი Host Name ველში, დააყენეთ პორტი 22-ზე და შედით root-ად თქვენი VPS პროვაიდერის მიერ ელექტრონული ფოსტით გამოგზავნილი პაროლის გამოყენებით.
სერვერის IP მისამართი: თქვენი IP მისამართი
შესვლა როგორც: root
პაროლი: თქვენი პაროლი
1. გახსენით PuTTY, შეიყვანეთ თქვენი VPS IP მისამართი Host Name ველში.
2. პორტი დააყენეთ 22-ზე.
3. შეიყვანეთ root-ის სახელით შესვლა.
4. თქვენი VPS პროვაიდერის მიერ ელექტრონული ფოსტით გამოგზავნილი პაროლის გამოყენებით.
შედეგი უნდა იყოს შემდეგი:
PuTTY/SSH-ის საშუალებით დაკავშირების დეტალური ინსტრუქციისთვის იხილეთ როგორ დავუკავშირდეთ Linux სერვერს SSH-ის საშუალებით.
Linux / macOS (ტერმინალი)
ssh root@YOUR_SERVER_IP
ქვემოთ მოცემული ყველა ბრძანება სრულდება სერვერზე, იმავე SSH სესიაზე — რომელიც მოიცავს მე-2-დან მე-5 სექციებამდე, პლუს სერვერის მხარის შემოწმებებს მე-9 სექციიდან. სექციები 6–8 (VPN კლიენტის ინსტალაცია და კონფიგურაცია) ხორციელდება თქვენს საკუთარ Windows/macOS/Linux მოწყობილობაზე, რადგან ეს არის მოწყობილობა, რომელზეც VPN უნდა იმუშაოს; თითოეული ეს სექციიდან ნათლად არის მითითებული, თუ რომელი ხაზები, თუ საერთოდ არსებობს, კვლავ ეხება სერვერს.
სერვერის მომზადება
სისტემის განახლება
ნებისმიერი რამის ინსტალაციამდე, განაახლეთ პაკეტების სია და განაახლეთ დაინსტალირებული პაკეტები:
apt update -y && apt upgrade -y
თუ ეს განაახლებს ბირთვს, გადატვირთეთ კომპიუტერი მე-3 ნაწილში მოცემული AmneziaWG ბირთვის მოდულის აწყობამდე, წინააღმდეგ შემთხვევაში DKMS-მა შეიძლება არასწორი ბირთვის სათაურების გამოყენებით ააგოს და მოდული ვერ ჩაიტვირთოს. (apt-ის და Linux-ის პაკეტების მენეჯერების მუშაობის შესახებ ინფორმაციისთვის იხილეთ Linux-ის პაკეტების მენეჯერები .) შეამოწმეთ:
cat /var/run/reboot-required
IP გადამისამართების ჩართვა
ეს პარამეტრი სერვერს საშუალებას აძლევს, კლიენტების პაკეტები ინტერნეტში გადაამისამართოს — მის გარეშე გვირაბი გამოჩნდება, მაგრამ მასში ტრაფიკი არ გაივლის.
echo "net.ipv4.ip_forward = 1" > /etc/sysctl.d/00-amnezia.conf
sysctl --system
პირველი ბრძანება ქმნის სპეციალურ კონფიგურაციის ფაილს; მეორე იყენებს მას სერვერის გადატვირთვის გარეშე.
firewall-ის (UFW) კონფიგურაცია
UFW წესების შესახებ დამატებითი ინფორმაციისთვის იხილეთ Linux-ზე Firewall-ის კონფიგურაცია.
გახსენით ორი საჭირო პორტი: 22/tcp SSH-ისთვის (თუ ამ წესს გამოტოვებთ, სერვერზე წვდომას დაკარგავთ) და 42666/udp, პორტი, რომელსაც AmneziaWG მოუსმენს.
apt install ufw -y
ufw allow 22/tcp
ufw allow 42666/udp
ufw --force enable
ufw status
ორივე წესი ufw სტატუსის გამომავალში უნდა გამოჩნდეს, როგორც ALLOW.
AmneziaWG-ის ინსტალაცია
Debian პირდაპირ არ უჭერს მხარს Ubuntu-ს სტილის PPA-ებს, ამიტომ რეპოზიტორი ხელით უნდა დაემატოს და არა add-apt-repository-ის გამოყენებით. ეს Ubuntu-ზეც იგივე პრინციპით მუშაობს.
დაამატეთ რეპოზიტორი ხელით
echo "deb [arch=amd64] https://ppa.launchpadcontent.net/amnezia/ppa/ubuntu jammy main" > /etc/apt/sources.list.d/amnezia.list
დაამატეთ GPG ხელმოწერის გასაღები
მოძველებული apt-key ბრძანების ნაცვლად გამოიყენეთ ძვირფასი გასაღების ფაილი და მიიღეთ PPA-ს რეალური ხელმოწერის გასაღები (თითის ანაბეჭდი 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
განახლება და ინსტალაცია
apt update
apt install -y amneziawg
შეამოწმეთ მოდულის ჩატვირთვა
modprobe amneziawg
lsmod | grep amnezia
სერვერისა და კლიენტის კონფიგურაციის გენერირება
დამხმარე პროგრამების ინსტალაცია
დააინსტალირეთ qrcode დამოკიდებულება, შემდეგ შექმენით სპეციალური სამუშაო დირექტორია და გადმოწერეთ მასში საზოგადოების კონფიგურაციის გენერატორის სკრიპტი:
apt install -y python3-qrcode
mkdir -p ~/awg && cd ~/awg
wget -O awgcfg.py \
https://gist.githubusercontent.com/remittor/8c3d9ff293b2ba4b13c367cc1a69f9eb/raw/awgcfg.py
თუ python3-qrcode არ არის ხელმისაწვდომი თქვენი დისტრიბუციის საცავებში, გამოიყენეთ pip3 install qrcode --break-system-packages (დროგა აუცილებელია Debian 12+/Ubuntu 24.04-ზე, რომელიც ნაგულისხმევად ბლოკავს არამართულ pip ინსტალაციებს). არ გაუშვათ ორივე ინსტალაცია — აირჩიეთ ერთი.
სერვერის კონფიგურაციის გენერირება
შექმენით /etc/amnezia/amneziawg/awg0.conf ფაილი. შეგიძლიათ გვირაბის შიდა ქვექსელი და UDP პორტი ნაგულისხმევ პარამეტრებზე დატოვოთ ან საკუთარი პარამეტრები დააყენოთ:
python3 awgcfg.py --make /etc/amnezia/amneziawg/awg0.conf \
-i 10.10.8.1/24 -p 42666
-i დროშა ადგენს გვირაბის შიდა ქსელის მისამართს და ნიღაბს; -p ადგენს სერვერის UDP პორტს (იგივეს, რომელიც გაიხსნა 2.3 ნაბიჯში).
შექმენით კლიენტის კონფიგურაციის შაბლონი
python3 awgcfg.py --create
ეს შაბლონს იმავე საქაღალდეში ინახავს, საიდანაც ინდივიდუალური კლიენტის კონფიგურაციებია აგებული — ის უკვე შეიცავს სერვერის საჯარო გასაღებს, მის IP მისამართს და დაბინდვის პარამეტრებს (Jc, Jmin, Jmax, S1, S2, H1–H4), რომლებიც განასხვავებენ AmneziaWG-ს ჩვეულებრივი WireGuard-ისგან.
კლიენტების დამატება
შექმენით ერთი ჩანაწერი თითო მოწყობილობაზე — სახელი შეიძლება იყოს ნებისმიერი, მაგ. მოწყობილობის სახელი:
python3 awgcfg.py -a "laptop"
python3 awgcfg.py -a "phone"
კლიენტის ფაილების და QR კოდების გენერირება
python3 awgcfg.py -c -q
~/awg საქაღალდე ახლა შეიცავს ფაილებს, როგორიცაა laptop.conf და phone.conf, ასევე შესაბამის PNG QR კოდებს, რომელთა სკანირებაც პირდაპირ მობილურ აპლიკაციაში იქნება შესაძლებელი.
~/awg საქაღალდე ახლა შეიცავს ფაილებს, როგორიცაა laptop.conf და phone.conf, ასევე შესაბამის PNG QR კოდებს, რომელთა სკანირებაც პირდაპირ მობილურ აპლიკაციაში იქნება შესაძლებელი.
სერვისის გაშვება და ავტომატური გაშვების ჩართვა
გახსენით awg0 ინტერფეისი და ჩართეთ მისი ავტომატური ჩართვა გადატვირთვისას:
systemctl enable --now awg-quick@awg0
systemctl restart [email protected]
systemctl status [email protected]
სტატუსმა უნდა აჩვენოს აქტიური (გამორთული) მოწყობილობა ჩართული ჩატვირთვისას. თუ კონსოლი „გაჩერებულია“ ჟურნალების ჩვენებით, გასასვლელად დააჭირეთ Q-ს.
შეამოწმეთ აქტიური თანატოლების სია და თითოეული თანატოლის ტრაფიკი შემდეგით:
awg show
Windows-დან დაკავშირება
ამ განყოფილებაში ყველაფერი თქვენს Windows კომპიუტერზე ხდება და არა SSH-ის საშუალებით — VPN კლიენტი უნდა იყოს დაინსტალირებული მოწყობილობაზე, რომელიც რეალურად გამოიყენებს გვირაბს. სერვერთან დაკავშირებული ერთადერთი ნაბიჯი არის scp ჩამოტვირთვა 6.2 ვერსიაში და ეს ბრძანებაც კი აკრეფილია თქვენს კომპიუტერზე, რომელიც იღებს ფაილს, რომელიც სერვერმა უკვე გენერირებული იყო მე-4 განყოფილებაში.
დააინსტალირეთ კლიენტი
AmneziaWG-ს აქვს Windows-ის სპეციალური აპლიკაცია — მისი ინტერფეისი ასახავს სტანდარტულ WireGuard კლიენტს, მაგრამ ესმის დაბნევის პარამეტრები. ჩამოტვირთეთ ინსტალერი პროექტის ოფიციალური საცავიდან:
https://github.com/amnezia-vpn/amneziawg-windows-client/releases
ზემოთ მოცემული ბმული წარმოადგენს Windows კლიენტის განახლებული ვერსიების გვერდს — იქიდან ჩამოტვირთეთ უახლესი .msi/.exe ფაილი. ეს არის გვერდი, რომელიც უნდა გახსნათ თქვენს ბრაუზერში და არა ბრძანება ტერმინალში ჩასასმელად.
გაუშვით ინსტალერი და ეტაპობრივად გაიარეთ დაყენების ოსტატი; ნაგულისხმევი პარამეტრების შეცვლა საჭირო არ არის.
კონფიგურაციის იმპორტი
კლიენტის კონფიგურაციის ფაილი სერვერიდან თქვენს კომპიუტერში დააკოპირეთ — უმარტივესი გზაა scp, გაუშვით PowerShell-ში თქვენს კომპიუტერზე და არა სერვერზე:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
AmneziaWG აპლიკაციაში დააწკაპუნეთ „ფაილიდან გვირაბის(ების) იმპორტი“, აირჩიეთ laptop.conf და ჩართეთ გადამრთველი ახალი გვირაბის გვერდით.
macOS-დან დაკავშირება
არსებობს ორი მხარდაჭერილი ვარიანტი:
- AmneziaWG (Mac App Store): მსუბუქი კლიენტი, მუშაობს macOS 12-ზე და უფრო გვიანდელ ვერსიებზე. App Store-ში მოძებნეთ „AmneziaWG“, დააინსტალირეთ, შემდეგ გამოიყენეთ „ფაილიდან გვირაბის(ების) იმპორტი“ და აირჩიეთ თქვენი .conf ფაილი — იგივე სამუშაო პროცესი, რაც Windows კლიენტს.
- AmneziaVPN (სრული აპლიკაცია, macOS 14+): თუ გსურთ გამოიყენოთ სრულფუნქციური Amnezia აპლიკაცია მსუბუქი AmneziaWG-სთვის განკუთვნილი კლიენტის ნაცვლად, ჩამოტვირთეთ .pkg ფაილი github.com/amnezia-vpn/amnezia-client/releases/latest-დან.
საჭიროების შემთხვევაში, ჯერ კლიენტის კონფიგურაცია დააკოპირეთ, ისევე როგორც 6.2 ნაბიჯში:
scp root@YOUR_SERVER_IP:~/awg/laptop.conf .
Linux-დან დაკავშირება
Linux-ის დესკტოპზე ან ლეპტოპზე ორი ვარიანტი გაქვთ:
- გრაფიკული ინტერფეისი: დააინსტალირეთ AmneziaVPN-ის სრული დესკტოპ კლიენტი github.com/amnezia-vpn/amnezia-client/releases-დან, შემდეგ იმპორტირეთ .conf ფაილი ისევე, როგორც Windows/macOS-ზე.
- CLI, სერვერზე გამოყენებული იგივე amneziawg ინსტრუმენტების გამოყენებით (awg / awg-quick):
apt install -y amneziawg
cp laptop.conf /etc/amnezia/amneziawg/awg0.conf
awg-quick up awg0
გათიშვისთვის გაუშვით ეს კოდი.
awg-quick down awg0
შესვლისას გვირაბის ავტომატურად გასაშვებად, ჩართეთ ის, როგორც სერვისი:
systemctl enable --now awg-quick@awg0
კავშირის შემოწმება
მე-6, მე-7 ან მე-8 სექციიდან გვირაბის აქტიური გახსნის შემდეგ, დაბრუნდით თქვენს მოწყობილობაზე (და არა SSH სესიაზე) და ბრაუზერში გახსენით ნებისმიერი „რა არის ჩემი IP“ შემოწმება — ნაჩვენები მისამართი უნდა ემთხვეოდეს თქვენი VPS-ის IP მისამართს. SSH სესიიდან დასადასტურებლად, სერვერზე გაუშვით awg show და დაადასტურეთ, რომ კლიენტის peer აჩვენებს ბოლოდროინდელ handshake-ს და არანულოვან ტრაფიკს.
ცნობისთვის:
|
საველე |
ღირებულება |
|
მისამართი |
YOUR_TUNNEL_IP (კლიენტის მისამართი გვირაბში, მაგ. 10.10.8.2/32 — ავტომატურად ენიჭება კლიენტის 4.4 ეტაპზე დამატებისას) |
|
საბოლოო წერტილი |
YOUR_SERVER_IP:42666 (სერვერის გარე IP მისამართი და UDP პორტი, რომელთანაც კლიენტი უკავშირდება.) |
|
DNS |
8.8.8.8 |
|
Jc / Jmin / Jmax |
„ხელის შეკავებამდე“ გაგზავნილი „უსარგებლო“ პაკეტების რაოდენობა და ზომა — შეიძლება განსხვავდებოდეს სერვერსა და კლიენტს შორის კავშირის გაწყვეტის გარეშე. |
|
S1 / S2 |
ხელის შეხების შევსების ველების ზომა — სერვერსა და ყველა კლიენტს შორის ბაიტის ზომა უნდა ემთხვეოდეს |
|
H1 – H4 |
პაკეტის ტიპის სათაურები, რომლებიც პროტოკოლს ჩვეულებრივ ტრაფიკად ნიღბავენ — ასევე ზუსტად უნდა ემთხვეოდეს ერთმანეთს და ერთმანეთისგან უნიკალური უნდა იყოს. |
მხოლოდ S1/S2 და H1–H4 უნდა იყოს იდენტური გვირაბის ორივე ბოლოში; Jc, Jmin და Jmax ეხება იმას, თუ როგორ ავსებს თითოეული მხარე საკუთარ გამავალ არასასურველ ტრაფიკს, ამიტომ კლიენტისა და სერვერის მნიშვნელობები შეიძლება ლეგიტიმურად განსხვავდებოდეს, როგორც ეს ზემოთ მოცემულ მაგალითშია ნაჩვენები.
დასკვნა
ამ სახელმძღვანელოს შესრულების შემთხვევაში, თქვენი VPS საკუთარ AmneziaWG სერვერს გაუშვებს: WireGuard-თან თავსებადი პროტოკოლი ტრაფიკის დაბინდვით, რომლის გარჩევა DPI სისტემებისთვის ჩვეულებრივი UDP ტრაფიკისგან შესამჩნევად რთულია, ვიდრე ჩვეულებრივი WireGuard-ის. სერვისი მუშაობს როგორც systemd ერთეული awg-quick@awg0 და გადაურჩება სერვერის გადატვირთვას თქვენი მხრიდან რაიმე ქმედების გარეშე.
შედეგად მიღებული .conf ფაილები და QR კოდები ~/awg-ში არა მხოლოდ Windows კლიენტთან მუშაობს, არამედ მათი იმპორტირება შესაძლებელია AmneziaWG ან Amnezia აპლიკაციებში Android, iOS, macOS და Linux-ისთვის, ასევე Keenetic და OpenWrt როუტერებისთვის.
ახალი კლიენტების დასამატებლად ნებისმიერ დროს გამოიყენეთ 4.4–4.5 ნაბიჯების გამეორება (python3 awgcfg.py -a "name", შემდეგ awgcfg.py -c -q) და ინტერფეისის გადატვირთვა systemctl restart [email protected] ბრძანებით.
რამდენიმე ჩვევა, რომელთა დაცვაც ღირს სერვერის გაშვების შემდეგ:
- სისტემა განახლების რეჟიმში შეინახეთ. პერიოდულად ხელახლა გაუშვით apt update -y && apt upgrade -y და გადატვირთეთ ბირთვის განახლების შემდეგ, რათა DKMS-მა ხელახლა ააწყოს amneziawg მოდული ახალი ბირთვის მიხედვით.
- შექმენით ~/awg-ის სარეზერვო ასლი. ის awg0.conf-ში ინახავს ყველა კლიენტის პირად გასაღებს და სერვერის საკუთარ გასაღებების წყვილს; მისი დაკარგვა ნიშნავს ყველა მოწყობილობის კონფიგურაციების ხელახლა გენერირებას.
- დაკარგული მოწყობილობების დაუყოვნებლივ გაუქმება. წაშალეთ შესაბამისი [Peer] ბლოკი /etc/amnezia/amneziawg/awg0.conf-დან და გაუშვით systemctl restart. [ელ.ფოსტით დაცულია].
თუ კავშირი არ არის, შეამოწმეთ თანმიმდევრობით:
- სერვისის სტატუსი (systemctl სტატუსი [ელ.ფოსტით დაცულია])
- firewall-ის წესები (ufw სტატუსი — პორტი 42666/udp ღია უნდა იყოს)
- DKMS/მოდულის სტატუსი, თუ ინტერფეისი საერთოდ არ ირთვება (dkms სტატუსი, lsmod | grep amnezia)
- სერვერზე აქტიური თანატოლების სია (awg show)
- რომ კლიენტის კონფიგურაცია მიუთითებს სწორ გარე სერვერის IP მისამართზე
გსურთ AmneziaWG-ის სხვა ვარიანტებთან შედარება დადასტურებამდე? იხილეთ VPN სერვერის დაყენება Linux-ზე: PPTP თუ OpenVPN? და როგორ დავაყენოთ Wireguard VPN თქვენს სერვერზე . თუ სრული VPN გვირაბის ნაცვლად მხოლოდ მარტივი პროქსი გჭირდებათ, CentOS/ArchLinux-ზე 3proxy კონფიგურაცია უფრო მსუბუქი ალტერნატივაა. VPN-ის გააქტიურების შემდეგ სერვერის ზოგადი გამყარებისთვის იხილეთ Linux-ის მომხმარებლები: მართვა და ნებართვები.