Анонсирована внутриядерная реализация WireGuard для OpenBSD

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 12 May 2020.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    1,993
    Likes Received:
    4,764
    Reputations:
    693
    В твиттере компании EdgeSecurity, основателем которой является автор WireGuard, сообщили о создании нативной и полностью поддерживаемой реализации VPN WireGuard под OpenBSD. В подтверждение словам опубликован скриншот с демонстрацией работы. Готовность патчей для ядра OpenBSD также подтверждена Джейсоном Доненфилдом (Jason A. Donenfeld), автором WireGuard, в анонсе обновления утилит wireguard-tools.

    [​IMG]
    В настоящий момент доступны лишь внешние патчи, однако, авторы обещают в ближайшее время отправить их финальный вариант в список рассылки разработчиков OpenBSD. Код WireGuard для ядра OpenBSD включает 3322 строки, что меньше, чем реализация для ядра Linux. Если код с реализацией WireGuard будет в итоге принят в дерево исходных текстов OpenBSD, то она станет второй ОС (после Linux) с полной и интегрированной поддержкой WireGuard "из коробки". Включение широкой поддержки WireGuard ожидается в выпуске OpenBSD 6.8 (в релиз OpenBSD 6.7, который был перенесён с 1 на 19 мая, патчи не попадают). Пока же желающие использовать WireGuard в OpenBSD должны использовать порт net/wireguard-go или вручную установить предоставленные патчи.

    Дополнительно можно отметить публикацию корректирующих обновлений пакетов wireguard-tools v1.0.20200510 и wireguard-linux-compat v1.0.20200506, включающих работающие в пространстве пользователя утилиты, такие как 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 опубликованы в списке рассылки разработчиков 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.*".

     
    #1 Suicide, 12 May 2020
    Last edited: 12 May 2020
  2. altblitz

    altblitz Elder - Старейшина

    Joined:
    5 Jun 2009
    Messages:
    3,454
    Likes Received:
    2,826
    Reputations:
    231
    Первым в GNU/Linux внедрили WireGuard девелоперы Clear Linux Intel. Патчем отдельным.
    Есть у них чему поучиться. А теперь - WireGuard входит в состав самого ядра.

    [​IMG]

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

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