LINUX.ORG.RU

Wireguard включен в ядро Linux

 ,


4

5

Wireguard – это простой и безопасный VPN-протокол, основным разработчиком которого является Jason A. Donenfeld. Долгое время модуль ядра, реализующий этот протокол, не принимали в основную ветку ядра Linux, так как использовалась своя реализация криптографических примитивов (Zinc) вместо стандартного crypto API. Недавно это препятствие было устранено, в том числе за счет доработок, принятых в crypto API.

Сейчас wireguard принят в основную ветку ядра Linux и будет доступен в релизе 5.6.

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

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

Ответ на: комментарий от jekader

Вай? git push, а дальше за тебя скрепты работают. Типа, ничем от openvpn и ssh не отличается.

Алсо я как раз очень жду wg как замену ЖРУЩЕМУ КАК НЕ В СЕБЯ openvpn на телефоне.

kirk_johnson ★☆ ()
Последнее исправление: kirk_johnson (всего исправлений: 2)
Ответ на: комментарий от kirk_johnson

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

OpenVPN в это всё вписывается отлично: человек в Service Desk добавляет компьютер в группу, групповая политика накатывает VPN клиент и сертификат.

Когда пользователь подключается, сертификат используется для авторизации железки. Потом по RADIUS проходит авторизация по пользователю/паролю и через RADIUS приходят маршруты, которые нужно отправить этому конкретному пользователю (тоже на основании членства в группе). VPN сервер во всех этих действиях никак не задействован - он лишь провиряет certificate authority а потом ждёт отмашки от RADIUS

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

Ну это все прекрасно ложится на wg, я пока не вижу ни одной проблемы. Все что нужно, это по итогам применения политики обновить конфиги на VPN серверах.

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

я тестировал iperf`ом установленный wireguard «из коробки»

Orange PI PC Armbain bionic (18.04.3) <===> Archlinux

Производительность у wireguard превосходная —

~98 Mbit/s При утилизации ~ 10% cpu на Orange PI PC

При использовании openvpn ~50 Mbit/s

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

А алгоритмы шифрования какие при этом были и длины ключей? Надеюсь, одинаковые в обеих конфигурациях? Или как всегда «не знаю, заработало и ладно»?

anonymous ()

А зачем это в ядре?

anonymous ()
Ответ на: комментарий от jekader
  1. Как указать ipsec брать сертификаты из общей базы я знаю, а как это указать OpenVPN клиенту ? (как писали выше лучше конкретно строку)

  2. Я могу в ipsec сделать 1 сертификат и раздавать его ВСЕМ, разделться люди будут по логину, паролю. Как подобное сделать в OpenVPN ?

  3. В той же АД все также нужно возиться с сертификатами :(

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

А теперь потестируй на торрентах с загрузкой от сотни пиров. Увидишь что там далеко не 10%, но все еще в разы лучше чем openvpn.

bhfq ★★★★★ ()

Неплохо, надо будет глянуть

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

как правило ничего не нужно доставлять ни на сервак ни на клиента (бывают исключения).

Что-то я ни разу не слышал о том, чтоб его можно было завести «из коробки». Конечно если не брать какую-нибудь убунту, где клиент может уже стоять изначально (и то я сомневаюсь). Можно пример как пусть даже не сервер, а клиент, поднять на «голой» ОС? Вот просто linux <> linux чтоб, не будет рассматривать варианты типа linux <> ведроид, хотя тут тоже очень интересно, потому что нативный (встроенный) в ведроид клиент с линуксовым сервером подружить сложнее, чем приконнектить какой-нибудь strongswan к циске с кривым конфигом, имея на руках только айпишник сервера да пару логинпаролей для XAUTH+PSK.

Но все промышленные серваки под RHEL7

Какой наркоман придумал соединять «промышленные серваки под RHEL7» по VPN на этих серваках? Или у вас там ЦОД это по паре старых p4 под кроватями у админов офисов? Или вы купили железки, купили рхел, а на сетевое оборудование соответствующего уровня денег не хватило?

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

Что-то я ни разу не слышал о том, чтоб его можно было завести «из коробки».

Это типа в родных репах.

потому что нативный (встроенный) в ведроид клиент с линуксовым сервером подружить сложнее,

Да нет, просто очень. Если дроид 4+

Какой наркоман придумал соединять «промышленные серваки под RHEL7» по VPN на этих серваках? И что ?

Пришел канал по влану прямиком в одну из KVM там минимальная ось и от туда по другому ВЛАНУ уже в локалку.

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

Это типа в родных репах.

То есть не надо качать с гитхаба и "./configure && make && make install" делать, это имелось ввиду? Просто это не "ничего не нужно доставлять ни на сервак ни на клиента". И в этом как раз и проблема, потому что ipsec-клиентов сейчас даже в репах моего debian'а 4 штуки, каждый по-своему корявый, а куча документации непонятной актуальности еще усложняет выбор. Алсо, бывает так что один клиент не может подключиться к серверу с конфигурацией "А", а к сервеу с конфигурацией "Б" подключается нормально, другой клиент - наоборот, и при этом они оба не умеют в конфигурацию "В", которую умеет третий клиент, но он не может в первые две. За то "ipsec то теперь в ядре, ух заживем". Лет семь нахожусь в перманентном вылавливании проблем в этом во все поля интерпрайзном стандарте, ага, успел возненавидеть и ваши циски, и ipsec, и весь этот интерпрайз.

Если дроид 4+

Пару месяцев назад поднимал сервер чтоб с девятого ведроида подключались. Сделать так, чтоб и линуксовый, и ведроидный клиенты подключались с одним конфигом оказалось нереально, пришлось делать два различных (окей, часть можно вынести в %default, но все равно), при этом на ведроиде еще и альтернативный клиент приходилось ставить. Работает это все через такое себе, и если не знать всех костылей сразу то можно двести раз пересоздавать всякие там кейсторы и вот это все. Алсо, использовать тот же клиент которым я с того же телефона нормально подключаюсь к циске не вышло.

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

Пришел канал по влану прямиком в одну из KVM там минимальная ось и от туда по другому ВЛАНУ уже в локалку.

Во блин, все какие-то то там оптики тянут, свитчи за сотни нефти покупают, а вы обошлись роутером из виртуалки.

=====

Короче, это всё мои личные переживания и груснота, спасибо что послушали, рад что у вас у всех все с ipsec хорошо

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

Openvpn юзерспесовский. ipsec требует l2tp как уже выше сказали

Чочо? Это в котором месте еще ipsec требует L2TP?

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

О, расскажи, кстати, зачем сейчас L2 в тоннелях ещё нужен. У меня просто таких надобностей не было уже очень давно.

В распоследней версии DOCSIS устройства R-PHY внутри IPSec-тоннелей создают множество тоннелей L2TPv3. Возможно, это достаточно нишево, но тем не менее оно есть, и в ближайшие годы будет всюду, где есть кабельное ТВ/интернет.

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

Да, довольно нишевое, особенно с учетом шагающего по планете OTT. Но спасибо,интересно.

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

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

В голом ядре, когда я в документацию смотрел в последний раз на эту тему, можно было создавать только pseudowires (псевдопровода?) типа Ethernet, хотя спецификация содержит их десятки видов, если не сотню с лишним.

shimon ★★★★★ ()

не нужно согласовывать алгоритмы - товарищ Сталин обозначил лучший, да?

spigel ()

Ахуеть, что творится-то!

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

а вы его в tcp или в udp режиме используете?

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

Конечно. Настраиваешь туннель на OpenVPN, запускаешь iperf3. Потом то же самое, только с IPsec. Потом — Wireguard. Делаешь выводы.

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

Все в ядро! Чем больше монолит, тем лучше!(?)

Именно! Зря Линус прогуливал уроки Таненбаума, теперь вот получите результат.

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

Вот это мне понравилось «фанаты микротыков»)). Запишу в блокнотик. Реально, лучше их не назовёшь. «У нас микротик. Вы умеете настраивать микротики?» - фейспалм вызывают такие вопросы. Отвечаю железным голосом робота «да», но «роутеры я настраиваю в том числе» не говорю. Не поймут. Для них «микротик» - это не роутер, это целый микромир … космос!)) Чем-то напоминают маководов эти фанаты микротыков).

Чувак, вот +1005000!!!!

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

То есть не надо качать с гитхаба …

Имелось ввиду что при обнаружении дыры его сразу залопатят. Что касается 4 штуки разных, я шапочник у нас с этим проще. Есть базовый libreswan и все остальное нафиг.

Пару месяцев назад поднимал сервер …

Я про 9й хз, пока все нормально, ipsec/xauth вроде без проблем, подписать чуть ниже секцию тоже проблем особых нет.

Во блин, все какие-то то там оптики тянут…

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

mx__ ★★★★★ ()
Последнее исправление: mx__ (всего исправлений: 1)
Ответ на: комментарий от mx__
  1. гуглить «openvpn cryptoapicert»
  2. Сильно не рекомендовал-бы такой подход, но если сильно хочется:

client-cert-not-required

username-as-common-name

Ну и для авторизации по пользователю-паролю - выбрать внешний плагин (PAM, RADIUS, etc)

plugin <auth_plugin> system-auth

  1. через GPO решается минут за 10, гуглить «AD auto certificate enrollment»
jekader ★★★★★ ()
Последнее исправление: jekader (всего исправлений: 1)
Ответ на: комментарий от jekader

Ок.

Ну в случае 2, более менее понятно, просто не понятно почему не рекомендовано ? Я хз как точно в openvpn в ipsec сертификат то все равно есть, правда он один на всех.

А вот меня больше интересовал вопрос 1 и 3.

Load the certificate and private key from the Windows Certificate System Store (Windows/OpenSSL Only)

Да и в случае 3 тоже, как сертификат то они поимеют ? В случае ручного чел. это сертификат лично привезут на флешке, а тут как ?

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

почему не рекомендовано?

Это противоречит идее public key cryptography. Закрытый ключ, даже клиентский, не должен быть у нескольких человек сразу.

как сертификат то они поимеют

Я дал ключевые слова для поиска. В AD есть встроенный PKI, он может по GPO выдавать сертификаты машинам при их подключении к домену. Настраивается это очень просто.

То есть машина подключилась к домену - в trust store добавился сертификат (причём закрытый ключ можно хранить прямо в TPM, так что никто его не экспортирует) и опционально сразу установился OpenVPN клиент с корпоративным конфигом.

Когда пользователь активирует VPN, сначала компьютер авторизуется по сертификату, а потом уже пользователь вводит свои учётные данные AD и аутентифицируется через RADIUS/LDAP, получая доступ к внутренним ресурсам.

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

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

Я про это в курсе, но для этого нужно машину а домен затащить. Меня вариант этот не устравивает, нужно новых удаленных подрубать …

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

+10 *я как начинающий в части освоения ssh могу подтвердить что поначалу всё сложно и диковато.

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