Naha WireGuard mangrupikeun VPN anu saé pikeun masa depan?

Naha WireGuard mangrupikeun VPN anu saé pikeun masa depan?

Waktosna parantos sumping nalika VPN henteu deui sababaraha alat anu aheng pikeun pangurus sistem janggut. Pamaké ngagaduhan tugas anu béda, tapi kanyataanna sadayana peryogi VPN.

Masalah sareng solusi VPN ayeuna nyaeta aranjeunna hese ngonpigurasikeun leres, mahal pikeun ngajaga, sareng pinuh ku kode warisan kualitas anu dipertanyakeun.

Sababaraha taun ka pengker, spesialis kaamanan inpormasi Kanada Jason A. Donenfeld mutuskeun yén anjeunna parantos cekap sareng mimiti damel. WireGuard. WireGuard ayeuna keur disiapkeun pikeun citakan dina kernel Linux Ubuntu malah geus narima pujian ti Linus Torvalds jeung Sénat AS.

Kaunggulan WireGuard anu diklaim dibandingkeun solusi VPN anu sanés:

  • Gampang dianggo.
  • Ngagunakeun kriptografi modern: kerangka protokol Noise, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, jsb.
  • Kompak, kode anu tiasa dibaca, langkung gampang ditalungtik pikeun kerentanan.
  • kinerja luhur.
  • Jelas jeung elaborate spésifikasi.

Naha pélor pérak kapanggih? Naha waktosna pikeun ngubur OpenVPN sareng IPSec? Kuring mutuskeun pikeun nungkulan ieu, sarta dina waktos anu sareng kuring skrip pikeun otomatis masang server VPN pribadi.

Prinsip kerja

Prinsip operasi bisa digambarkeun saperti kieu:

  • Antarbeungeut WireGuard didamel sareng konci pribadi sareng alamat IP ditugaskeun ka dinya. Setélan peers séjén dimuat: konci publik maranéhanana, alamat IP, jsb.
  • Kabéh pakét IP anjog di panganteur WireGuard encapsulated di UDP na dikirimkeun aman tara séjén.
  • Klién nangtukeun alamat IP umum tina server dina setélan. Pangladén otomatis ngenalkeun alamat luar klien nalika data anu dioténtikasi leres nampi ti aranjeunna.
  • Pangladén tiasa ngarobih alamat IP umum tanpa ngaganggu padamelan na. Dina waktos anu sami, éta bakal ngirim waspada ka klien anu nyambung sareng aranjeunna bakal ngamutahirkeun konfigurasina dina laleur.
  • Konsep routing dipaké Cryptokey Routing. WireGuard nampi sareng ngirim pakét dumasar kana konci umum peer. Nalika server ngadekrip pakét anu dioténtikasi leres, médan src na dipariksa. Lamun cocog konfigurasi allowed-ips peer dioténtikasi, pakét ditampi ku panganteur WireGuard. Nalika ngirim pakét kaluar, prosedur anu saluyu lumangsung: médan dst pakét dicandak sareng, dumasar kana éta, peer anu saluyu dipilih, pakét ditandatanganan ku konci na, énkripsi sareng konci peer sareng dikirim ka titik tungtung jauh. .

Sadaya logika inti WireGuard nyandak kirang ti 4 rébu garis kode, sedengkeun OpenVPN sareng IPSec ngagaduhan ratusan rébu garis. Pikeun ngadukung algoritma kriptografi modéren, diusulkeun pikeun ngalebetkeun API kriptografi énggal dina kernel Linux seng. Ayeuna aya diskusi ngeunaan naha ieu mangrupikeun ide anu saé.

kakuwatan keur ngasilkeun

Kauntungannana kinerja maksimum (dibandingkeun OpenVPN na IPSec) bakal noticeable on sistem Linux Ubuntu, saprak WireGuard dilaksanakeun salaku modul kernel aya. Salaku tambahan, macOS, Android, iOS, FreeBSD sareng OpenBSD dirojong, tapi di antarana WireGuard dijalankeun dina ruang pangguna sareng sadaya akibat kinerja anu salajengna. Pangrojong Windows diperkirakeun bakal ditambahkeun dina mangsa nu bakal datang.

Hasil patokan jeung situs resmi:

Naha WireGuard mangrupikeun VPN anu saé pikeun masa depan?

pangalaman pamakéan abdi

Abdi sanés ahli VPN. Kuring sakali nyetél OpenVPN sacara manual tur éta pisan tedious, sarta kuring malah teu coba IPSec. Aya seueur teuing kaputusan anu kedah dilakukeun, gampang pisan pikeun némbak diri anjeun dina suku. Ku alatan éta, kuring salawasna ngagunakeun Aksara siap-dijieun pikeun ngonpigurasikeun server.

Janten, WireGuard, tina sudut pandang kuring, umumna idéal pikeun pangguna. Sadaya kaputusan tingkat rendah dilakukeun dina spésifikasi, ku kituna prosés nyiapkeun infrastruktur VPN has ngan ukur sababaraha menit. Ieu ampir teu mungkin keur curang dina konfigurasi nu.

Proses instalasi dijelaskeun sacara rinci dina ramatloka resmi, Abdi hoyong misah catetan unggulan rojongan OpenWRT.

Konci enkripsi dihasilkeun ku utiliti wg:

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

Salajengna, anjeun kedah ngadamel config server /etc/wireguard/wg0.conf kalawan eusi handap:

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

sarta ngangkat torowongan kalawan naskah wg-quick:

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

Dina sistem sareng systemd anjeun tiasa nganggo ieu sudo systemctl start [email protected].

Dina mesin klien, jieun config /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 

Sareng angkat torowongan dina cara anu sami:

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

Sadaya anu tetep nyaéta ngonpigurasikeun NAT dina server supados klien tiasa ngaksés Internét, sareng anjeun parantos réngsé!

Gampang dianggo sareng kompak tina dasar kode ieu dihontal ku ngaleungitkeun fungsionalitas distribusi konci. Henteu aya sistem sertipikat anu rumit sareng sadaya horor perusahaan ieu; konci enkripsi pondok disebarkeun sapertos konci SSH. Tapi ieu nyababkeun masalah: WireGuard moal gampang diimplementasikeun dina sababaraha jaringan anu tos aya.

Diantara kalemahan, éta sia noting yén WireGuard moal jalan ngaliwatan hiji proxy HTTP, sabab ngan protokol UDP sadia sakumaha angkutan a. Patarosan timbul: naha éta mungkin pikeun ngabingungkeun protokol? Tangtosna, ieu sanés tugas langsung tina VPN, tapi pikeun OpenVPN, contona, aya cara pikeun nyamur diri salaku HTTPS, anu ngabantosan warga nagara totalitarian nganggo Internét.

papanggihan

Pikeun nyimpulkeun, ieu mangrupikeun proyék anu pikaresepeun sareng ngajangjikeun, anjeun parantos tiasa dianggo dina server pribadi. Naon kauntungan? Kinerja luhur dina sistem Linux, betah setelan sareng dukungan, dasar kode anu kompak sareng tiasa dibaca. Tapi, teuing awal pikeun buru-buru nransferkeun infrastruktur kompléks ka WireGuard; éta patut ngantosan citakan na dina kernel Linux.

Pikeun ngahemat waktos abdi (sareng anjeun), kuring ngembangkeun Pamasang otomatis WireGuard. Kalayan bantosanana, anjeun tiasa nyetél VPN pribadi pikeun diri sareng réréncangan anjeun tanpa ngartos naon waé ngeunaan éta.

sumber: www.habr.com

Tambahkeun komentar