The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Опубликованы VPN WireGuard для Windows и WireGuardNT 1.0

18.04.2026 21:39 (MSK)

Джейсон Доненфилд (Jason A. Donenfeld), автор VPN WireGuard, представил первый значительный релиз клиентского ПО WireGuard для Windows 1.0, а также драйверов WireGuardNT 1.0 с портом VPN WireGuard для ядра Windows 10 и 11, поддерживающий архитектуры AMD64, x86 и ARM64. Код компонентов для ядра Windows распространяется под лицензией GPLv2, а клиентского ПО под лицензией MIT.

Порт основан на кодовой базе основной реализации WireGuard для ядра Linux, которая была переведена на использование сущностей ядра Windows и сетевого стека NDIS. По сравнению с реализацией wireguard-go, работающей в пространстве пользователя и использующей сетевой интерфейс Wintun, WireGuardNT отличается существенным повышением производительности за счёт исключения операций переключения контекста и копирования содержимого пакетов из ядра в пространство пользователя. По аналогии с реализациями для Linux, OpenBSD и FreeBSD в WireGuardNT вся логика обработки протокола работает непосредственно на уровне сетевого стека.

Версия 1.0 отмечена как своеобразный рубеж, ознаменовавший решение ряда проблем и выполнение намеченных задач, таких как: задействование функции NdisWdfGetAdapterContextFromAdapterHandle() вместо менее безопасного хранения состояния драйвера в поле Reserved и использования недокументированных смещений; корректное и оперативное отслеживания размера MTU (Maximum Transmission Unit) через перехват системных вызовов; задействование в коде стандарта C23.

Напомним, что VPN WireGuard реализован на основе современных методов шифрования, обеспечивает очень высокую производительность, прост в использовании, лишён усложнений и хорошо зарекомендовал себя в ряде крупных внедрений, обрабатывающих большие объёмы трафика. Проект развивается с 2015 года, прошёл аудит и формальную верификацию применяемых методов шифрования. В WireGuard применяется концепция маршрутизации по ключам шифрования, которая подразумевает привязку к каждому сетевому интерфейсу закрытого ключа и применение для связывания открытых ключей.

Обмен открытыми ключами для установки соединения производится по аналогии с SSH. Для согласования ключей и соединения без запуска отдельного демона в пространстве пользователя применяется механизм Noise_IK из Noise Protocol Framework, похожий на поддержание authorized_keys в SSH. Передача данных осуществляется через инкапсуляцию в пакеты UDP. Поддерживается смена IP-адреса VPN-сервера (роуминг) без разрыва соединения с автоматической перенастройкой клиента.

Для шифрования используется потоковый шифр ChaCha20 и алгоритм аутентификации сообщений (MAC) Poly1305, разработанные Дэниелом Бернштейном (Daniel J. Bernstein), Таней Ланге (Tanja Lange) и Питером Швабе (Peter Schwabe). ChaCha20 и Poly1305 позиционируются как более быстрые и безопасные аналоги AES-256-CTR и HMAC, программная реализация которых позволяет добиться фиксированного времени выполнения без задействования специальной аппаратной поддержки. Для генерации совместного секретного ключа применяется протокол Диффи-Хеллмана на эллиптических кривых в реализации Curve25519, также предложенной Дэниелом Бернштейном. Для хеширования используются алгоритм BLAKE2s (RFC7693).



  1. Главная ссылка к новости (https://lists.zx2c4.com/piperm...)
  2. OpenNews: Microsoft заблокировал учётные записи для заверения релизов VeraCrypt и WireGuard
  3. OpenNews: Компания Mullvad представила GotaTun, реализацию VPN WireGuard на языке Rust
  4. OpenNews: В ядро DragonFly BSD добавлена поддержка VPN WireGuard
  5. OpenNews: Firezone - решение для создания VPN-серверов на базе WireGuard
  6. OpenNews: Доступен VPN WireGuard 1.0.0
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65238-wireguard
Ключевые слова: wireguard
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 22:38, 18/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >ChaCha20 и Poly1305

    Интересно:
    https://en.wikipedia.org/wiki/ChaCha20-Poly1305

     
  • 1.2, нах. (?), 22:48, 18/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    афтырь так по прежнему и не может взять в толк почему в винде нельзя создавать "новый интерфейс вайргад #2545" при каждом новом подключении тоннеля?

    Значит продолжаем пользоваться winsock, написанным более разумным персонажем.
    (кстати, кому надо - он таки попатчил boringtun на тему тех же фич что вы..ла на гора амнезия [БЕЗ тех которые делают ее несовместимой с нормальным wg и совершенно не нужны...пока]. Успех был отмечен блокировкой его сайта роспозором.)

     
     
  • 2.3, Аноним (3), 23:34, 18/04/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.4, нах. (?), 23:54, 18/04/2026 Скрыто ботом-модератором     [к модератору]
  • –4 +/
     
  • 2.5, fidettyy (?), 23:55, 18/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы имете в виду wiresock?
     
     
  • 3.8, Zig мой Zig (?), 01:44, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно его, просто не помнит как пишется его любимый продукт.
     
     
  • 4.9, нах. (?), 02:15, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    безусловно мне очень важно это помнить (нет)
     
  • 3.11, нах. (?), 02:27, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    да. (Если что - полное название wiresock secure connect, а то есть еще gateway)
    Автырь... мягко говоря со странностями (и к тому же - русский), но это лучшее что мы имеем на сегодня. (В отличие от Донефельда его странности не распространяются на умение кодить под винду, там у него все прекрасно.)

    Но прежде чем качать версию 3 - рекомендую внимательно прочитать что он про нее пишет. Возможно тебе не понравится куда оно все повернуло.

    (афтырь к сожалению склонен принимать мнения пользователей примерно как донефельд.)

     
  • 2.10, Аноним (10), 02:18, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А почему нельзя создавать одноразовые адаптеры, самоуничтожающиеся при отключении впн? Многие коммерческие впн тоже перешли на такое и большинство используют как раз реализацию WireGuard, между прочим. Но есть и те, что решили самостоятельно переписать реализацию адаптеров под себя, но тоже выбрали одноразовость
     
     
  • 3.12, нах. (?), 02:32, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    потому что в windows нет самоуничтожающихся адаптеров, есть только неактивные. На что меняющийся номерок при каждом новом подключении как бы тебе и намекает. Причем удалить эти стопиццот предыдущих инкарнаций ты не сможешь (лучше не пытайся).

    А еще у адаптера есть настройки. Которые вообще-то там не для красоты (например мне ТОЧНО не нужен windows client и peer discovery на этом интерфейсе, мало ли кто там с другой стороны)

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

    А то ж они могут стать - бывшими.

     
     
  • 4.14, Аноним (10), 03:09, 19/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, это у тебя конкретно что-то не корректно работает. Я вот открываю диспетчер устройств и панельку сетевых подключений, ставлю галочку на показ скрытых и неактивных. Подключаюсь и в списке появляется адаптер с названием устройства "WireGuard Tunnel" и именем подключения. После отключения он исчезает сразу же. Никакие цифры не появляются, сколько не переподключаюсь
     

  • 1.6, Аноним (1), 00:20, 19/04/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру