VPN WireGuard ื”ืชืงื‘ืœ ืœืกื ื™ืฃ ื”-net-next ื•ื”ื•ื ืžื™ื•ืขื“ ืœื”ื›ืœืœื” ื‘ืœื™ื‘ืช Linux 5.6

ื“ื™ื•ื•ื™ื“ ืžื™ืœืจ (ื“ื™ื•ื•ื™ื“ ืก. ืžื™ืœืจ), ืื—ืจืื™ ืขืœ ืชืช-ืžืขืจื›ืช ื”ืจืฉืช ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก, ืงื™ื‘ืœ ืืช ืœืกื ื™ืฃ ื ื˜ื•-ื”ื‘ื ื˜ืœืื™ื ืขื ื”ื˜ืžืขืช ืžืžืฉืง ื”-VPN ืžื”ืคืจื•ื™ืงื˜ WireGuard. ื‘ืชื—ื™ืœืช ื”ืฉื ื” ื”ื‘ืื”, ืฉื™ื ื•ื™ื™ื ืฉื”ืฆื˜ื‘ืจื• ื‘ืกื ื™ืฃ net-next ื™ื”ื•ื• ืืช ื”ื‘ืกื™ืก ืœืฉื—ืจื•ืจ ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6.

ื ื™ืกื™ื•ื ื•ืช ืœื“ื—ื•ืฃ ืืช ืงื•ื“ ื”-WireGuard ืœืชื•ืš ื”ืœื™ื‘ื” ื”ืจืืฉื™ืช ื ืขืฉื• ื‘ืžื”ืœืš ื”ืฉื ื™ื ื”ืื—ืจื•ื ื•ืช, ืืš ื ื•ืชืจื• ื›ื•ืฉืœื™ื ื‘ืฉืœ ื”ื™ื•ืชื• ืงืฉื•ืจ ืœืžื™ืžื•ืฉื™ื ืงื ื™ื™ื ื™ื™ื ืฉืœ ืคื•ื ืงืฆื™ื•ืช ืงืจื™ืคื˜ื•ื’ืจืคื™ื•ืช ืฉืฉื™ืžืฉื• ืœืฉื™ืคื•ืจ ื”ื‘ื™ืฆื•ืขื™ื. ื‘ืชื—ื™ืœื”, ืคื•ื ืงืฆื™ื•ืช ืืœื” ื”ื™ื• ืžื•ึผืฆึธืข ืขื‘ื•ืจ ื”ืœื™ื‘ื” ื›-Zinc API ื ื•ืกืฃ ื‘ืจืžื” ื ืžื•ื›ื”, ืฉื™ื›ื•ืœ ื‘ืกื•ืคื• ืฉืœ ื“ื‘ืจ ืœื”ื—ืœื™ืฃ ืืช ื”-Crypto API ื”ืกื˜ื ื“ืจื˜ื™.

ืœืื—ืจ ื“ื™ื•ื ื™ื ื‘ื›ื ืก ืžืชื›ื•ื ื™ ืงืจื ืœ, ื™ื•ืฆืจื™ WireGuard ื‘ืกืคื˜ืžื‘ืจ ืงื™ื‘ืœ ื”ื—ืœื˜ืช ืคืฉืจื” ื”ืขื‘ืจ ืืช ื”ืชื™ืงื•ื ื™ื ืฉืœืš ืœืฉื™ืžื•ืฉ ื‘-Crypto API ื”ื–ืžื™ืŸ ื‘ืœื™ื‘ื”, ืืœื™ื• ื™ืฉ ืœืžืคืชื—ื™ WireGuard ืชืœื•ื ื•ืช ื‘ืชื—ื•ื ื”ื‘ื™ืฆื•ืขื™ื ื•ื”ืื‘ื˜ื—ื” ื”ื›ืœืœื™ืช. ื”ื•ื—ืœื˜ ืœื”ืžืฉื™ืš ื•ืœืคืชื— ืืช ื”-Zinc API, ืืš ื›ืคืจื•ื™ืงื˜ ื ืคืจื“.

ื‘ื ื•ื‘ืžื‘ืจ, ืžืคืชื—ื™ ืœื™ื‘ื” ื”ืœืš ื‘ืชื’ื•ื‘ื” ืœืคืฉืจื” ื•ื”ืกื›ื™ื ืœื”ืขื‘ื™ืจ ื—ืœืง ืžื”ืงื•ื“ ืž-Zinc ืœื’ืจืขื™ืŸ ื”ืจืืฉื™. ื‘ืขื™ืงืจื• ืฉืœ ื“ื‘ืจ, ื—ืœืง ืžืžืจื›ื™ื‘ื™ ืื‘ืฅ ื™ื•ืขื‘ืจื• ืœืœื™ื‘ื”, ืืš ืœื ื›-API ื ืคืจื“, ืืœื ื›ื—ืœืง ืžืชืช-ื”ืžืขืจื›ืช ืฉืœ Crypto API. ืœื“ื•ื’ืžื”, ื”-Crypto API ื›ื‘ืจ ื›ืœื•ืœ ื™ื™ืฉื•ืžื™ื ืžื”ื™ืจื™ื ืฉืœ ื”ืืœื’ื•ืจื™ืชืžื™ื ChaCha20 ื•-Poly1305 ืฉื”ื•ื›ื ื• ื‘-WireGuard.

ื‘ืงืฉืจ ืœืืกืคืงื” โ€‹โ€‹ื”ืงืจื•ื‘ื” ืฉืœ WireGuard ื‘ืœื™ื‘ื” ื”ืจืืฉื™ืช, ืžื™ื™ืกื“ ื”ืคืจื•ื™ืงื˜ ะพะฑัŠัะฒะธะป ืœื’ื‘ื™ ืืจื’ื•ืŸ ืžื—ื“ืฉ ืฉืœ ื”ืžืื’ืจ. ื›ื“ื™ ืœืคืฉื˜ ืืช ื”ืคื™ืชื•ื—, ื”ืžืื’ืจ ื”ืžื•ื ื•ืœื™ื˜ื™ "WireGuard.git", ืืฉืจ ืชื•ื›ื ืŸ ืœื”ืชืงื™ื™ื ื‘ืžื ื•ืชืง, ื™ื•ื—ืœืฃ ื‘ืฉืœื•ืฉื” ืžืื’ืจื™ื ื ืคืจื“ื™ื, ื”ืžืชืื™ืžื™ื ื™ื•ืชืจ ืœืืจื’ื•ืŸ ืขื‘ื•ื“ื” ืขื ืงื•ื“ ื‘ืœื™ื‘ื” ื”ืจืืฉื™ืช:

  • wireguard-linux.git - ืขืฅ ืœื™ื‘ื” ืฉืœื ืขื ืฉื™ื ื•ื™ื™ื ืžืคืจื•ื™ืงื˜ Wireguard, ืฉืžืžื ื• ืชื™ืงื•ื ื™ื ื™ื™ื‘ื“ืงื• ืœืฆื•ืจืš ื”ื›ืœืœื” ื‘ืงืจื ืœ ื•ื™ื•ืขื‘ืจื• ื‘ืื•ืคืŸ ืงื‘ื•ืข ืœืขื ืคื™ net/net-next.
  • wireguard-tools.git - ืžืื’ืจ ืขื‘ื•ืจ ื›ืœื™ ืขื–ืจ ื•ืกืงืจื™ืคื˜ื™ื ื”ืคื•ืขืœื™ื ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ, ื›ื’ื•ืŸ wg ื•-wg-quick. ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืื’ืจ ืœื™ืฆื™ืจืช ื—ื‘ื™ืœื•ืช ืœื”ืคืฆื•ืช.
  • wireguard-linux-compat.git - ืžืื’ืจ ืขื ื’ืจืกื” ืฉืœ ื”ืžื•ื“ื•ืœ, ืžืกื•ืคืง ื‘ื ืคืจื“ ืžื”ืงืจื ืœ ื•ื›ื•ืœืœ ืืช ืฉื›ื‘ืช compat.h ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืชืื™ืžื•ืช ืขื ื’ืจืขื™ื ื™ื ื™ืฉื ื™ื ื™ื•ืชืจ. ื”ืคื™ืชื•ื— ื”ืขื™ืงืจื™ ื™ืชื‘ืฆืข ื‘ืžืื’ืจ wireguard-linux.git, ืืš ื›ืœ ืขื•ื“ ื™ืฉ ื”ื–ื“ืžื ื•ืช ื•ืฆื•ืจืš ื‘ืงืจื‘ ื”ืžืฉืชืžืฉื™ื, ื’ืจืกื” ื ืคืจื“ืช ืฉืœ ื”ืชื™ืงื•ื ื™ื ืชืชืžื•ืš ื’ื ื‘ืฆื•ืจืช ืขื‘ื•ื“ื”.

ื ื–ื›ื™ืจ ืœื›ื ืฉ-VPN WireGuard ืžื™ื•ืฉื ืขืœ ื‘ืกื™ืก ืฉื™ื˜ื•ืช ื”ืฆืคื ื” ืžื•ื“ืจื ื™ื•ืช, ืžืกืคืง ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื ืžืื•ื“, ืงืœ ืœืฉื™ืžื•ืฉ, ืœืœื ืกื™ื‘ื•ื›ื™ื ื•ื”ื•ื›ื™ื— ืืช ืขืฆืžื• ื‘ืžืกืคืจ ืคืจื™ืกื•ืช ื’ื“ื•ืœื•ืช ื”ืžืขื‘ื“ื•ืช ื ืคื—ื™ ืชืขื‘ื•ืจื” ื’ื“ื•ืœื™ื. ื”ืคืจื•ื™ืงื˜ ืžืชืคืชื— ืžืฉื ืช 2015, ืขื‘ืจ ื‘ื™ืงื•ืจืช ื• ืื™ืžื•ืช ืคื•ืจืžืœื™ ืฉื™ื˜ื•ืช ื”ืฆืคื ื” ื‘ืฉื™ืžื•ืฉ. ืชืžื™ื›ืช WireGuard ื›ื‘ืจ ืžืฉื•ืœื‘ืช ื‘-NetworkManager ื•ื‘-systemd, ื•ืชื™ืงื•ื ื™ ืœื™ื‘ื” ื›ืœื•ืœื™ื ื‘ื”ืคืฆื•ืช ื”ื‘ืกื™ืกื™ื•ืช ื“ื‘ื™ืืŸ ืœื ื™ืฆื™ื‘, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, ืกื•ื‘ื’ืจืฃ ะธ ALT.

WireGuard ืžืฉืชืžืฉ ื‘ืงื•ื ืกืคื˜ ืฉืœ ื ื™ืชื•ื‘ ืžืคืชื—ื•ืช ื”ืฆืคื ื”, ื”ื›ื•ืœืœ ื”ืฆืžื“ืช ืžืคืชื— ืคืจื˜ื™ ืœื›ืœ ืžืžืฉืง ืจืฉืช ื•ืฉื™ืžื•ืฉ ื‘ื• ื›ื“ื™ ืœืื’ื“ ืืช ื”ืžืคืชื—ื•ืช ื”ืฆื™ื‘ื•ืจื™ื™ื. ืžืคืชื—ื•ืช ืฆื™ื‘ื•ืจื™ื™ื ืžื•ื—ืœืคื™ื ื›ื“ื™ ืœื™ืฆื•ืจ ื—ื™ื‘ื•ืจ ื‘ืฆื•ืจื” ื“ื•ืžื” ืœ-SSH. ื›ื“ื™ ืœื ื”ืœ ืžืฉื ื•ืžืชืŸ ืขืœ ืžืคืชื—ื•ืช ื•ืœื”ืชื—ื‘ืจ ืžื‘ืœื™ ืœื”ืคืขื™ืœ ื“ืžื•ืŸ ื ืคืจื“ ื‘ืžืจื—ื‘ ื”ืžืฉืชืžืฉ, ืžื ื’ื ื•ืŸ Noise_IK ืž ืžืกื’ืจืช ืคืจื•ื˜ื•ืงื•ืœ ืจืขืฉื“ื•ืžื” ืœืชื—ื–ื•ืงืช ื”ืžืคืชื—ื•ืช ื”ืžืื•ืฉืจื™ื ื‘-SSH. ื”ืขื‘ืจืช ื”ื ืชื•ื ื™ื ืžืชื‘ืฆืขืช ื‘ืืžืฆืขื•ืช ืื ืงืคืกื•ืœืฆื™ื” ื‘ืžื ื•ืช UDP. ื”ื•ื ืชื•ืžืš ื‘ืฉื™ื ื•ื™ ื›ืชื•ื‘ืช ื”-IP ืฉืœ ืฉืจืช ื”-VPN (ื ื“ื™ื“ื”) ืžื‘ืœื™ ืœื ืชืง ืืช ื”ื—ื™ื‘ื•ืจ ื•ืœืงื‘ื•ืข ืžื—ื“ืฉ ืื•ื˜ื•ืžื˜ื™ืช ืืช ื”ืœืงื•ื—.

ืœื”ืฆืคื ื” ืžืฉืžืฉ ืฆื•ืคืŸ ื–ืจื ChaCha20 ื•ืืœื’ื•ืจื™ืชื ืื™ืžื•ืช ื”ื•ื“ืขื•ืช (MAC) Poly1305, ื‘ืขื™ืฆื•ื‘ื• ืฉืœ ื“ื ื™ืืœ ื‘ืจื ืฉื˜ื™ื™ืŸ (ื“ื ื™ืืœ ื‘ืจื ืฉื˜ื™ื™ืŸ), ื˜ื ื™ื” ืœื ื’ื”
(ื˜ื ื—ื” ืœืื ื’) ื•ืคื™ื˜ืจ ืฉื•ื•ืื‘ื”. ChaCha20 ื•- Poly1305 ืžืžื•ืงืžื™ื ื›ืื ืœื•ื’ื™ื ืžื”ื™ืจื™ื ื•ื‘ื˜ื•ื—ื™ื ื™ื•ืชืจ ืฉืœ AES-256-CTR ื•-HMAC, ืฉื”ื˜ืžืขืช ื”ืชื•ื›ื ื” ืฉืœื”ื ืžืืคืฉืจืช ื”ืฉื’ืช ื–ืžืŸ ื‘ื™ืฆื•ืข ืงื‘ื•ืข ืœืœื ืฉื™ืžื•ืฉ ื‘ืชืžื™ื›ืช ื—ื•ืžืจื” ืžื™ื•ื—ื“ืช. ื›ื“ื™ ืœื™ืฆื•ืจ ืžืคืชื— ืกื•ื“ื™ ืžืฉื•ืชืฃ, ื ืขืฉื” ืฉื™ืžื•ืฉ ื‘ืคืจื•ื˜ื•ืงื•ืœ ื”ืขืงื•ืžื” ื”ืืœื™ืคื˜ื™ืช Diffie-Hellman ื‘ื™ื™ืฉื•ื CurveXNXX, ื’ื ื”ื•ืฆืข ืขืœ ื™ื“ื™ ื“ื ื™ืืœ ื‘ืจื ืฉื˜ื™ื™ืŸ. ื”ืืœื’ื•ืจื™ืชื ื”ืžืฉืžืฉ ืœื’ื™ื‘ื•ื‘ ื”ื•ื BLAKE2s (RFC7693).

ื‘ ื‘ื“ื™ืงื” Performance WireGuard ื”ืคื’ื™ืŸ ืชืคื•ืงื” ื’ื‘ื•ื”ื” ืคื™ 3.9 ื•ืชื’ื•ื‘ืชื™ื•ืช ื’ื‘ื•ื”ื” ืคื™ 3.8 ื‘ื”ืฉื•ื•ืื” ืœ-OpenVPN (256 ืกื™ื‘ื™ื•ืช AES ืขื HMAC-SHA2-256). ื‘ื”ืฉื•ื•ืื” ืœ-IPsec (256 ืกื™ื‘ื™ื•ืช ChaCha20+Poly1305 ื•-AES-256-GCM-128), WireGuard ืžืฆื™ื’ ืฉื™ืคื•ืจ ืงืœ ื‘ื‘ื™ืฆื•ืขื™ื (13-18%) ื•ื”ืฉื”ื™ื™ื” ื ืžื•ื›ื” ื™ื•ืชืจ (21-23%). ื”ื‘ื“ื™ืงื•ืช ื‘ื•ืฆืขื• ื‘ืืžืฆืขื•ืช ื”ื˜ืžืขื•ืช ืžื”ื™ืจื•ืช ืฉืœ ืืœื’ื•ืจื™ืชืžื™ ื”ืฆืคื ื” ืฉืคื•ืชื—ื• ืขืœ ื™ื“ื™ ื”ืคืจื•ื™ืงื˜ - ื”ืขื‘ืจื” ืœ-Crypto API ื”ืกื˜ื ื“ืจื˜ื™ ืฉืœ ื”ืงืจื ืœ ืขืœื•ืœื” ืœื”ื•ื‘ื™ืœ ืœื‘ื™ืฆื•ืขื™ื ื’ืจื•ืขื™ื ื™ื•ืชืจ.

VPN WireGuard ื”ืชืงื‘ืœ ืœืกื ื™ืฃ ื”-net-next ื•ื”ื•ื ืžื™ื•ืขื“ ืœื”ื›ืœืœื” ื‘ืœื™ื‘ืช Linux 5.6

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”