WireGuard появился как ответ на главную претензию к OpenVPN и IPsec: их слишком много. Сотни тысяч строк кода, годы на аудит, сложная настройка. WireGuard уместился примерно в четыре тысячи строк — и этим определяется почти всё остальное.
Короткий ответ
WireGuard — компактный VPN-протокол поверх UDP с фиксированным набором криптографии. Он быстро устанавливает соединение, мало нагружает процессор и прост в проверке. Маскировать трафик он не умеет и такой цели не ставил.
Фиксированная криптография
Старые протоколы согласовывают алгоритмы при подключении: стороны перечисляют, что умеют, и выбирают общее. Это гибко, но именно на этом этапе исторически возникали уязвимости — например, когда удавалось навязать более слабый вариант.
WireGuard пошёл другим путём: набор алгоритмов зашит в протокол, согласовывать нечего. Если алгоритм устареет, выпустят новую версию протокола, а не будут поддерживать старое ради совместимости. Гибкости меньше, поверхности для атаки — тоже.
Криптографическая маршрутизация
Центральная идея. У каждого участника есть пара ключей, и с каждым публичным ключом связан список разрешённых адресов. Когда приходит пакет, сервер смотрит, каким ключом он подписан, и проверяет, разрешён ли адрес отправителя для этого ключа. Не разрешён — пакет отбрасывается.
Проверка подлинности и маршрутизация оказываются одной операцией, а не двумя. Отсюда и скорость, и простота: нет отдельной подсистемы правил доступа.
Почему соединение устанавливается быстро
Рукопожатие занимает один обмен сообщениями в каждую сторону. OpenVPN на TLS-рукопожатие тратит несколько обменов. На хорошем канале разница незаметна, на мобильном интернете с задержкой — вполне.
Проверить на своём устройстве
8 часов бесплатно, без привязки карты. Полный доступ ко всем серверам.
Молчаливость
WireGuard не отвечает на пакеты от неизвестных отправителей. Сканирование портов не даёт результата: сервер просто молчит, и снаружи непонятно, есть ли там что-нибудь. Это защищает от массового перебора, но не помогает против анализа уже установленного соединения.
Где слабое место
- Трафик распознаётся. У пакетов WireGuard характерная структура. Там, где соединения фильтруют по типу, это становится решающим.
- Только UDP. В сетях, где UDP ограничен или вырезан, протокол не поднимется вовсе.
- Адреса в памяти сервера. По умолчанию сервер держит соответствие «ключ — последний адрес» и обнуляет его не сразу. Для операторов сервиса это решается настройкой, но по умолчанию поведение именно такое.
Когда WireGuard — правильный выбор
Домашняя или офисная сеть без фильтрации, задача — скорость и стабильность. Соединение между своими серверами. Подключение к рабочей сети, где вы контролируете обе стороны. Во всех этих случаях простота и производительность работают на вас.
Почему его нет в VolnaLink
В сетях, на которые рассчитан сервис, распознаваемость трафика важнее, чем несколько процентов скорости. Поэтому мы используем VLESS Reality, Trojan и Hysteria 2 — протоколы, у которых маскировка входит в задачу. Приложение выбирает между ними само.