Π’ ядро Linux 5.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ VPN WireGuard

БСгодня Линус пСрСнёс ΠΊ сСбС Π²Π΅Ρ‚ΠΊΡƒ net-next с VPN-интСрфСйсами WireGuard. Об этом событии сообщили Π² спискС рассылки WireGuard.

Π’ ядро Linux 5.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ VPN WireGuard

Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ продолТаСтся сбор ΠΊΠΎΠ΄Π° для Π½ΠΎΠ²ΠΎΠ³ΠΎ ядра Linux 5.6. WireGuard β€” быстрый VPN Π½ΠΎΠ²ΠΎΠ³ΠΎ поколСния, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° соврСмСнная криптография. Он ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ разрабатывался ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ простая ΠΈ удобная Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ VPN. Автор — канадский спСциалист ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности ДТСйсон Π”ΠΎΠ½Π΅Π½Ρ„ΠΈΠ»Π΄ (Jason A. Donenfeld). Π’ августС 2018 Π³ΠΎΠ΄Π° WireGuard удостоился ΠΏΠΎΡ…Π²Π°Π»Ρ‹ ΠΎΡ‚ Линуса Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ°. ΠŸΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π² Ρ‚ΠΎ врСмя Π½Π°Ρ‡Π°Π»Π°ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ VPN Π² ядро Linux. ΠŸΡ€ΠΎΡ†Π΅ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ затянулся.

Β«Π’ΠΈΠΆΡƒ, Ρ‡Ρ‚ΠΎ ДТСйсон сдСлал ΠΏΡƒΠ»-рСквСст для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ WireGuard Π² ядро, β€” писал Линус 2 августа 2018 Π³ΠΎΠ΄Π°.Β β€” ΠœΠΎΠ³Ρƒ я просто Π΅Ρ‰Ρ‘ Ρ€Π°Π· Π·Π°ΡΠ²ΠΈΡ‚ΡŒ ΠΎ своСй любви ΠΊ этому VPN ΠΈ Π½Π°Π΄Π΅ΡΡ‚ΡŒΡΡ Π½Π° скороС слияниС? ΠœΠΎΠΆΠ΅Ρ‚, ΠΊΠΎΠ΄ ΠΈ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½, Π½ΠΎ я просмотрСл Π΅Π³ΠΎ, ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с уТасами OpenVPN ΠΈ IPSec, это настоящСС ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ искусства».

НСсмотря Π½Π° ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠ΅ Линуса, слияниС Π·Π°Ρ‚ΡΠ½ΡƒΠ»ΠΎΡΡŒ Π½Π° ΠΏΠΎΠ»Ρ‚ΠΎΡ€Π° Π³ΠΎΠ΄Π°. Основная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° оказалась Π² привязкС ΠΊ собствСнным рСализациям криптографичСских Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΠ»ΠΈΡΡŒ для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ПослС Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π³ΠΎΠ²ΠΎΡ€ΠΎΠ² Π² сСнтябрС 2019 Π³ΠΎΠ΄Π° Π±Ρ‹Π»ΠΎ принято компромиссноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ пСрСвСсти ΠΏΠ°Ρ‚Ρ‡ΠΈ Π½Π° ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ Π² ядрС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Crypto API, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Ρƒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² WireGuard Π΅ΡΡ‚ΡŒ ΠΏΡ€Π΅Ρ‚Π΅Π½Π·ΠΈΠΈ Π² области ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΠΎΠ±Ρ‰Π΅ΠΉ бСзопасности. Но Ρ€Π΅ΡˆΠΈΠ»ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WireGuard Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Zinc API ΠΈ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² ядро. Π’ ноябрС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ядра сдСрТали ΠΎΠ±Π΅Ρ‰Π°Π½ΠΈΠ΅ ΠΈ согласились пСрСнСсти Π² основноС ядро Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈΠ· Zinc. НапримСр, Π² Crypto API Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π½Ρ‹Π΅ Π² WireGuard быстрыС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ChaCha20 ΠΈ Poly1305.

Π’ ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ½Ρ†ΠΎΠ², 9 дСкабря 2019 Π³ΠΎΠ΄Π° Дэвид ΠœΠΈΠ»Π»Π΅Ρ€ (David S. Miller), ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ подсистСму ядра Linux, принял Π² состав Π²Π΅Ρ‚ΠΊΠΈ net-next ΠΏΠ°Ρ‚Ρ‡ΠΈ с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ VPN-интСрфСйса ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° WireGuard.

А сСгодня 29 января 2020 Π³ΠΎΠ΄Π° измСнСния ΡƒΡˆΠ»ΠΈ ΠΊ Линусу для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ядро.

Π’ ядро Linux 5.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ VPN WireGuard

ЗаявлСнныС прСимущСства WireGuard Π½Π°Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ VPN Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ:

  • ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ Π² использовании.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΡŽ: Noise protocol framework, Curve25519, ChaCha20, Poly1305, BLAKE2, SipHash24, HKDF ΠΈ Ρ‚.Π΄.
  • ΠšΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄, ΠΏΡ€ΠΎΡ‰Π΅ ΠΈΡΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° уязвимости.
  • Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.
  • Чёткая ΠΈ проработанная спСцификация.

Вся основная Π»ΠΎΠ³ΠΈΠΊΠ° WireGuard Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 4000 строк ΠΊΠΎΠ΄Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ OpenVPN ΠΈ IPSec это сотни тысяч строк.

Β«Π’ WireGuard примСняСтся концСпция ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ, которая ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ привязку ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ сСтСвому интСрфСйсу Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ для связывания ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. ОбмСн ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ для установки соСдинСния производится ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с SSH. Для согласования ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΈ соСдинСния Π±Π΅Π· запуска ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΌΠΎΠ½Π° Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ примСняСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Noise_IK ΠΈΠ· Noise Protocol Framework, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ authorized_keys Π² SSH. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΄Π°Π½Π½Ρ‹Ρ… осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΡΡ†ΠΈΡŽ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ UDP. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ смСна IP-адрСса VPN-сСрвСра (Ρ€ΠΎΡƒΠΌΠΈΠ½Π³) Π±Π΅Π· Ρ€Π°Π·Ρ€Ρ‹Π²Π° соСдинСния с автоматичСской пСрСнастройкой ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, β€” ΠΏΠΈΡˆΠ΅Ρ‚ Opennet.

Для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²Ρ‹ΠΉ ΡˆΠΈΡ„Ρ€ ChaCha20 ΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ сообщСний (MAC) Poly1305, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹Π΅ ДэниСлом Π‘Π΅Ρ€Π½ΡˆΡ‚Π΅ΠΉΠ½ΠΎΠΌ (Daniel J. Bernstein), Π’Π°Π½Π΅ΠΉ Π›Π°Π½Π³Π΅ (Tanja Lange) ΠΈ ΠŸΠΈΡ‚Π΅Ρ€ΠΎΠΌ Π¨Π²Π°Π±Π΅ (Peter Schwabe). ChaCha20 ΠΈ Poly1305 ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ быстрыС ΠΈ бСзопасныС Π°Π½Π°Π»ΠΎΠ³ΠΈ AES-256-CTR ΠΈ HMAC, программная рСализация ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ фиксированного Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π±Π΅Π· задСйствования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ. Для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ совмСстного сСкрСтного ΠΊΠ»ΡŽΡ‡Π° примСняСтся ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π”ΠΈΡ„Ρ„ΠΈ-Π₯Π΅Π»Π»ΠΌΠ°Π½Π° Π½Π° эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Curve25519, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ДэниСлом Π‘Π΅Ρ€Π½ΡˆΡ‚Π΅ΠΉΠ½ΠΎΠΌ. Для Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ BLAKE2s (RFC7693)Β».

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ тСстов ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта:

ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ½Π°Ρ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ (ΠΌΠ΅Π³Π°Π±ΠΈΡ‚/с)
Π’ ядро Linux 5.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ VPN WireGuard

Пинг (мс)
Π’ ядро Linux 5.6 Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ VPN WireGuard

ВСстовая конфигурация:

  • Intel Core i7-3820QM ΠΈ Intel Core i7-5200U
  • Π“ΠΈΠ³Π°Π±ΠΈΡ‚Π½Ρ‹Π΅ ΠΊΠ°Ρ€Ρ‚Ρ‹ Intel 82579LM ΠΈ Intel I218LM
  • Linux 4.6.1
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ WireGuard: 256-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ChaCha20 с Poly1305 для MAC
  • ΠŸΠ΅Ρ€Π²Π°Ρ конфигурация IPsec: 256-Π±ΠΈΡ‚Π½Ρ‹ΠΉ ChaCha20 с Poly1305 для MAC
  • Вторая конфигурация IPsec: AES-256-GCM-128 (с AES-NI)
  • ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ OpenVPN: эквивалСнтный ΡˆΠΈΡ„Ρ€ΠΎΠ½Π°Π±ΠΎΡ€ 256-Π±ΠΈΡ‚Π½ΠΎΠ³ΠΎ AES с HMAC-SHA2-256, Ρ€Π΅ΠΆΠΈΠΌ UDP
  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ€ΡΠ»Π°ΡΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ iperf3, ΠΏΠΎΠΊΠ°Π·Π°Π½ срСдний Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π° 30 ΠΌΠΈΠ½ΡƒΡ‚.

ВСорСтичСски, послС ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΈ Π² сСтСвой стСк WireGuard Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ быстрСС. Но Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΈΠ·-Π·Π° ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° встроСнныС Π² ядро криптографичСскиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Crypto API. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ всС ΠΈΠ· Π½ΠΈΡ… Π΅Ρ‰Ρ‘ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ Π΄ΠΎ уровня быстродСйствия Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ WireGuard.

Β«Π‘ ΠΌΠΎΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, WireGuard Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ВсС Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ приняты Π² спСцификации, поэтому процСсс ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ VPN инфраструктуры Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚. ΠΠ°ΠΏΡƒΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, β€” писали Π½Π° Π₯Π°Π±Ρ€Π΅ Π² 2018 Π³ΠΎΠ΄Ρƒ.Β β€” ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ описан Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ хочСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ OpenWRT. Π’Π°ΠΊΠΎΠΉ простоты использования ΠΈ компактности ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π·Π° счёт ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ слоТной систСмы сСртификатов ΠΈ всСго этого ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ уТаса, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ SSH-ΠΊΠ»ΡŽΡ‡ΠΈΒ».

ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ WireGuard развиваСтся с 2015 Π³ΠΎΠ΄Π°, ΠΎΠ½ ΠΏΡ€ΠΎΡˆΡ‘Π» Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WireGuard ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π° Π² NetworkManager ΠΈ systemd, Π° ΠΏΠ°Ρ‚Ρ‡ΠΈ для ядра входят Π² Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ состав дистрибутивов Debian Unstable, Mageia, Alpine, Arch, Gentoo, OpenWrt, NixOS, Subgraph ΠΈ ALT.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com