WireGuard β€” прСкрасный VPN Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ?

WireGuard — прСкрасный VPN Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ?

Наступило врСмя, ΠΊΠΎΠ³Π΄Π° VPN ΡƒΠΆΠ΅ Π½Π΅ являСтся ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ экзотичСским инструмСнтом Π±ΠΎΡ€ΠΎΠ΄Π°Ρ‚Ρ‹Ρ… сисадминов. Π—Π°Π΄Π°Ρ‡ΠΈ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ€Π°Π·Π½Ρ‹Π΅, Π½ΠΎ Ρ„Π°ΠΊΡ‚ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ VPN стал Π½ΡƒΠΆΠ΅Π½ Π²ΠΎΠΎΠ±Ρ‰Π΅ всСм.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… VPN Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΈΡ… тяТСло ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ, Π΄ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ, Π° Ρ‚Π°ΠΊ ΠΆΠ΅ Π² Π½ΠΈΡ… ΠΏΠΎΠ»Π½ΠΎ legacy ΠΊΠΎΠ΄Π° ΡΠΎΠΌΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ качСства.

НСсколько Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄ канадский спСциалист ΠΏΠΎ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ бСзопасности Jason A. Donenfeld Ρ€Π΅ΡˆΠΈΠ», Ρ‡Ρ‚ΠΎ Ρ…Π²Π°Ρ‚ΠΈΡ‚ это Ρ‚Π΅Ρ€ΠΏΠ΅Ρ‚ΡŒ, ΠΈ Π½Π°Ρ‡Π°Π» Ρ€Π°Π±ΠΎΡ‚Ρƒ Π½Π°Π΄ WireGuard. БСйчас WireGuard готовится ΠΊ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡŽ Π² состав ядра Linux, ΠΎΠ½ Π΄Π°ΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ» ΠΏΠΎΡ…Π²Π°Π»Ρ‹ ΠΎΡ‚ Линуса Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄ΡΠ° ΠΈ Π² амСриканском сСнатС.

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

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

НСуТСли Π½Π°ΠΉΠ΄Π΅Π½Π° сСрСбрянная пуля? OpenVPN ΠΈ IPSec ΠΏΠΎΡ€Π° Π·Π°ΠΊΠ°ΠΏΡ‹Π²Π°Ρ‚ΡŒ? Π― Ρ€Π΅ΡˆΠΈΠ» с этим Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ, Π° Π·Π°ΠΎΠ΄Π½ΠΎ сдСлал скрипт для автоматичСской установки Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ VPN сСрвСра.

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

  • БоздаСтся WireGuard интСрфСйс, Π΅ΠΌΡƒ назначаСтся ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ΠΈ IP адрСс. Π—Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ настройки Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΈΡ€ΠΎΠ²: ΠΈΡ… ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ, IP адрСса ΠΈ Ρ‚.Π΄.
  • ВсС IP ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹, приходящиС Π½Π° WireGuard интСрфСйс ΠΈΠ½ΠΊΠ°ΠΏΡΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² UDP ΠΈ бСзопасно Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΈΡ€Π°ΠΌ.
  • ΠšΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π·Π°Π΄Π°ΡŽΡ‚ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP адрСс сСрвСра Π² настройках. Π‘Π΅Ρ€Π²Π΅Ρ€ автоматичСски ΡƒΠ·Π½Π°Π΅Ρ‚ внСшниС адрСса ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ², ΠΊΠΎΠ³Π΄Π° ΠΎΡ‚ Π½ΠΈΡ… приходят ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.
  • Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP адрСс Π½Π΅ прСрывая Ρ€Π°Π±ΠΎΡ‚Ρ‹. ΠŸΡ€ΠΈ этом ΠΎΠ½ ΠΎΡ‚ΠΎΡˆΠ»Π΅Ρ‚ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈ ΠΎΠ½ΠΈ обновят свою ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ Π½Π° Π»Π΅Ρ‚Ρƒ.
  • Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ‚ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ Cryptokey Routing. WireGuard ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ ΠΈ отправляСт ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ Π½Π° основании ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΏΠΈΡ€Π°. Когда сСрвСр Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚, провСряСтся Π΅Π³ΠΎ src ΠΏΠΎΠ»Π΅. Если ΠΎΠ½ΠΎ соотвСтствуСт с ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠ΅ΠΉ allowed-ips Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΈΡ€Π°, Ρ‚ΠΎ ΠΏΠ°ΠΊΠ΅Ρ‚ принимаСтся интСрфСйсом WireGuard. ΠŸΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ исходящСго ΠΏΠ°ΠΊΠ΅Ρ‚Π° происходит соотвСтствСнная ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°: бСрСтся dst ΠΏΠΎΠ»Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π° ΠΈ Π½Π° основании Π΅Π³ΠΎ выбираСтся ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΠΈΡ€, ΠΏΠ°ΠΊΠ΅Ρ‚ подписываСтся своим ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, ΡˆΠΈΡ„Ρ€ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ ΠΏΠΈΡ€Π° ΠΈ отправляСтся Π½Π° remote endpoint.

Вся основная Π»ΠΎΠ³ΠΈΠΊΠ° WireGuard Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΅ 4 тысяч строк ΠΊΠΎΠ΄Π°, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ OpenVPN ΠΈ IPSec ΠΈΠΌΠ΅ΡŽΡ‚ сотни тысяч строк. Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ соврСмСнных ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² прСдлагаСтся Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² состав ядра Linux Π½ΠΎΠ²Ρ‹ΠΉ криптографичСский API Zinc. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΈΠ΄Π΅Ρ‚ обсуТдСниС, насколько это удачная идСя.

ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

МаксимальноС прСимущСство Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ (ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с OpenVPN ΠΈ IPSec) Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ Π½Π° Linux систСмах, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°ΠΌ WireGuard Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ модуля ядра. ΠšΡ€ΠΎΠΌΠ΅ этого ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ macOS, Android, iOS, FreeBSD ΠΈ OpenBSD, Π½ΠΎ Π² Π½ΠΈΡ… WireGuard выполняСтся Π² userspace со всСми Π²Ρ‹Ρ‚Π΅ΠΊΠ°ΡŽΡ‰ΠΈΠΌΠΈ послСдствиями для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Windows ΠΎΠ±Π΅Ρ‰Π°ΡŽΡ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² блиТайшСм Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π±Π΅Π½Ρ‡ΠΌΠ°Ρ€ΠΊΠΎΠ² с ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ сайта:

WireGuard — прСкрасный VPN Π±ΡƒΠ΄ΡƒΡ‰Π΅Π³ΠΎ?

Мой ΠΎΠΏΡ‹Ρ‚ использования

Π― Π½Π΅ экспСрт ΠΏΠΎ настройкС VPN. ΠžΠ΄Π½Π°ΠΆΠ΄Ρ‹ настраивал OpenVPN Ρ€ΡƒΡ‡ΠΊΠ°ΠΌΠΈ ΠΈ это Π±Ρ‹Π»ΠΎ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΡƒΡ‚ΠΎΡ€Π½ΠΎ, Π° IPSec Π΄Π°ΠΆΠ΅ ΠΈ Π½Π΅ пытался. Блишком ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, ΠΎΡ‡Π΅Π½ΡŒ Π»Π΅Π³ΠΊΠΎ Π²Ρ‹ΡΡ‚Ρ€Π΅Π»ΠΈΡ‚ΡŒ сСбС Π² Π½ΠΎΠ³Ρƒ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ я всСгда пользовался Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΌΠΈ скриптами для настройки сСрвСра.

Π’Π°ΠΊ Π²ΠΎΡ‚, WireGuard, с ΠΌΠΎΠ΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния, Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ВсС Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ приняты Π² спСцификации, поэтому процСсс ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½ΠΎΠΉ VPN инфраструктуры Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ всСго нСсколько ΠΌΠΈΠ½ΡƒΡ‚. ΠΠ°Ρ„Π°ΠΊΠ°ΠΏΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ практичСски Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.

ΠŸΡ€ΠΎΡ†Π΅ΡΡ установки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ описан Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌ сайтС, ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ хочСтся ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ OpenWRT.

Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ wg:

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

Π”Π°Π»Π΅Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ сСрвСрный ΠΊΠΎΠ½Ρ„ΠΈΠ³ /etc/wireguard/wg0.conf со ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ содСрТаниСм:

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

ΠΈ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ скриптом wg-quick:

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

Π’ систСмах с systemd вмСсто этого ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ sudo systemctl start [email protected].

На клиСнтской машинС, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ /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 

И Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ:

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

ΠžΡΡ‚Π°Π»ΠΎΡΡŒ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ NAT Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ³Π»ΠΈ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π² Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, ΠΈ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ!

Π’Π°ΠΊΡƒΡŽ простоту использования ΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ‹ ΡƒΠ΄Π°Π»ΠΎΡΡŒ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ Π·Π° счСт ΠΎΡ‚ΠΊΠ°Π·Π° ΠΎΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Π΄ΠΈΡΡ‚Ρ€ΠΈΠ±ΡŒΡŽΡ†ΠΈΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π—Π΄Π΅ΡΡŒ Π½Π΅Ρ‚ слоТной систСмы сСртификатов ΠΈ всСго этого ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ уТаса, ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠ΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΠΊΠ°ΠΊ SSH ΠΊΠ»ΡŽΡ‡ΠΈ. Но Π² связи с этим Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°: WireGuard Π±ΡƒΠ΄Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ просто Π²Π½Π΅Π΄Ρ€ΡΡ‚ΡŒ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… сСтях.

Из нСдостатков стоит ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ WireGuard Π½Π΅ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· HTTP proxy, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π² качСствС транспорта Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» UDP. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ вопрос, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ„ΡƒΡΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»? ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это Π½Π΅ прямая Π·Π°Π΄Π°Ρ‡Π° VPN, Π½ΠΎ для OpenVPN, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ способы маскировки ΠΏΠΎΠ΄ HTTPS, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ТитСлям Ρ‚ΠΎΡ‚Π°Π»ΠΈΡ‚Π°Ρ€Π½Ρ‹Ρ… стран ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΎΠΌ.

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Подводя ΠΈΡ‚ΠΎΠ³, это ΠΎΡ‡Π΅Π½ΡŒ интСрСсный ΠΈ пСрспСктивный ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΆΠ΅ сСйчас ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π½Π° Π»ΠΈΡ‡Π½Ρ‹Ρ… сСрвСрах. Какой ΠΏΡ€ΠΎΡ„ΠΈΡ‚? Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π° Linux систСмах, простота настройки ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ, компактная ΠΈ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Π°Ρ кодовая Π±Π°Π·Π°. Однако, Π±Ρ€ΠΎΡΠ°Ρ‚ΡŒΡΡ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠ»Π΅ΠΊΡΠ½ΡƒΡŽ инфраструктуру Π½Π° WireGuard Π΅Ρ‰Π΅ Ρ€Π°Π½ΠΎ, стоит ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² состав ядра Linux.

Для экономии своСго (ΠΈ вашСго) Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ я Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π» автоматичСский установщик WireGuard. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ Π»ΠΈΡ‡Π½Ρ‹ΠΉ VPN для сСбя ΠΈ своих Π·Π½Π°ΠΊΠΎΠΌΡ‹Ρ… Π΄Π°ΠΆΠ΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π² этом Π½Π΅ понимая.

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