VPN WireGuard ื›ืœื•ืœ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6

ื”ื™ื•ื ืœื™ื ื•ืก ื”ืขื‘ื™ืจ ืœืขืฆืžื• ืืช ืกื ื™ืฃ ื”-net-next ืขื ืžืžืฉืงื™ VPN WireGuard. ืขืœ ื”ืื™ืจื•ืข ื”ื–ื” ัะพะพะฑั‰ะธะปะธ ื‘ืจืฉื™ืžืช ื”ืชืคื•ืฆื” ืฉืœ WireGuard.

VPN WireGuard ื›ืœื•ืœ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6

ืื™ืกื•ืฃ ื”ืงื•ื“ ืขื‘ื•ืจ ืœื™ื‘ืช Linux 5.6 ื”ื—ื“ืฉื” ื ืžืฉืš ื›ืขืช. WireGuard ื”ื•ื VPN ืžื”ื™ืจ ืžื”ื“ื•ืจ ื”ื‘ื ืฉืžื™ื™ืฉื ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ืžื•ื“ืจื ื™ืช. ื–ื” ืคื•ืชื— ื‘ืžืงื•ืจ ื›ื—ืœื•ืคื” ืคืฉื•ื˜ื” ื•ื ื•ื—ื” ื™ื•ืชืจ ืœ-VPNs ื”ืงื™ื™ืžื™ื. ื”ื›ื•ืชื‘ ื”ื•ื ืžื•ืžื—ื” ืื‘ื˜ื—ืช ื”ืžื™ื“ืข ื”ืงื ื“ื™ ื’'ื™ื™ืกื•ืŸ ื. ื“ื•ื ื ืคืœื“. ื‘ืื•ื’ื•ืกื˜ 2018, WireGuard ื–ื›ื” ืœืฉื‘ื—ื™ื ืžืืช ืœื™ื ื•ืก ื˜ื•ืจื•ื•ืืœื“ืก. ื‘ืขืจืš ื‘ืื•ืชื” ืชืงื•ืคื”, ื”ื—ืœื” ื”ืขื‘ื•ื“ื” ืœื›ืœื•ืœ VPN ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก. ื”ืชื”ืœื™ืš ืœืงื— ืงืฆืช ื™ื•ืชืจ ื–ืžืŸ.

"ืื ื™ ืจื•ืื” ืฉื’'ื™ื™ืกื•ืŸ ื”ื’ื™ืฉ ื‘ืงืฉืช ืžืฉื™ื›ื” ืœื›ืœื•ืœ ืืช WireGuard ื‘ืœื™ื‘ื”", ื›ืชื‘ ืœื™ื ื•ืก ื‘-2 ื‘ืื•ื’ื•ืกื˜ 2018. - ื”ืื ืื•ื›ืœ ืœื”ื›ืจื™ื– ืฉื•ื‘ ืขืœ ืื”ื‘ืชื™ ืœ-VPN ื”ื–ื” ื•ืœืงื•ื•ืช ืœืžื™ื–ื•ื’ ื‘ืงืจื•ื‘? ื”ืงื•ื“ ืื•ืœื™ ืœื ืžื•ืฉืœื, ืื‘ืœ ื”ืกืชื›ืœืชื™ ืขืœื™ื•, ื•ื‘ื”ืฉื•ื•ืื” ืœื–ื•ื•ืขื•ืช ืฉืœ OpenVPN ื•-IPSec, ื–ื• ื™ืฆื™ืจืช ืืžื ื•ืช ืืžื™ืชื™ืช."

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

ืœื‘ืกื•ืฃ, ื‘-9 ื‘ื“ืฆืžื‘ืจ 2019, ื“ื™ื™ื•ื•ื™ื“ ืก. ืžื™ืœืจ, ื”ืื—ืจืื™ ืขืœ ืชืช-ืžืขืจื›ืช ื”ืจืฉืช ืฉืœ ืœื™ื‘ืช ืœื™ื ื•ืงืก, ืงื™ื‘ืœ ืืช ืœืกื ื™ืฃ ื ื˜ื•-ื”ื‘ื ื˜ืœืื™ื ืขื ื”ื˜ืžืขืช ืžืžืฉืง VPN ืžืคืจื•ื™ืงื˜ WireGuard.

ื•ื”ื™ื•ื, 29 ื‘ื™ื ื•ืืจ 2020, ื”ืฉื™ื ื•ื™ื™ื ืขื‘ืจื• ืœืœื™ื ื•ืก ืœื”ื›ืœืœื” ื‘ืงืจื ืœ.

VPN WireGuard ื›ืœื•ืœ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6

ื”ื™ืชืจื•ื ื•ืช ื”ื ื˜ืขื ื™ื ืฉืœ WireGuard ืขืœ ืคื ื™ ืคืชืจื•ื ื•ืช VPN ืื—ืจื™ื:

  • ืงืœ ืœืฉื™ืžื•ืฉ.
  • ืžืฉืชืžืฉ ื‘ืงืจื™ืคื˜ื•ื’ืจืคื™ื” ืžื•ื“ืจื ื™ืช: ืžืกื’ืจืช ืคืจื•ื˜ื•ืงื•ืœ ืจืขืฉ, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF ื•ื›ื•'.
  • ืงื•ื“ ืงื•ืžืคืงื˜ื™, ืงืจื™ื, ืงืœ ื™ื•ืชืจ ืœื—ืงื•ืจ ื ืงื•ื“ื•ืช ืชื•ืจืคื”.
  • ื‘ื™ืฆื•ืขื™ื ื’ื‘ื•ื”ื™ื.
  • ื‘ืจื•ืจ ื•ืžืฉื•ื›ืœืœ ืžืคืจื˜.

ื›ืœ ื”ืœื•ื’ื™ืงืช ื”ืœื™ื‘ื” ืฉืœ WireGuard ืชื•ืคืกืช ืคื—ื•ืช ืž-4000 ืฉื•ืจื•ืช ืงื•ื“, ื‘ืขื•ื“ ืฉ-OpenVPN ื•-IPSec ื“ื•ืจืฉื™ื ืžืื•ืช ืืœืคื™ ืฉื•ืจื•ืช.

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

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

ืžืžืฆืื™ื ืžื‘ื—ื ื™ ื‘ื™ืฆื•ืขื™ื ืžื”ืืชืจ ื”ืจืฉืžื™:

ืจื•ื—ื‘ ืคืก (ืžื’ื”-ื‘ื™ื˜/ืฉื ื™ื•ืช)
VPN WireGuard ื›ืœื•ืœ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6

ืคื™ื ื’ (ms)
VPN WireGuard ื›ืœื•ืœ ื‘ืœื™ื‘ืช ืœื™ื ื•ืงืก 5.6

ืชืฆื•ืจืช ื‘ื“ื™ืงื”:

  • Intel Core i7-3820QM ื•-Intel Core i7-5200U
  • ื›ืจื˜ื™ืกื™ Gigabit Intel 82579LM ื•-Intel I218LM
  • ืœื™ื ื•ืงืก 4.6.1
  • ืชืฆื•ืจืช WireGuard: 256 ืกื™ื‘ื™ื•ืช ChaCha20 ืขื Poly1305 ืขื‘ื•ืจ MAC
  • ืชืฆื•ืจืช IPsec ืจืืฉื•ื ื”: 256 ืกื™ื‘ื™ื•ืช ChaCha20 ืขื Poly1305 ืขื‘ื•ืจ MAC
  • ืชืฆื•ืจืช IPsec ืฉื ื™ื™ื”: AES-256-GCM-128 (ืขื AES-NI)
  • ืชืฆื•ืจืช OpenVPN: ื—ื‘ื™ืœืช ืฆื•ืคืŸ ืžืงื‘ื™ืœื” ืฉืœ AES 256 ืกื™ื‘ื™ื•ืช ืขื HMAC-SHA2-256, ืžืฆื‘ UDP
  • ื”ื‘ื™ืฆื•ืขื™ื ื ืžื“ื“ื• ื‘ืืžืฆืขื•ืช iperf3, ืžืฆื™ื’ ืืช ื”ืชื•ืฆืื” ื”ืžืžื•ืฆืขืช ื‘ืžืฉืš 30 ื“ืงื•ืช.

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

"ืžื ืงื•ื“ืช ื”ืžื‘ื˜ ืฉืœื™, WireGuard ื”ื•ื ื‘ื“ืจืš ื›ืœืœ ืื™ื“ื™ืืœื™ ืขื‘ื•ืจ ื”ืžืฉืชืžืฉ. ื›ืœ ื”ื”ื—ืœื˜ื•ืช ื‘ืจืžื” ื ืžื•ื›ื” ืžืชืงื‘ืœื•ืช ื‘ืžืคืจื˜, ื›ืš ืฉืชื”ืœื™ืš ื”ื›ื ืช ืชืฉืชื™ืช VPN ื˜ื™ืคื•ืกื™ืช ืœื•ืงื— ื“ืงื•ืช ืกืคื•ืจื•ืช ื‘ืœื‘ื“. ื–ื” ื›ืžืขื˜ ื‘ืœืชื™ ืืคืฉืจื™ ืœืงืœืงืœ ืืช ื”ืชืฆื•ืจื” - ะฟะธัะฐะปะธ ืขืœ Habrรฉ ื‘-2018. - ืชื”ืœื™ืš ื”ืชืงื ื” ืžืชื•ืืจ ื‘ืคื™ืจื•ื˜ ื‘ืืชืจ ื”ืจืฉืžื™, ืื ื™ ืจื•ืฆื” ืœืฆื™ื™ืŸ ื‘ื ืคืจื“ ืืช ื”ืžืฆื•ื™ืŸ ืชืžื™ื›ื” ื‘-OpenWRT. ืงืœื•ืช ื”ืฉื™ืžื•ืฉ ื•ื”ืงื•ืžืคืงื˜ื™ื•ืช ื”ื–ื• ืฉืœ ื‘ืกื™ืก ื”ืงื•ื“ ื”ื•ืฉื’ื” ืขืœ ื™ื“ื™ ื‘ื™ื˜ื•ืœ ื—ืœื•ืงืช ื”ืžืคืชื—ื•ืช. ืื™ืŸ ืžืขืจื›ืช ืื™ืฉื•ืจื™ื ืžื•ืจื›ื‘ืช ื•ื›ืœ ื”ื–ื•ื•ืขื” ื”ืืจื’ื•ื ื™ืช ื”ื–ื•; ืžืคืชื—ื•ืช ื”ืฆืคื ื” ืงืฆืจื™ื ืžื•ืคืฆื™ื ื‘ื“ื•ืžื” ืœืžืคืชื—ื•ืช SSH."

ืคืจื•ื™ืงื˜ WireGuard ืžืชืคืชื— ืžืื– 2015, ื”ื•ื ืขื‘ืจ ื‘ื™ืงื•ืจืช ื• ืื™ืžื•ืช ืคื•ืจืžืœื™. ืชืžื™ื›ืช WireGuard ืžืฉื•ืœื‘ืช ื‘-NetworkManager ื•ื‘-systemd, ื•ืชื™ืงื•ื ื™ ืœื™ื‘ื” ื›ืœื•ืœื™ื ื‘ื”ืคืฆื•ืช ื”ื‘ืกื™ืกื™ื•ืช ืฉืœ Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ื•-ALT.

ืžืงื•ืจ: www.habr.com

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