PDA

Просмотр полной версии : Анонсирована внутриядерная реализация WireGuard для OpenBSD


Suicide
12.05.2020, 21:42
В твиттере компании EdgeSecurity (https://twitter.com/EdgeSecurity), основателем которой является автор WireGuard, сообщили (https://twitter.com/EdgeSecurity/status/1259667061942431744) о создании нативной и полностью поддерживаемой реализации VPN WireGuard (https://www.opennet.ru/opennews/art.shtml?num=44695) под OpenBSD. В подтверждение словам опубликован скриншот с демонстрацией работы. Готовность патчей для ядра OpenBSD также подтверждена Джейсоном Доненфилдом (Jason A. Donenfeld), автором WireGuard, в анонсе (https://lists.zx2c4.com/pipermail/wireguard/2020-May/005415.html) обновления утилит wireguard-tools.

https://www.opennet.ru/opennews/pics_base/0_1589256436.jpg?fgh

В настоящий момент доступны лишь внешние патчи (https://git.zx2c4.com/wireguard-openbsd/), однако, авторы обещают в ближайшее время отправить их финальный вариант в список рассылки разработчиков OpenBSD. Код WireGuard для ядра OpenBSD включает 3322 строки, что меньше, чем реализация для ядра Linux. Если код с реализацией WireGuard будет в итоге принят в дерево исходных текстов OpenBSD, то она станет второй ОС (после Linux) с полной и интегрированной поддержкой WireGuard "из коробки". Включение широкой поддержки WireGuard ожидается в выпуске OpenBSD 6.8 (в релиз OpenBSD 6.7, который был перенесён (https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/etc/root/root.mail.diff?r1=1.137&r2=1.138) с 1 на 19 мая, патчи не попадают). Пока же желающие использовать WireGuard в OpenBSD должны использовать порт net/wireguard-go (https://openports.se/net/wireguard-go) или вручную установить предоставленные патчи.

Дополнительно можно отметить публикацию корректирующих обновлений пакетов wireguard-tools v1.0.20200510 (https://lists.zx2c4.com/pipermail/wireguard/2020-May/005415.html) и wireguard-linux-compat v1.0.20200506 (https://lists.zx2c4.com/pipermail/wireguard/2020-May/005408.html), включающих (https://www.opennet.ru/opennews/art.shtml?num=52636) работающие в пространстве пользователя утилиты, такие как wg и wg-quick, и слой для обеспечения совместимости со старыми ядрами Linux (от 3.10 и до 5.5 включительно), в которых нет встроенной поддержки WireGuard. В новом выпуске утилит wg и wg-quick добавлена поддержка взаимодействия с реализацией WireGuard для ядра OpenBSD. Сообщается, что патчи для ядра OpenBSD планируются передать в течение следующей недели. Для настройки туннеля в OpenBSD будет использоваться привычный интерфейс wg и "ifconfig wg0 create".

Из не связанных с поддержкой OpenBSD изменений выделяется добавление в утилиту wg-quick доменов, подпадающих под маску "dns search" в resolv.conf. Для Android добавлена поддержка белого списка приложений в дополнение к чёрному списку. Для systemd добавлен сервис wg-quick.target для перезапуска и управления wg-quick. В пакете wireguard-linux-compat наиболее заметным изменением является обеспечение совместимости с будущими обновлениями пакетов с ядром для Ubuntu 19.10 и 18.04-hwe, которые пока находятся в секции "proposed" и не перенесены в обновления.

Дополнение: Патчи с реализацией WireGuard для OpenBSD опубликованы (https://marc.info/?l=openbsd-tech&m=158926407905492&w=2) в списке рассылки разработчиков OpenBSD. Патчи включают драйвер для ядра OpenBSD, изменения для утилит ifconfig и tcpdump с поддержкой функциональности WireGuard, документацию и мелкие изменения для интеграции WireGuard с остальной системой. В драйвере используется собственная реализация алгоритмов blake2s и curve25519, а также уже присутствующие в ядре OpenBSD реализации SipHash и ChaCha20Poly1305. Реализация совместима со всеми официальными клиентами WireGuard для Linux, Windows, macOS, *BSD, iOS и Android. Тестирование производительности на ноутбуке разработчика (Lenovo x230) показало пропускную способность на уровне 750mbit/s. Для сравнения isakmpd с базовыми настройками ike psk обеспечивает пропускную способность 380mbit/s.

При разработке драйвера для ядра OpenBSD были выбраны некоторые схожие с драйвером для Linux архитектурные решение, но драйвер в первую очередь разрабатывался для OpenBSD, с оглядкой на специфику данной системы и учитывая опыт, полученный при создании драйвера для Linux. При согласии изначального автора WireGuard код нового драйвера целиком распространяется под свободной лицензией ISC. Драйвер тесно интегрируется с сетевым стеком OpenBSD и использует существующие подсистемы, что позволило сделать код очень компактным (около 3000 строк кода). Из отличий также отличается иное чем для Linux разделение компонентов драйвера: специфичные для OpenBSD интерфейсы вынесены в файлы "if_wg.*", код для защиты от DoS в "wg_cookie.*", а логика согласования соединений и шифрования в "wg_noise.*".

12.05.2020

https://www.opennet.ru/opennews/art.shtml?num=52929​

altblitz
13.05.2020, 19:00
Первым в GNU/Linux внедрили WireGuard девелоперы Clear Linux Intel. Патчем отдельным.

Есть у них чему поучиться. А теперь - WireGuard входит в состав самого ядра.

https://i.imgur.com/FI01OtK.png

Блиц, отложит обновление кернел на неделю."Вы как хотите у себя, а мне нужна здоровая атмосфера и окружение для каждодневной работы своей"

Не все патчи Clear Linux Intel принимаются в официальное ядро. Но если приняты - обратно слов из песни не выкинуть.