WireGuard ir nÄkamÄs paaudzes VPN tunelis, ko izveidojis Edge Security izpilddirektors Džeisons A. Donenfelds. Projekts tika izstrÄdÄts kÄ vienkÄrÅ”ots un Ätra alternatÄ«va OpenVPN un IPsec. Produkta pirmajÄ versijÄ bija tikai 4 tÅ«kstoÅ”i koda rindiÅu. SalÄ«dzinÄjumam, OpenVPN ir aptuveni 120 tÅ«kstoÅ”i lÄ«niju, bet IPSec - 420 tÅ«kstoÅ”i.
Par saskaÅÄ ar izstrÄdÄtÄjiem, WireGuard ir viegli konfigurÄjams un tiek panÄkta protokola droŔība izmantojot pÄrbaudÄ«tus kriptogrÄfijas algoritmus. Mainot tÄ«klu: Wi-Fi, LTE vai Ethernet ir nepiecieÅ”ams atkÄrtoti izveidot savienojumu ar VPN serveri katru reizi. WireGuard serveri nepÄrtrauc savienojumu, pat ja lietotÄjs ir saÅÄmis jaunu IP adresi.
Neskatoties uz to, ka WireGuard sÄkotnÄji bija paredzÄts Linux kodolam, izstrÄdÄtÄji aprÅ«pÄts un par rÄ«ka portatÄ«vo versiju Android ierÄ«cÄm. Lietojumprogramma vÄl nav pilnÄ«bÄ izstrÄdÄta, taÄu tagad varat to izmÄÄ£inÄt. Å im nolÅ«kam jums ir nepiecieÅ”ams kļūt par vienu no pÄrbaudÄ«tÄjiem.
Š oficiÄlÄ dokumentÄcija (18. lpp.) tiek atzÄ«mÄts, ka WireGuard caurlaidspÄja ir Äetras reizes lielÄka nekÄ OpenVPN: attiecÄ«gi 1011 Mbit/s pret 258 Mbit/s. WireGuard apsteidz arÄ« standarta risinÄjumu Linux IPsec ā tam ir 881 Mbit/s. Tas pÄrspÄj to arÄ« iestatÄ«Å”anas vienkÄrŔībÄ.
PÄc atslÄgu apmaiÅas (VPN savienojums ir inicializÄts lÄ«dzÄ«gi kÄ SSH) un savienojums ir izveidots, WireGuard pats veic visus citus uzdevumus: nav jÄuztraucas par marÅ”rutÄÅ”anu, stÄvokļa kontroli utt. Papildu konfigurÄcijas centieni bÅ«s tikai nepiecieÅ”ams, ja vÄlaties izmantot simetrisku Å”ifrÄÅ”anu.
KÄ atzÄ«mÄ xakep.ru redaktori, arÄ« paÅ”komplektÄÅ”ana no avota tekstiem ir vienkÄrÅ”a. Pietiek atvÄrt saskarni un Ä£enerÄt publiskÄs un privÄtÄs atslÄgas:
$ sudo ip link add dev wg0 type wireguard
$ wg genkey | tee privatekey | wg pubkey > publickey
WireGuard neizmanto saskarne darbam ar kriptogrÄfijas pakalpojumu sniedzÄju KriptoAPI. TÄ vietÄ tiek izmantots straumes Å”ifrs ChaCha20, kriptogrÄfijas imitÄcijas ieliktnis Poly1305 un patentÄtas kriptogrÄfijas jaucÄjfunkcijas.
Å ajÄ gadÄ«jumÄ WireGuard izmanto ioctl funkciju, lai kontrolÄtu I/O (iepriekÅ” izmantota tÄ«kla saite), kas padara kodu tÄ«rÄku un vienkÄrÅ”Äku. Par to varat pÄrliecinÄties, apskatot konfigurÄcijas kods.
IzstrÄdÄtÄju plÄni
PagaidÄm WireGuard ir Ärpus koka esoÅ”Ä kodola modulis. Bet projekta autors ir Džeisons Donenfelds saka, ka ir pienÄcis laiks pilnÄ«gai ievieÅ”anai Linux kodolÄ. Jo tas ir vienkÄrÅ”Äks un uzticamÄks par citiem risinÄjumiem. Džeisons Å”ajÄ sakarÄ atbalsta Pat Linuss Torvalds pats WireGuard kodu nosauca par "mÄkslas darbu".
Bet neviens nerunÄ par precÄ«ziem datumiem WireGuard ievieÅ”anai kodolÄ. UN diez vai tas notiks lÄ«dz ar Augusta Linux kodola 4.18 izlaiÅ”anu. TomÄr pastÄv iespÄja, ka tas notiks ļoti tuvÄ nÄkotnÄ: versijÄ 4.19 vai 5.0.
Kad kodolam tiek pievienots WireGuard, izstrÄdÄtÄji gribu pabeidziet lietojumprogrammu Android ierÄ«cÄm un sÄciet rakstÄ«t lietojumprogrammu iOS. Ir arÄ« plÄnots pabeigt ievieÅ”anu Go and Rust un portÄt tos uz macOS, Windows un BSD. PlÄnots arÄ« ieviest WireGuard āeksotiskÄkÄm sistÄmÄmā: DPDK, FPGA, kÄ arÄ« daudzas citas interesantas lietas. Visi no tiem ir uzskaitÄ«ti darÄmo lietu saraksts projekta autori.
PS VÄl daži raksti no mÅ«su korporatÄ«vÄ emuÄra: