WireGuard

WireGuard задумывался не как средство обхода, а как замена громоздким корпоративным туннелям: мало кода, современное шифрование, работа внутри ядра системы. Получилось около 4 000 строк кода — в десятки раз меньше, чем у OpenVPN и IPsec. Незаметность в список задач не входила — и это ровно то, о чём нужно помнить, выбирая его.

Что такое WireGuard

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

Отсюда главный принцип: кода должно быть настолько мало, чтобы его можно было прочитать целиком и проверить. Выбор шифров жёстко зафиксирован — договариваться о них на старте соединения не нужно, а значит, нет и целого класса ошибок, связанных с такими переговорами. Настройка свелась к короткому файлу, который читается за минуту.

В 2020 году протокол приняли в ядро Linux 5.6, а следом его поддержали все основные системы. Маскировки в протоколе нет до сих пор: авторы прямо говорят, что это не их задача, и предлагают решать её отдельным слоем. Именно этим и занимается AmneziaWG.

Как работает WireGuard

Начало соединения у него всегда одинаковое по структуре и по длине. Системе фильтрации не нужно вскрывать шифрование: достаточно посмотреть на первый пакет и сравнить с образцом. Такая проверка дешёвая, работает на потоке, поэтому её применяют повсеместно.

Дальше идёт поток по UDP на постоянный порт. Даже без разбора отпечатка сама пара «UDP плюс необычный порт» выделяется на фоне обычного трафика, где преобладают веб и видео.

Из этого следует простое правило: там, где соединения разбирают, WireGuard перестаёт работать первым. Не потому, что он плохой, а потому, что он честный — он не притворяется ничем.

Плюсы WireGuard

Скорость. По пропускной способности он заметно опережает всё остальное: обработка идёт в ядре системы, шифры выбраны под современные процессоры, лишних слоёв нет.

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

Штатная поддержка. Клиент официальный, бесплатный, есть на всех системах, а на некоторых поддержка встроена прямо в систему. Ставить сторонние приложения не нужно.

Простота диагностики. Конфигурация — короткий текстовый файл, в котором видно всё: ключи, адреса, маршруты. Когда что-то не работает, разобраться в нём проще, чем в любом другом способе подключения.

Мгновенное переключение сети. Туннель не привязан к адресу устройства и переживает переход между Wi-Fi и мобильным интернетом без разрыва.

Минусы WireGuard: когда не подходит

Опознаётся системами фильтрации по первому же пакету. Это главное ограничение, и обойти его настройкой нельзя — нужен другой протокол. Именно ради этого случая существует AmneziaWG: тот же WireGuard, но без узнаваемого начала.

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

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

Когда выбрать WireGuard

Берите, когда прятаться не от кого, а нужна скорость: домашняя сеть, свой роутер, канал до сервера, который никто не разбирает. В этих условиях он быстрее остальных, а маскировка ему не нужна.

Хорош на устройстве, которое держит соединение круглосуточно, — телевизоре, приставке, роутере: там экономичность и стабильность важнее умения маскироваться.

Если соединение не поднимается или рвётся через несколько секунд после подключения, дело почти наверняка в узнаваемом начале. Переключайтесь на AmneziaWG — он делает то же самое, но начало у него другое.

WireGuard или AmneziaWG и OpenVPN

AmneziaWG — это WireGuard с изменённым началом соединения: скорость и расход батареи почти те же, но по первому пакету его не узнать. Цена — свой клиент AmneziaVPN вместо штатного приложения WireGuard.

OpenVPN старше и медленнее, зато умеет запасной заход по TCP и поддерживается почти любым роутером. Hysteria2 тоже работает на UDP, но рассчитан на мобильную сеть с потерями и выглядит как HTTP/3, а не как VPN.

  • WireGuard
    Транспорт
    UDP
    Как выглядит в сети
    узнаваемый WireGuard
    Сертификат
    не нужен
    Если UDP закрыт
    не проходит
    Скорость
    самая высокая
    Батарея
    минимальный расход
    Мобильная сеть
    хорошо
  • Транспорт
    UDP
    Как выглядит в сети
    неопознанный UDP-поток
    Сертификат
    не нужен
    Если UDP закрыт
    не проходит
    Скорость
    очень высокая
    Батарея
    минимальный расход
    Мобильная сеть
    хорошо
  • Транспорт
    UDP и запасной TCP
    Как выглядит в сети
    узнаваемый OpenVPN
    Сертификат
    выпускается сам
    Если UDP закрыт
    проходит
    Скорость
    низкая
    Батарея
    высокий расход
    Мобильная сеть
    средне
  • Транспорт
    UDP
    Как выглядит в сети
    QUIC, как HTTP/3
    Сертификат
    выпускается сам
    Если UDP закрыт
    не проходит
    Скорость
    средняя, держится при потерях
    Батарея
    выше среднего
    Мобильная сеть
    лучше всех

Скорость и расход батареи — сравнительные оценки, а не замеры. Свой домен не нужен ни одному протоколу: где нужен сертификат, он выпускается на служебное имя сервера автоматически.

Подробнее: WireGuard vs AmneziaWG. Все протоколы в одной таблице — на странице о протоколах.

Чем подключиться к WireGuard

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

Как добавить: скачайте файл wg0.conf в личном кабинете и импортируйте его в приложении («+» → «Импорт из файла»), на телефоне можно отсканировать QR-код.

Сертификат этому протоколу не нужен, поэтому нечему и истекать: одной причиной для внезапной поломки меньше.

Пошаговые инструкции по платформам: Android, iPhone и iPad, Windows, macOS, Linux; все вместе — в разделе инструкций.

WireGuard: частые вопросы

Почему WireGuard так легко опознать?

Первый пакет рукопожатия у него всегда одной длины и начинается с одного и того же типа сообщения. Чтобы узнать протокол, ничего не нужно расшифровывать — достаточно сравнить размер и первые байты. Авторы сознательно не добавляли маскировку: она усложнила бы код, который должен оставаться проверяемым.

Сколько устройств можно подключить к WireGuard?

В toNet для WireGuard создаётся один профиль. Файл можно импортировать на несколько устройств, но одновременно работать будет одно: профиль привязан к ключу, и новое подключение с тем же ключом вытесняет предыдущее. Для нескольких устройств сразу удобнее протоколы из общей подписки.

Что такое PresharedKey в файле настроек?

Дополнительный общий ключ поверх пары открытых ключей. Он добавляет к рукопожатию слой симметричного шифрования — на случай, если обмен открытыми ключами когда-нибудь научатся вскрывать на квантовом компьютере. В toNet он включён всегда.

Чего не делает ни один протокол

Протокол прячет содержимое соединения от сети по дороге, но не делает вас анонимным: сайты по-прежнему узнают вас по учётным записям и cookie, хостинг видит трафик своего сервера, а объём и время соединений скрыть нельзя. Что при этом видит сам сервис, разобрано в разделе о безопасности.

Что дальше

Выбирать один протокол не нужно: на сервере поднимаются все сразу, каждый на своём порту, и переключение занимает пару нажатий. Разбор остальных — на странице о протоколах.

Заведите свой VPN-сервер

Вход по ссылке из письма — пароль придумывать не нужно. Дальше мастер всё настроит сам.

Создать свой VPN