WireGuard gələcəyin böyük VPN-idirmi?

WireGuard gələcəyin böyük VPN-idirmi?

Vaxt gəldi ki, VPN artıq saqqallı sistem idarəçilərinin bəzi ekzotik aləti deyil. İstifadəçilərin müxtəlif vəzifələri var, amma fakt budur ki, VPN hər kəs üçün zəruri hala gəldi.

Mövcud VPN həlləri ilə bağlı problem onların düzgün konfiqurasiya edilməsinin çətin olması, saxlanması bahalı olması və şübhəli keyfiyyətli köhnə kodlarla dolu olmasıdır.

Bir neçə il əvvəl Kanadanın informasiya təhlükəsizliyi üzrə mütəxəssisi Ceyson A. Donenfeld kifayət qədər kifayət olduğuna qərar verdi və üzərində işə başladı. WireGuard. İndi WireGuard Linux nüvəsinə daxil olmağa hazırlaşır və hətta ondan təriflər də almışdır Linus TorvaldsABŞ Senatı.

WireGuard-ın digər VPN həlləri üzərində iddia edilən üstünlükləri:

  • Istifadə etmək asan.
  • Müasir kriptoqrafiyadan istifadə edir: Səs protokolu çərçivəsi, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF və s.
  • Yığcam oxuna bilən kod, zəiflikləri araşdırmaq daha asandır.
  • Yüksək performans.
  • Aydın və hazırlanmışdır spesifikasiya.

Gümüş güllə tapılıbmı? OpenVPN və IPSec-i dəfn etməyin vaxtıdır? Bununla məşğul olmaq qərarına gəldim, amma eyni zamanda etdim şəxsi VPN serverinin avtomatik quraşdırılması üçün skript.

İş prinsipləri

Əməliyyat prinsipləri aşağıdakı kimi təsvir edilə bilər:

  • WireGuard interfeysi yaradılır, ona şəxsi açar və IP ünvanı verilir. Digər həmyaşıdların parametrləri yüklənir: onların açıq açarları, IP ünvanları və s.
  • WireGuard interfeysinə gələn bütün IP paketləri UDP-də əhatə olunub və təhlükəsiz çatdırılır digər quldurlar.
  • Müştərilər serverin ictimai IP ünvanını parametrlərdə təyin edirlər. Müştərilərdən düzgün təsdiqlənmiş məlumatlar gəldikdə server avtomatik olaraq müştərilərin xarici ünvanlarını öyrənir.
  • Server işi dayandırmadan ictimai IP ünvanını dəyişə bilər. Eyni zamanda, o, qoşulmuş müştərilərə bildiriş göndərəcək və onlar öz konfiqurasiyalarını tez bir zamanda yeniləyəcəklər.
  • Marşrutlaşdırma anlayışından istifadə olunur Kriptokey Yönləndirmə. WireGuard həmyaşıdının açıq açarı əsasında paketləri qəbul edir və göndərir. Server düzgün təsdiqlənmiş paketin şifrəsini açdıqda onun src sahəsi yoxlanılır. Əgər konfiqurasiyaya uyğun gəlirsə allowed-ips autentifikasiya edilmiş peer, sonra paket WireGuard interfeysi tərəfindən qəbul edilir. Gedən paketi göndərərkən müvafiq prosedur baş verir: paketin dst sahəsi götürülür və onun əsasında müvafiq peer seçilir, paket öz açarı ilə imzalanır, həmyaşıdın açarı ilə şifrələnir və uzaqdan idarəetmə sisteminə göndərilir. son nöqtə.

WireGuard-ın bütün əsas məntiqi 4 min sətirdən az kod alır, OpenVPN və IPSec-də isə yüz minlərlə sətir var. Müasir kriptoqrafik alqoritmləri dəstəkləmək üçün Linux nüvəsinə yeni kriptoqrafik API-nin daxil edilməsi təklif olunur. sink. Hazırda bu ideyanın nə qədər yaxşı olması ilə bağlı müzakirələr gedir.

Məhsuldarlıq

Maksimum performans üstünlüyü (OpenVPN və IPSec ilə müqayisədə) Linux sistemlərində nəzərə çarpacaq, çünki WireGuard orada nüvə modulu kimi həyata keçirilir. Bundan əlavə, macOS, Android, iOS, FreeBSD və OpenBSD dəstəklənir, lakin onlar WireGuard-ı bütün sonrakı performans təsirləri ilə istifadəçi məkanında işlədirlər. Yaxın gələcəkdə Windows dəstəyinin əlavə ediləcəyi gözlənilir.

ilə müqayisə nəticələri rəsmi saytı:

WireGuard gələcəyin böyük VPN-idirmi?

İstifadə təcrübəm

Mən VPN quraşdırma mütəxəssisi deyiləm. Bir dəfə mən OpenVPN-ni tutacaqlarla qurdum və bu, çox darıxdırıcı idi və IPSec belə cəhd etmədi. Qəbul etmək üçün çoxlu qərarlar, özünüzü ayağınıza vurmaq çox asandır. Buna görə də mən həmişə serveri konfiqurasiya etmək üçün hazır skriptlərdən istifadə etmişəm.

Beləliklə, WireGuard, mənim fikrimcə, ümumiyyətlə istifadəçi üçün idealdır. Bütün aşağı səviyyəli qərarlar spesifikasiyada qəbul edilir, ona görə də tipik VPN infrastrukturunun hazırlanması prosesi cəmi bir neçə dəqiqə çəkir. Konfiqurasiyada Nafakapit demək olar ki, mümkün deyil.

Quraşdırma prosesi ətraflı təsvir edilmişdir rəsmi saytında, əla ayrıca qeyd etmək istərdim OpenWRT dəstəyi.

Şifrələmə açarları yardım proqramı tərəfindən yaradılır wg:

SERVER_PRIVKEY=$( wg genkey )
SERVER_PUBKEY=$( echo $SERVER_PRIVKEY | wg pubkey )
CLIENT_PRIVKEY=$( wg genkey )
CLIENT_PUBKEY=$( echo $CLIENT_PRIVKEY | wg pubkey )

Sonra, bir server konfiqurasiyası yaratmalısınız /etc/wireguard/wg0.conf aşağıdakı məzmunla:

[Interface]
Address = 10.9.0.1/24
PrivateKey = $SERVER_PRIVKEY
[Peer]
PublicKey = $CLIENT_PUBKEY
AllowedIPs = 10.9.0.2/32

və bir ssenari ilə tuneli qaldırın wg-quick:

sudo wg-quick up /etc/wireguard/wg0.conf

Systemd olan sistemlərdə bunun əvəzinə istifadə edə bilərsiniz sudo systemctl start [email protected].

Müştəri maşınında konfiqurasiya yaradın /etc/wireguard/wg0.conf:

[Interface]
PrivateKey = $CLIENT_PRIVKEY
Address = 10.9.0.2/24
[Peer]
PublicKey = $SERVER_PUBKEY
AllowedIPs = 0.0.0.0/0
Endpoint = 1.2.3.4:51820 # Внешний IP сервера
PersistentKeepalive = 25 

Və eyni şəkildə tuneli qaldırın:

sudo wg-quick up /etc/wireguard/wg0.conf

Müştərilərin İnternetə daxil ola bilməsi üçün serverdə NAT-ı konfiqurasiya etmək qalır və işiniz bitdi!

Kod bazasının belə istifadəsi asanlığı və yığcamlığı əsas paylama funksionallığını aradan qaldırmaqla əldə edilmişdir. Mürəkkəb sertifikat sistemi yoxdur və bütün bu korporativ dəhşət, qısa şifrələmə açarları təxminən SSH açarları kimi paylanır. Lakin bu, problem yaradır: WireGuard-ı bəzi mövcud şəbəkələrdə tətbiq etmək asan olmayacaq.

Çatışmazlıqlar arasında WireGuard-ın HTTP proxy vasitəsilə işləməyəcəyini qeyd etmək lazımdır, çünki nəqliyyat kimi yalnız UDP protokolu var. Sual yaranır ki, protokolu çaşdırmaq mümkün olacaqmı? Əlbəttə ki, bu, VPN-in birbaşa vəzifəsi deyil, lakin OpenVPN üçün, məsələn, totalitar ölkələrin sakinlərinə İnternetdən tam istifadə etməyə kömək edən HTTPS kimi gizlənməyin yolları var.

Tapıntılar

Xülasə, bu, çox maraqlı və perspektivli bir layihədir, onu artıq şəxsi serverlərdə istifadə edə bilərsiniz. Mənfəət nədir? Linux sistemlərində yüksək performans, quraşdırma və texniki xidmət asanlığı, yığcam və oxunaqlı kod bazası. Bununla belə, mürəkkəb infrastrukturu WireGuard-a köçürməyə tələsmək hələ tezdir, Linux nüvəsinə daxil edilməsini gözləməyə dəyər.

Mənim (və sizin) vaxtınıza qənaət etmək üçün inkişaf etdirdim tel qoruyucu avtomatik quraşdırıcı. Bununla siz özünüz və dostlarınız üçün heç nə başa düşmədən şəxsi VPN qura bilərsiniz.

Mənbə: www.habr.com

Добавить комментарий