Ma WireGuard VPN-ya mezin a pêşerojê ye?

Ma WireGuard VPN-ya mezin a pêşerojê ye?

Dem hat ku VPN êdî ne amûrek biyanî ya sysadminên rih e. Bikarhêner peywirên cihêreng hene, lê rastî ev e ku VPN ji her kesî re pêdivî bûye.

Pirsgirêka çareseriyên VPN-ê yên heyî ev e ku ew bi rêkûpêk mîhengkirina wan dijwar e, lêgirtinê biha ye, û bi koda mîrateya kalîteya gumanbar tije ye.

Çend sal berê, pisporê ewlekariya agahdariya Kanadayî Jason A. Donenfeld biryar da ku bes e û dest bi xebatê kir. WireGuard. Naha WireGuard xwe amade dike ku bikeve nav kernel Linux û tewra xelat jî wergirtiye Linus Torvalds û di Senatoya Dewletên Yekbûyî.

Feydeyên îdîaya WireGuard li ser çareseriyên VPN yên din:

  • Bikaranîna hêsan e.
  • Krîptografiya nûjen bikar tîne: Çarçoveya protokola deng, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF, hwd.
  • Koda xwendî ya kompakt, lêkolîna ji bo qelsiyan hêsantir e.
  • Performansa bilind.
  • Zelal û çêkirî specification.

Guleya zîv hatiye dîtin? Ma dem e ku hûn OpenVPN û IPSec binax bikin? Min biryar da ku bi vê yekê re mijûl bibim, lê di heman demê de min kir skrîpta ji bo sazkirina otomatîkî ya servera VPN ya kesane.

Prensîbên xebatê

Prensîbên operasyonê dikarin bi vî rengî bêne diyar kirin:

  • Têkiliyek WireGuard tê afirandin, jê re mifteyek taybet û navnîşek IP-yê tê veqetandin. Mîhengên hevalên din têne barkirin: mifteyên wan ên gelemperî, navnîşanên IP-ê, hwd.
  • Hemî pakêtên IP-ê yên ku digihîjin navbeynkariya WireGuard-ê di UDP-ê de têne girtin û bi ewlehî teslîmî pirates din.
  • Xerîdar navnîşana IP-ya giştî ya serverê di mîhengan de destnîşan dikin. Pêşkêşker bixweber navnîşanên derveyî yên xerîdar fêr dibe dema ku daneyên rast rast ji wan tê.
  • Pêşkêşkar dikare navnîşana IP-ya giştî bêyî ku kar bitewîne biguhezîne. Di heman demê de, ew ê agahdariyek ji xerîdarên girêdayî re bişîne û ew ê veavakirina xwe di firînê de nûve bikin.
  • Têgeha rêvekirinê tê bikaranîn Routing Cryptokey. WireGuard li ser bingeha mifteya giştî ya peer pakêtan distîne û dişîne. Dema ku pêşkêşker pakêtek rast rastkirî deşîfre dike, qada wê ya src tê kontrol kirin. Ger ew bi veavakirinê re têkildar be allowed-ips peer pejirandî, paşê pakêt ji hêla pêwendiya WireGuard ve tê wergirtin. Dema ku pakêtek derkevî dişîne, prosedûra têkildar diqewime: qada dst ya pakêtê tê girtin û peer li gorî wê tê hilbijartin, pakêt bi mifteya xwe tê îmzekirin, bi mifteya peer tê şîfrekirin û ji bo xala dawî ya dûr tê şandin.

Tevahiya mantiqa bingehîn a WireGuard ji 4 hezar xetên kodê kêmtir digire, dema ku OpenVPN û IPSec bi sed hezaran xet hene. Ji bo piştgirîkirina algorîtmayên krîptografî yên nûjen, tê pêşniyar kirin ku API-ya nû ya krîptografî di nav kernel Linux-ê de bicîh bikin. Çingo. Di vê demê de, nîqaşek heye ku ev fikr çiqas baş e.

Berhemdariyê

Feydeya performansa herî zêde (li gorî OpenVPN û IPSec) dê li ser pergalên Linux-ê diyar be, ji ber ku WireGuard li wir wekî modulek kernelê tête bicîh kirin. Wekî din, macOS, Android, iOS, FreeBSD û OpenBSD têne piştgirî kirin, lê ew WireGuard-ê di qada bikarhêner de digel hemî encamên performansê yên paşîn dimeşînin. Tê payîn ku di demek nêz de piştgirîya Windows were zêdekirin.

Encamên Benchmark bi malpera fermî:

Ma WireGuard VPN-ya mezin a pêşerojê ye?

Ezmûna min a karanîna

Ez ne pisporek sazkirinê VPN me. Carekê min OpenVPN bi destan saz kir û ew pir xedar bû, û IPSec jî neceribandiye. Pir biryarên ku meriv meriv bide, pir hêsan e ku meriv xwe li lingê xwe biteqîne. Ji ber vê yekê, min her gav ji bo mîhengkirina serverê nivîsarên amade bikar aniye.

Ji ber vê yekê, WireGuard, ji nêrîna min, bi gelemperî ji bo bikarhêner îdeal e. Hemî biryarên asta nizm di diyardeyê de têne girtin, ji ber vê yekê pêvajoya amadekirina binesaziyek VPN ya tîpîk tenê çend hûrdem digire. Nafakapit di veavakirinê de hema hema ne gengaz e.

Pêvajoya sazkirinê bi berfirehî hatiye vegotin li ser malpera fermî, ez dixwazim ji hev veqetandî balê bikim Piştgiriya OpenWRT.

Bişkojkên şîfrekirinê ji hêla karûbar ve têne çêkirin wg:

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

Piştre, hûn hewce ne ku mîhengek serverê biafirînin /etc/wireguard/wg0.conf bi naveroka jêrîn:

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

û bi senaryoyekê tunelê bilind bikin wg-quick:

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

Li ser pergalên bi systemd, hûn dikarin li şûna vê yekê bikar bînin sudo systemctl start [email protected].

Li ser makîneya xerîdar, mîhengek biafirînin /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 

Û bi heman awayî tunelê bilind bikin:

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

Ew dimîne ku hûn NAT-ê li ser serverê mîheng bikin da ku xerîdar karibin xwe bigihînin Înternetê, û hûn qediyan!

Bi rakirina fonksiyona belavkirina mifteyê re hêsaniya karanîn û tevliheviya bingehîn a kodê bi vî rengî hate bidestxistin. Pergalek tevlihev a sertîfîkayan tune û hemî vê tirsa pargîdanî, bişkojkên şîfrekirinê yên kurt bi qasî bişkokên SSH têne belav kirin. Lê ev pirsgirêkek derdixe holê: WireGuard dê di hin torên heyî de ne hêsan be ku were bicîh kirin.

Di nav kêmasiyan de, hêjayî gotinê ye ku WireGuard dê bi proxyek HTTP nexebite, ji ber ku wekî veguheztinê tenê protokola UDP heye. Pirs derdikeve holê, gelo dê mumkun be ku protokolê xera bike? Bê guman, ev ne peywirek rasterast a VPN-ê ye, lê ji bo OpenVPN, mînakî, rê hene ku xwe wekî HTTPS veşêrin, ku ji niştecîhên welatên totalîter re dibe alîkar ku bi tevahî Înternetê bikar bînin.

vebiguherin

Bi kurtasî, ev projeyek pir balkêş û hêvîdar e, hûn dikarin berê wê li ser serverên kesane bikar bînin. qezenc çi ye? Performansa bilind li ser pergalên Linux-ê, hêsankirina sazkirin û domandin, bingeha kodê ya tevlihev û xwendin. Lêbelê, pir zû ye ku meriv bilezîne ku binesaziya tevlihev li WireGuard veguhezîne, hêja ye ku li benda tevlêbûna di kernel Linux de bimîne.

Ji bo ku wextê xwe (û we) xilas bikim, min pêş xist sazkerê otomatîkî yê wireguard. Bi wê re, hûn dikarin ji bo xwe û hevalên xwe VPN-ya kesane saz bikin bêyî ku di derheqê wê de tiştek fam bikin.

Source: www.habr.com

Add a comment