WireGuard kelajakdagi ajoyib VPNmi?

WireGuard kelajakdagi ajoyib VPNmi?

Vaqt keldiki, VPN endi soqolli tizim ma'murlari uchun ekzotik vosita emas. Foydalanuvchilar turli xil vazifalarga ega, ammo haqiqat shundaki, har bir kishi VPNga muhtoj.

Hozirgi VPN yechimlari bilan bog'liq muammo shundaki, ularni to'g'ri sozlash qiyin, texnik xizmat ko'rsatish qimmat va shubhali sifatdagi eski kodlarga to'la.

Bir necha yil oldin kanadalik axborot xavfsizligi bo'yicha mutaxassis Jeyson A. Donenfeld undan yetarli bo'lgan deb qaror qildi va ustida ishlay boshladi. WireGuard. WireGuard hozirda Linux yadrosiga qo'shilish uchun tayyorlanmoqda va hatto maqtovlarga sazovor bo'ldi Linus Torvalds va AQSh Senati.

WireGuard-ning boshqa VPN yechimlaridan da'vo qilingan afzalliklari:

  • Foydalanish oson.
  • Zamonaviy kriptografiyadan foydalanadi: shovqin protokoli ramkasi, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF va boshqalar.
  • Ixcham, o'qilishi mumkin bo'lgan kod, zaifliklarni tekshirish osonroq.
  • Yuqori ishlash.
  • Aniq va batafsil spetsifikatsiya.

Kumush o'q topildimi? OpenVPN va IPSec-ni ko'mish vaqti keldimi? Men bu bilan shug'ullanishga qaror qildim va shu bilan birga qildim shaxsiy VPN serverini avtomatik o'rnatish uchun skript.

Ish tamoyillari

Ishlash tamoyillarini quyidagicha ta'riflash mumkin:

  • WireGuard interfeysi yaratiladi va unga shaxsiy kalit va IP-manzil tayinlanadi. Boshqa tengdoshlarning sozlamalari yuklanadi: ularning ochiq kalitlari, IP manzillari va boshqalar.
  • WireGuard interfeysiga kelgan barcha IP-paketlar UDP va inkapsullangan xavfsiz yetkazib berildi boshqa tengdoshlar.
  • Mijozlar sozlamalarda serverning umumiy IP-manzilini belgilaydilar. Mijozlardan to'g'ri autentifikatsiya qilingan ma'lumotlar olinganda, server avtomatik ravishda mijozlarning tashqi manzillarini taniydi.
  • Server umumiy IP-manzilni ishini to'xtatmasdan o'zgartirishi mumkin. Shu bilan birga, u bog'langan mijozlarga ogohlantirish yuboradi va ular o'z konfiguratsiyasini tezda yangilaydi.
  • Marshrutlash tushunchasi qo'llaniladi Kriptokey marshrutlash. WireGuard tengdoshning ochiq kaliti asosida paketlarni qabul qiladi va yuboradi. Agar server to'g'ri autentifikatsiya qilingan paketni shifrini ochsa, uning src maydoni tekshiriladi. Agar u konfiguratsiyaga mos kelsa allowed-ips autentifikatsiya qilingan peer, paket WireGuard interfeysi tomonidan qabul qilinadi. Chiquvchi paketni jo'natishda mos keladigan protsedura sodir bo'ladi: paketning dst maydoni olinadi va uning asosida tegishli tengdosh tanlanadi, paket o'z kaliti bilan imzolanadi, tengdosh kaliti bilan shifrlanadi va uzoq so'nggi nuqtaga yuboriladi. .

WireGuard-ning barcha asosiy mantig'i 4 ming satrdan kamroq kodni oladi, OpenVPN va IPSec esa yuz minglab qatorlarga ega. Zamonaviy kriptografik algoritmlarni qo'llab-quvvatlash uchun Linux yadrosiga yangi kriptografik API kiritish taklif etiladi. rux. Hozirda bu yaxshi fikr yoki yo'qligi haqida munozaralar davom etmoqda.

unumdorlik

Maksimal ishlash ustunligi (OpenVPN va IPSec bilan solishtirganda) Linux tizimlarida sezilarli bo'ladi, chunki WireGuard u erda yadro moduli sifatida amalga oshiriladi. Bundan tashqari, macOS, Android, iOS, FreeBSD va OpenBSD qo'llab-quvvatlanadi, ammo ularda WireGuard barcha keyingi samaradorlik oqibatlari bilan foydalanuvchilar maydonida ishlaydi. Yaqin kelajakda Windows yordami qo'shilishi kutilmoqda.

Benchmark natijalari bilan rasmiy sayt:

WireGuard kelajakdagi ajoyib VPNmi?

Mening foydalanish tajribam

Men VPN mutaxassisi emasman. Men bir marta OpenVPN-ni qo'lda o'rnatdim va bu juda zerikarli edi va men hatto IPSec-ni sinab ko'rmadim. Qabul qilish uchun juda ko'p qarorlar bor, o'zingizni oyog'ingizga otish juda oson. Shuning uchun men serverni sozlash uchun har doim tayyor skriptlardan foydalanardim.

Shunday qilib, WireGuard, mening fikrimcha, odatda foydalanuvchi uchun ideal. Barcha past darajadagi qarorlar spetsifikatsiyada qabul qilinadi, shuning uchun odatiy VPN infratuzilmasini tayyorlash jarayoni bir necha daqiqa davom etadi. Konfiguratsiyada aldash deyarli mumkin emas.

O'rnatish jarayoni batafsil tavsiflangan rasmiy veb-saytida men ajoyiblikni alohida ta'kidlamoqchiman OpenWRT-ni qo'llab-quvvatlash.

Shifrlash kalitlari yordamchi dastur tomonidan ishlab chiqariladi wg:

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

Keyinchalik, server konfiguratsiyasini yaratishingiz kerak /etc/wireguard/wg0.conf quyidagi tarkib bilan:

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

va tunnelni skript bilan ko'taring wg-quick:

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

Systemd bo'lgan tizimlarda buning o'rniga foydalanishingiz mumkin sudo systemctl start [email protected].

Mijoz mashinasida konfiguratsiya yarating /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 

Va tunnelni xuddi shu tarzda ko'taring:

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

Mijozlar Internetga kirishlari uchun serverda NAT ni sozlash qoladi va siz tugatdingiz!

Kod bazasining bunday foydalanish qulayligi va ixchamligiga asosiy tarqatish funksiyasini yo'q qilish orqali erishildi. Hech qanday murakkab sertifikat tizimi yo'q va bu korporativ dahshat; qisqa shifrlash kalitlari SSH kalitlari kabi taqsimlanadi. Ammo bu muammo tug'diradi: WireGuard-ni ba'zi mavjud tarmoqlarda amalga oshirish unchalik oson bo'lmaydi.

Kamchiliklar qatorida shuni ta'kidlash kerakki, WireGuard HTTP proksi-server orqali ishlamaydi, chunki transport sifatida faqat UDP protokoli mavjud. Savol tug'iladi: protokolni xiralashtirish mumkinmi? Albatta, bu VPN-ning bevosita vazifasi emas, lekin OpenVPN uchun, masalan, HTTPS sifatida o'zini yashirish usullari mavjud, bu totalitar mamlakatlar aholisiga Internetdan to'liq foydalanishga yordam beradi.

topilmalar

Xulosa qilib aytadigan bo'lsak, bu juda qiziqarli va istiqbolli loyiha, siz uni shaxsiy serverlarda allaqachon ishlatishingiz mumkin. Foyda nima? Linux tizimlarida yuqori unumdorlik, sozlash va qo'llab-quvvatlash qulayligi, ixcham va o'qilishi mumkin bo'lgan kod bazasi. Biroq, WireGuard-ga murakkab infratuzilmani o'tkazishga shoshilishga hali erta, uni Linux yadrosiga kiritishni kutish kerak.

Mening (va sizning) vaqtimni tejash uchun men ishlab chiqdim WireGuard avtomatik o'rnatish. Uning yordami bilan siz o'zingiz va do'stlaringiz uchun hech narsani tushunmasdan shaxsiy VPN o'rnatishingiz mumkin.

Manba: www.habr.com

a Izoh qo'shish