WireGuard არის თანამედროვე საკომუნიკაციო პროტოკოლი, რომელიც უზრუნველყოფს დაშიფრულ ვირტუალურ კერძო ქსელებს (VPN). OpenVPN-ის ან IPsec-ისგან განსხვავებით, იგი შექმნილია მაღალი წარმადობის, კონფიგურაციის სიმარტივისა და მინიმალური შეტევის ზედაპირის გათვალისწინებით. ChaCha20 და Poly1305 კრიპტოგრაფიული პრიმიტივების გამოყენება უზრუნველყოფს დაშიფვრის მაღალ სიჩქარეს, ხოლო მისი იმპლემენტაცია kernel-space-ში (ბირთვის სივრცეში) ამცირებს დაყოვნებას და კონტექსტის გადართვის დანახარჯებს.
ამ სახელმძღვანელოში განვიხილავთ WireGuard-ის გამართვის ორ მეთოდს GDKHOST-ის ინფრასტრუქტურაზე. ჩვენი სერვერები მუშაობენ KVM ვირტუალიზაციაზე. ეს კრიტიკულად მნიშვნელოვანია WireGuard-ისთვის: პროტოკოლი მუშაობს როგორც Linux-ის ბირთვის მოდული და მხოლოდ KVM უზრუნველყოფს სრულ წვდომას ქსელურ სტეკსა და ბირთვის რესურსებთან, განსხვავებით კონტეინერული იზოლაციისა (OpenVZ/LXC), სადაც ქსელის წარმადობა ხშირად შეზღუდულია.

პროცესის ავტომატიზაციისთვის, ჩვენს მართვის პანელში ხელმისაწვდომია წინასწარ კონფიგურირებული ოპერაციული სისტემის იმიჯი WireGuard-ის გარემოთი.
სერვერის შეკვეთისას და იმიჯის არჩევისას, გადადით "Marketplace" ჩანართზე და ასარჩევად მონიშნეთ იმიჯი სახელწოდებით WireGuard. ამჟამად ხელმისაწვდომია Ubuntu 24.04 LTS-ზე დაფუძნებული შესაბამისი შაბლონი.
ინსტალაციის დასრულების შემდეგ, პირად კაბინეტში საჭიროა 3–5 წუთის მოცდა. გაშვებისთანავე სისტემა ახორციელებს პაკეტების ბაზის ავტომატურ განახლებას და რეპოზიტორიების ინდექსაციას. სკრიპტების გაშვების მცდელობამ ამ პროცესების დასრულებამდე შესაძლოა გამოიწვიოს apt ბლოკირების კონფლიქტი.

დაუკავშირდით სერვერს SSH-ის საშუალებით და გაუშვით ინსტალაციის მასტერი:
wireguard-setupგლობალური IPv4: სკრიპტი ავტომატურად დაადგენს სერვერის საჯარო მისამართს. იგი უნდა დატოვოთ უცვლელად, რადგან მიბმულია თქვენი KVM ინსტანციის ქსელურ ინტერფეისთან.
პორტი და ლოკალური ქსელი: ნაგულისხმევად მასტერი აგენერირებს შემთხვევით UDP პორტს და ლოკალური ქვექსელის დიაპაზონს. თუ არ გაქვთ სპეციფიკური მოთხოვნები ქსელურ არქიტექტურაზე, გირჩევთ დატოვოთ შემოთავაზებული მნიშვნელობები. ეს ამცირებს სერვისის აღმოჩენის ალბათობას სტანდარტული პორტების სკანირებისას.
კლიენტების მართვა: ესავე სკრიპტი გამოიყენება ახალი მომხმარებლების დასამატებლად. დასრულებისას თქვენ მიიღებთ კონფიგურაციის ფაილს და QR-კოდს მობილურ აპლიკაციაში სწრაფი იმპორტისთვის.
თუ გსურთ სრული კონტროლი კონფიგურაციაზე და ქსელური სტეკის მუშაობის გაგება, განახორციელეთ ინსტალაცია ხელით.
განაახლეთ პაკეტების ბაზა და დააინსტალირეთ WireGuard-ის მოდული:
apt update && apt upgrade -y
apt install wireguard -yWireGuard იყენებს Noise პროტოკოლს გასაღებების გასაცვლელად. დააგენერირეთ სერვერის გასაღებების წყვილი:
umask 077
wg genkey | tee /etc/wireguard/private.key | wg pubkey > /etc/wireguard/public.keyშექმენით ფაილი /etc/wireguard/wg0.conf. გარე ინტერფეისის სახელი (მაგალითად, eth0) შეგიძლიათ დააზუსტოთ ბრძანებით ip addr.
[Interface]
PrivateKey = <private.key ფაილის შიგთავსი>
Address = 10.8.0.1/24
ListenPort = 51820
# NAT და ტრაფიკის ფორვარდინგის გამართვა
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADEინტერფეისებს შორის პაკეტების ტრანსლაციისთვის საჭიროა IPv4 მარშრუტიზაციის დაშვება ბირთვის დონეზე. შეიტანეთ ცვლილება /etc/sysctl.conf ფაილში:
net.ipv4.ip_forward=1გამოიყენეთ პარამეტრები: sysctl -p
გახსენით არჩეული UDP პორტი და გაააქტიურეთ სერვისი:
ufw allow 51820/udp
systemctl enable wg-quick@wg0
systemctl start wg-quick@wg0გამოიყენეთ ოფიციალური კლიენტები დესკტოპ (Windows, macOS, Linux) და მობილური (iOS, Android) პლატფორმებისთვის. კლიენტის ტიპური კონფიგურაცია (client.conf):
[Interface]
PrivateKey = <კლიენტის_პრივატული_გასაღები>
Address = 10.8.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <სერვერის_საჯარო_გასაღები>
Endpoint = <სერვერის_IP_მისამართი>:51820
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 20პარამეტრი AllowedIPs = 0.0.0.0/0 მიმართავს კლიენტის მთელ ტრაფიკს დაშიფრული გვირაბის მეშვეობით. PersistentKeepalive უზრუნველყოფს კავშირის სტაბილურობას ქსელების ცვლისას (network roaming) ან მკაცრი NAT-ის უკან ყოფნისას.
სტანდარტულად გამოიყენება 51820/UDP, თუმცა უსაფრთხოების მიზნით, GDKHOST-ზე ავტომატური ინსტალაციისას პორტი ირჩევა შემთხვევით.
დიახ, პროტოკოლი მხარდაჭერილია ბირთვის დონეზე თანამედროვე Keenetic, MikroTik (RouterOS 7+) და OpenWrt-ის ვერსიებში.
სერვერის პირველი ჩართვის შემდეგ, ღრუბლოვანი ინფრასტრუქტურა იწყებს უსაფრთხოების კრიტიკული პაკეტების განახლებას. საჭიროა დაელოდოთ apt ან dpkg პროცესების დასრულებას, რაც დაახლოებით 2-5 წუთს იკავებს.
ხელით კონფიგურაცია უზრუნველყოფს მარშრუტიზაციისა და უსაფრთხოების მექანიზმების ღრმა გაგებას, თუმცა გამზადებული იმიჯის გამოყენება მინიმუმამდე ამცირებს შეცდომების რისკს iptables-ის გამართვისას და ზოგავს დროს. GDKHOST-ის ტექნოლოგიური ბაზა საშუალებას იძლევა გამოიყენოთ WireGuard არხის მაქსიმალური გამტარობით, ვირტუალიზაციის ზედმეტი დანახარჯების გარეშე.
გაუშვით თქვენი VPN სერვერი და უზრუნველყავით მონაცემთა საიმედო დაცვა დღესვე.
WireGuard is a registered trademark of Jason A. Donenfeld.