LINUX.ORG.RU

WireGuard — новая реализация VPN для Linux

 ,


1

2

В рассылке для разработчиков ядра Linux представлена новая реализация интерфейсов для шифрованных и аутентифицированных каналов. WireGuard — новый вариант реализации VPN, сочетающий простоту реализации (около 4 тысяч строк) с полным функционалом проверенных криптографических алгоритмов. По мнению автора Джейсона Доненфилда (Jason A. Donenfeld), главы компании Edge Security и ее специалиста по безопасности, его реализация лишена усложнений, присущих таким проектам, как xfrm и OpenVPN.

Проект WireGuard развивается несколько лет и уже прошел стадию рецензирования криптографии, что позволяет говорить о его внедрении в ядро и публичном тестировании. После прохождения тестирования в ядре Linux предполагается портировать наработки в другие ОС. Код распространяется под лицензией GNU GPLv2.

Тесты показали, что WireGuard имеет в 4 раза лучшую пропускную способность и в 3.8 раза более отзывчив по сравнению с OpenVPN (256-bit AES c HMAC-SHA2–256). WireGuard также опережает по производительности IPsec (256-bit ChaCha20+Poly1305 и AES-256-GCM-128), но существенный выигрыш для IPsec заметен в основном в области снижения задержек.

>>> Подробности



Проверено: Aceler ()

Мне дали 4 килобайта данных, и отправили в Америку. В локальной сети провайдера всё было тихо и мирно. Но как только я зашёл в интернет... По левому ряду нёсся поток спам-сообщений со встроенными вирусняками. Армия личеров атаковала роутер клиента, который вышел в оффлайн. Паразитный трафик блокировал полезный, из-за чего в редких случаях запрашивался повтор - что опять же нагружало сеть.

Ещё там были стримы летсплееров и порнотрафик. А ещё - какие-то странные, безликие существа. Мне вспомнилось что клетки крови - единственные в организме челвоека, которые не имеют ядра. «Это трафик VPN», - сказал мне сенсей. Он запихнул меня в портал чуть ли не насильно!

Неожиданно я оказался в пустом туннеле, в котором никого не было, и через каждые 20-25 метров работал кондиционер. Я нёсся на полных скоростях, не боясь столкнуться с широковещательной рассылкой IPTV или с сетевым сражением в Доту! Но это в Матрице. В реальном мире я был расщиплён на белых безликих существ - VPN-трафик.

Я снова собрался воедино, когда вышел из портала. Вокруг была тихая американская ночь. Лишь гулкие удары по фаерволлу нарушали тишину ночи.

Что скажу по поводу новости? Одобряю! Мне каждый раз неприятно превращаться в безликую массу мелких существ, но и по реальному миру лететь не хочется - он мерзок... Надеюсь что когда я снова пойду в рейс, мне дадут портал в новый VPN - и там найдётся компромисс...

ZenitharChampion ★★★★★ ()

Выглядит весьма серьёзно. Удачи проекту!

Sunderland93 ★★★★★ ()

Чем оно лучше GoVPN и зачем ему быть в ядре?

anonymous ()

Все кругом Д'Артаньяны

Тесты показали, что WireGuard имеет в 4 раза лучшую пропускную способность и в 3.8 раза более отзывчив по сравнению с OpenVPN (256-bit AES c HMAC-SHA2–256). WireGuard также опережает по производительности IPsec (256-bit ChaCha20+Poly1305 и AES-256-GCM-128), но существенный выигрыш для IPsec заметен в основном в области снижения задержек.

В чём подвох? Либо OpenVPN и IPsec идиоты писали, либо в WireGuard какая-то особенность о которой не рассказали. Последнее более вероятно.

Camel ★★★★★ ()

Не «функционал», а хотя бы «функциональность»

anonymous ()
Ответ на: Все кругом Д'Артаньяны от Camel

OpenVPN в юзерспейсе, а это в ядре, поэтому их немного странно сравнивать по скорости вообще. А с айпсеком у них примерно паритет.

blind_oracle ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Креатив гениален/Автор молодец.

Пиши еще.

leg0las ★★★★★ ()

уже запилил на роутер, вовсю играюсь. интересный проект

vvviperrr ★★★★★ ()

А притворяться https-ом он умеет? Без этого скоро видимо будет не актуально

makoven ★★★★★ ()
Ответ на: Все кругом Д'Артаньяны от Camel

в опенвпн пакеты 2 лишних раза копируются между юзер и кернелспейсом. ядерное решение заведомо будет быстрее. по поводу айписека я думаю выйгрыш в том, что айписек для шифрования использует крипто апи, который накладывает очередной уровень абстракции, когда тут используется своя криптография напрямую. так или иначе по скорости не сильно уступает айписеку, но настройка в разы проще.

vvviperrr ★★★★★ ()
Ответ на: комментарий от makoven

каким хттпсом? поддерживается только udp транспорт, русским языком сказано ведь.

vvviperrr ★★★★★ ()
Ответ на: комментарий от vvviperrr

Думаю что скорость на самом деле одинкова у этого решения и у ipsec, но 4k строк это вин. Ipsec и правда усложнен. Но я так понимаю это без IKE, который тоже не простая штука, а без него или аналога не камильфо получается.

zloelamo ★★★ ()
Ответ на: комментарий от makoven

Притворяться https-ом умеет японский SoftEther VPN (при условии использования его собственной реализации VPN). Бонусом он ещё умеет тормозной OpenVPN, отлично пробивает NAT и многое другое.

anonymous ()
Ответ на: комментарий от ZenitharChampion

Эту новость стоило прочитать как минимум из-за поста Зенитара.

Отсыпьте ему шкворца, чтоль.

l0stparadise ★★★★★ ()
Последнее исправление: l0stparadise (всего исправлений: 1)
Ответ на: комментарий от vvviperrr

Ведро патчил, или оно уже в апстриме? С какой версии?

MrClon ★★★★★ ()
Ответ на: комментарий от MrClon

ничо не патчил, собрал как модуль. нету еще в апстриме, проталкивают

vvviperrr ★★★★★ ()

Во первых, WireGuard не линукс название. Можно wguard, wireguard...

Во вторых, что сразу в ядро. Помоему идея пахнет безрассудством.

Для начала, просто пакет в репе и лет 10 на обкатку.

anonymous ()
Ответ на: комментарий от anonymous

Так оно ведь ядерное, где ему быть, если не в ядре. И ведь никто не заставляет вкомпиливать его в ядро по умолчанию, можно-ведь модулем, и подгружать его по умолчанию не обязательно, и собирать его по умолчанию не обязательно.

MrClon ★★★★★ ()
Ответ на: комментарий от vvviperrr

поддерживается только udp транспорт

А вот это печально. Нередко на проксе режут UDP на корню, поэтому приходится OpenVPN пускать по TCP. У меня на работе так, например.

Axon ★★★★★ ()
Ответ на: комментарий от Axon

А вот это печально. Нередко на проксе режут UDP на корню, поэтому приходится OpenVPN пускать по TCP. У меня на работе так, например.

все так. вот только tcp как транспорт для vpn создает дикий оверхед (tcp over tcp), в результате чего скорость и отзывчивость (в первую очередь) хорошо так проседают. очевидно автор преследовал другие цели, нежели поддержку всего и везде (для этого есть ethersoft).

у меня тоже на работе прокся все режет, сижу в интернетах через ssh туннель по 443 порту через corkscrew. сабжевый ж vpn хочу сделать основным на роутере в замену опенвпна.

vvviperrr ★★★★★ ()
Последнее исправление: vvviperrr (всего исправлений: 1)
Ответ на: комментарий от umka

ты только что сравнил программно-аппаратный комплекс с программным обеспечением?

vvviperrr ★★★★★ ()

эдакий vsftpd в мире vpn?

anonymous ()
Ответ на: комментарий от vvviperrr

Роутер на каком проце? Оптимизация криптоалгоритмов в wg на не_x86 норм, вот думаю?

PtiCa ★★★★★ ()
Ответ на: комментарий от PtiCa

на arm с openwrt. скорость в локалке вообще не упала - все 100мбит.

vvviperrr ★★★★★ ()

Проект выглядит очень интересно. Но если он и станет популярным, то боюсь что не скоро. Судя по выбранным алгоритмам шифрования, и тому что им удалось обойти IPsec даже в тестах, где IPsec использует те же алгоритмы - похоже что проект довольно перспективный. Но пробиться на рынок, занятый кучей подобных решений - весьма непросто, даже при наличии у проекта нелохого преимущества в области производительности.

lucentcode ★★★★★ ()
Ответ на: комментарий от lucentcode

где IPsec использует те же алгоритмы

только он использует их по-другому, через crypto api. автор же сознательно отказался от этого, ибо лишний оверхед. возможно за счет этого и обошли айписек, и скорей всего из-за этого не попадут в мейнлайн :)

Но если он и станет популярным, то боюсь что не скоро

а зачем ждать, я уже сейчас начну использовать)

vvviperrr ★★★★★ ()

Надеюсь, ребята портируют его на ядра 2.6.32 и 3.2

Увы, но сей VPN требует ядро не ниже 4.1.

А ведь еще много где используются ядра 2.6.32, например, в Proxmox 3.x.

И в старых RedHat и CentOS. Да и 3.2 полно, тот же Debian 7.

Насчет скорости - судя по коду, для x86_64 есть ассемблерные вставки для шифрования на sse2, avx.

А вот насколько быстрее OpenVPN / IPSec оно будет на x86 и ARM - это еще надо посмотреть.

Killy ()

Это не замена openvpn. Но для решения частных задач тунелей точка-точка вполне.

AVL2 ★★★★★ ()
Ответ на: комментарий от ZenitharChampion

Лишь гулкие удары по фаерволлу нарушали тишину ночи

по фаеру ударяли чтоб заработал видимо

fcx ★★★ ()
Ответ на: комментарий от shkolnick-kun

Чем оно лучше SoftEther?

по большому количеству пунктов лучше, даже в текущем состоянии

autonomous ★★★★ ()
Последнее исправление: autonomous (всего исправлений: 1)

Как-то лень всю писанину читать, кто осилил - гляньте, у них протокол хоть версионируется? А то как они алгоритмы будут менять в случае чего непонятно.

zabbal ()

внедрении в ядро

Жду, когда добавят косынку в ядро

panzerito ()
Ответ на: комментарий от panzerito

ну и зачем своё унылое петросянство демонстрировать? это смешным должно быть, или что? вменяемой реализации впн с минимальным оверхедом и простой настройкой линуксу очень не хватает. и да, она ДОЛЖНА быть в ядре, чтобы быть быстрой. и принимать эту реализацию в ядро будут люди не тупее тебя. хотя знаешь, если они уг под названием ipsec в ядро приняли, то всяко может быть

anonymous ()
Ответ на: комментарий от anonymous

Монолитное ядро в конце концов аукнется. Уже начинает.

panzerito ()

его реализация лишена усложнений, присущих таким проектам, как OpenVPN.

Что, никакого пердолинга с ключами и сертификатами? Хотеть! Где ебилды?

Lavos ★★★★★ ()
Ответ на: комментарий от lucentcode

Полностью с вами согласен. ipsec в разных вариантах работает на большинстве устройств из каробки включая смарты. Но если он действительно так хорош, то вполне возможно его поддержу станут запиливать.

anc ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.