Wolkra

Bələdçilər

WireGuard VPN serverinin quraşdırılması

Ubuntu 24.04 və ya Debian 12-də WireGuard VPN serveri qurun: açarlar, wg0 konfiqurasiyası, IP yönləndirmə, NAT, firewall və telefonlar və noutbuklar üçün müştəri konfiqurasiyaları.

Yenilənib: 4 dəq oxu

WireGuard VPN serveri qurmaq üçün wireguard paketini quraşdırın, server və hər müştəri üçün açar cütü yaradın, şəxsi alt şəbəkə ilə /etc/wireguard/wg0.conf faylını yazın, IP yönləndirməni və NAT-ı aktivləşdirin, bir UDP portu açın və wg-quick@wg0 xidmətini işə salın. Ubuntu 24.04 və ya Debian 12-də bu, təxminən on dəqiqə çəkir.

WireGuard kiçik, sürətli və Linux nüvəsinə daxil edilmiş VPN-dir. Alman çıxışlı şəxsi VPN, şirkət şəbəkəsinə uzaqdan giriş və ya serverlərin əlaqələndirilməsi üçün yaxşı uyğundur.

Nə lazımdır

  • İctimai IPv4 ünvanı olan VPS (IPv6 bonusdur). 1 vCPU / 1 GB plan tamamilə kifayətdir. Frankfurt VPS bütün Avropada aşağı gecikmə verir.
  • Root və ya sudo girişi.
  • Hər müştəridə WireGuard tətbiqi: Windows, macOS, Linux, Android və ya iOS.

Nümunələrdə:

Element Nümunə dəyər
Serverin ictimai ünvanı 203.0.113.10
VPN alt şəbəkəsi 10.8.0.0/24
Serverin tunel ünvanı 10.8.0.1
Birinci müştəri 10.8.0.2
UDP portu 51820

Onları öz dəyərlərinizlə əvəz edin. Qısa yola üstünlük verirsiniz? Wolkra-da server yaradarkən WireGuard bir kliklə tətbiqini seçin və birbaşa 7-ci addıma keçin.

1. WireGuard-ı quraşdırın

bash
sudo apt update
sudo apt install -y wireguard qrencode

qrencode müştəri konfiqurasiyalarını telefonlar üçün QR kod şəklində göstərməyə imkan verir.

2. Server açarlarını yaradın

bash
sudo -i
cd /etc/wireguard
umask 077
wg genkey | tee server.key | wg pubkey > server.pub

umask 077 şəxsi açarın yalnız root tərəfindən oxuna bilməsini təmin edir.

3. İctimai şəbəkə interfeysini tapın

bash
ip route show default

dev sözündən sonrakı söz ictimai interfeysinizdir, adətən eth0 və ya ens3. Nümunələrdə eth0 istifadə olunur.

4. Server konfiqurasiyasını yazın

/etc/wireguard/wg0.conf faylını yaradın:

ini
[Interface]
Address = 10.8.0.1/24
ListenPort = 51820
PrivateKey = <contents of server.key>

# İnternetə çıxan VPN müştəriləri üçün NAT
PostUp   = iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE

Açarı bu komanda ilə yapışdırın:

bash
sed -i "s|<contents of server.key>|$(cat server.key)|" wg0.conf
chmod 600 wg0.conf

Debian 12 və Ubuntu 24.04 altda nftables istifadə edir, iptables komandası isə nftables backend-i vasitəsilə işləyir, buna görə yuxarıdakı qaydalar hər ikisində işləyir.

5. IP yönləndirməni aktivləşdirin

bash
echo 'net.ipv4.ip_forward=1' > /etc/sysctl.d/99-wireguard.conf
sysctl --system

6. Firewall-u açın və tuneli işə salın

UFW ilə:

bash
ufw allow 51820/udp
ufw route allow in on wg0 out on eth0
ufw reload

ufw route allow tuneldən yönləndirilən trafikin internetə çıxmasına icazə verir. Bu olmadan müştərilər qoşulur, amma internetləri olmur.

Wolkra firewall-undan istifadə edirsinizsə, orada da UDP 51820 üçün daxil olan qayda əlavə edin.

WireGuard-ı işə salın və yükləmədə avtomatik başlamasını aktivləşdirin:

bash
systemctl enable --now wg-quick@wg0
wg show

wg show wg0 interfeysini və onun dinlədiyi portu göstərməlidir.

7. Müştəri əlavə edin

Müştəri üçün açarları serverdə yaradın (və ya müştəri cihazında; bu bir qədər təhlükəsizdir, çünki şəxsi açar heç vaxt cihazı tərk etmir):

bash
cd /etc/wireguard
wg genkey | tee laptop.key | wg pubkey > laptop.pub

Müştərini işləyən serverə peer kimi əlavə edin və konfiqurasiyanı saxlayın:

bash
wg set wg0 peer "$(cat laptop.pub)" allowed-ips 10.8.0.2/32
wg-quick save wg0

wg-quick save cari vəziyyəti wg0.conf faylına geri yazır, beləliklə peer yenidən başlatmadan sonra da qalır.

8. Müştəri konfiqurasiyasını yazın

laptop.conf faylını yaradın:

ini
[Interface]
PrivateKey = <contents of laptop.key>
Address = 10.8.0.2/32
DNS = <your resolver>

[Peer]
PublicKey = <contents of server.pub>
Endpoint = 203.0.113.10:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
  • AllowedIPs = 0.0.0.0/0, ::/0 bütün trafiki VPN üzərindən göndərir (tam tunel).
  • Yalnız şəxsi şəbəkənizə çatan bölünmüş tunel (split tunnel) üçün, məsələn, AllowedIPs = 10.8.0.0/24, 10.0.0.0/24 istifadə edin.
  • PersistentKeepalive ev routerlərinin və mobil şəbəkələrin arxasında tuneli açıq saxlayır.
  • DNS etibar etdiyiniz resolver-in ünvanıdır, məsələn ictimai resolver və ya serverdə özünüz işlətdiyiniz resolver.

Telefona import

bash
qrencode -t ansiutf8 < laptop.conf

WireGuard tətbiqini açın, Scan from QR code seçin və kameranı terminala tutun.

Kompüterə import

laptop.conf faylını cihaza təhlükəsiz şəkildə kopyalayın (məsələn scp ilə) və WireGuard tətbiqinə import edin, yaxud Linux-da:

bash
sudo cp laptop.conf /etc/wireguard/wg0.conf
sudo wg-quick up wg0

Linux müştərisində wg-quick DNS-i resolvconf vasitəsilə təyin edir. Komandanın olmadığından şikayət edərsə, openresolv paketini quraşdırın (Debian) və ya DNS sətrini silib DNS-i özünüz tənzimləyin.

Müştərinin şəxsi açarını serverdə yaratmısınızsa, sonradan onu serverdən silin.

9. Tuneli sınayın

Müştəridə qoşulun və ictimai ünvanı yoxlayın:

bash
curl -4 https://ifconfig.me

O, serverin ünvanını göstərməlidir. Serverdə:

bash
wg show

Yaxın vaxtlı "latest handshake" və artan ötürmə sayğacları peer-in qoşulduğunu bildirir.

Tunelə IPv6 əlavə etmək

Serverinizin IPv6 ünvanı varsa, müştərilərə də IPv6 verə bilərsiniz. Serverin Address sahəsinə şəxsi IPv6 diapazonu (məsələn fd42:42:42::1/64 kimi unique local address), hər müştəri üçün uyğun ünvan əlavə edin, net.ipv6.conf.all.forwarding=1 aktivləşdirin və IPv4-dəki kimi ip6tables masquerade qaydası əlavə edin. Bu olmadan ::/0 dəyərini müştərinin AllowedIPs sahəsinə əlavə etməyin, əks halda IPv6 trafiki sızmaq əvəzinə atılacaq.

Problemlərin həlli

Əlamət Nəyi yoxlamalı
Handshake yoxdur UDP portu UFW-də və bulud firewall-unda açıqdırmı? Endpoint və açıq açar düzgündürmü?
Handshake var, internet yoxdur ip_forward təyin olunubmu? NAT qaydası düzgün interfeysdədirmi? ufw route allow əlavə olunubmu?
Saytlar yavaş açılır MTU-nu azaltmağı sınayın: müştərinin [Interface] bölməsinə MTU = 1380 əlavə edin
Wi-Fi-da işləyir, mobil şəbəkədə yox PersistentKeepalive = 25 əlavə edin

journalctl -u wg-quick@wg0 işə salınma zamanı yaranan xətaları göstərir.

Trafik və xərc

VPN serverdəki trafiki iki dəfə artırır: məlumat internetdən daxil olur və müştəriyə çıxır. Ölçülən planlarda bu tez toplanır. Wolkra serverlərində GB başına ödəniş olmadan, ədalətli istifadə şərti ilə 10 Gbit/s-ə qədər paylaşılan portlarda ölçülməyən trafik var. Nəzərə alın ki, məqbul istifadə siyasəti VPN-inizdən keçən hər şeyə yenə də şamil olunur.

İnsanların niyə öz VPN-lərini işlətdiyi barədə ətraflı: VPN serverin istifadə halları. Hostun özünü möhkəmləndirmək üçün Ubuntu serverini necə qorumalı bələdçisini izləyin, lakin marşrutlaşdırma ilə ziddiyyət təşkil edən sysctl redirect ayarlarını keçin.

Tez-tez verilən suallar

WireGuard üçün nə qədər güclü server lazımdır?

Çox az. WireGuard nüvədə işləyir və 1 vCPU, 1 GB server bir ailə və ya kiçik komanda üçün asanlıqla kifayət edir.

WireGuard hansı portdan istifadə edir?

Seçdiyiniz istənilən UDP portundan. 51820 geniş yayılmış standart portdur; onu həm server firewall-unda, həm də bulud firewall-unda açın.

VPN serveri çox trafik sərf edirmi?

Bəli, müştərinin istifadə etdiyi hər bayt serverdən həm daxil olur, həm də çıxır. Ölçülməyən plan bunun üçün GB başına ödənişlərdən qaçmağa imkan verir.

WireGuard-ı əl ilə tənzimləməkdən daha asan yol varmı?

Wolkra-da server yaradarkən WireGuard bir kliklə tətbiqini seçə bilərsiniz. O, yükləmədən bir neçə dəqiqə sonra hazır olur.

Şəxsi serverlərə çatmaq üçün WireGuard-dan istifadə edə bilərəmmi?

Bəli. Bütün trafik əvəzinə şəxsi şəbəkənizin diapazonunu tunel üzərindən yönləndirin, müştərilər ictimai IP-si olmayan serverlərə çata biləcək.

Frankfurtda server işə salın

Hesab yaradın, balansı artırın və ayda €3.49-dan server işlədin, yalnız istifadə etdiyiniz saatlar üçün ödəyin. Bütün planlarda ölçülməyən trafik.