LeoTun

Альянс Свободного Интернета

2026-10 sing-box обновлён: старые конфигурации больше не работают. Войдите и заново отсканируйте код на странице sing-box — для каждого устройства отдельно.
2026-09 Вышла новая прошивка роутера — обновитесь. OpenVPN снова доступен: скачайте профиль, импортируйте и подключайтесь в одно касание.
2026-09 Новый тариф «Личный»: 4 USD/мес. за 2 устройства, роутеры тоже поддерживаются — у каждого должен быть VPN-роутер.
ГлавнаяРоутерOpenVPNCiscoHiddifyПроксиПриватнаяКонтакты

Связанные руководства

WireGuard изнутри: как он работает и как развивался

Обновлено 2026-10-13

WireGuard — VPN-протокол с открытым кодом. Его придумал Джейсон Доненфельд (Jason A. Donenfeld), опубликован он был около 2015 года, а в 2020-м официально вошёл в ядро Linux. Главное в нём можно описать одним словом: «мало». Мало кода — ядро реализации занимает несколько тысяч строк, тогда как у OpenVPN и IPsec счёт идёт на сотни тысяч. Мало настроек — набор алгоритмов шифрования один, выбирать не дают. Мало состояний — нет понятий «подключается» и «отключено»: есть данные — отправляет, нет — молчит. Отсюда скорость, экономия батареи и простота аудита, но отсюда же и ограничения: только UDP, никакой маскировки, распределение ключей — не его забота. Ниже сначала о том, как он работает, а потом о том, как он шаг за шагом стал основой VPN нового поколения.

Идея: сделать VPN похожим на сетевую карту

До WireGuard основными вариантами были IPsec и OpenVPN. IPsec — большое семейство стандартов с огромным числом настроек, и состыковать оборудование разных производителей — известная головная боль. OpenVPN работает в пространстве пользователя и опирается на громоздкую TLS-библиотеку: гибкий, но медленный. Объём кода у обоих такой, что полностью его вряд ли кто-то проверял.

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

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

Маршрутизация по ключам: открытый ключ и есть личность

В WireGuard у каждого устройства есть пара ключей, и открытый ключ — это его удостоверение, примерно как в SSH: стороны прописывают у себя открытые ключи друг друга — и доверие установлено, без сертификатов, логинов и паролей.

В конфигурации для каждого собеседника задаётся строка «разрешённых адресов» (AllowedIPs). Она работает в обе стороны: при отправке пакет шифруется ключом того собеседника, в чей диапазон попадает адрес назначения, и уходит к нему; при приёме после расшифровки проверяется, входит ли адрес источника в диапазон этого собеседника, и если нет — пакет отбрасывается. Такой подход называется маршрутизацией по ключам (cryptokey routing): таблица маршрутов и контроль доступа объединены в одну таблицу.

Поэтому если указать у собеседника разрешённые адреса 0.0.0.0/0, это значит «весь трафик — ему», то есть обычный «глобальный» VPN; если указать только подсеть локальной сети, через туннель пойдёт только трафик в эту подсеть.

Рукопожатие и шифрование: один фиксированный набор алгоритмов

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

Сеансовые ключи автоматически меняются каждые несколько минут, пользователь этого не видит, и никакого «переподключения» при этом нет.

Алгоритмы фиксированы: обмен ключами — Curve25519, шифрование данных — ChaCha20-Poly1305, хеширование — BLAKE2s. Согласования нет, а значит, нет и атак на понижение: злоумышленник не может уговорить стороны перейти на более слабый алгоритм. Если когда-нибудь один из алгоритмов взломают, выпустят новую версию протокола целиком, а не добавят ещё одну опцию.

Дополнительно можно задать предварительно согласованный ключ (pre-shared key), который работает поверх механизма открытых ключей, — это защита на будущее от угрозы квантовых компьютеров для алгоритмов с открытым ключом.

Только UDP, молчание для чужих, смена сети без обрыва

  • Только UDP: WireGuard шифрует каждый пакет отдельно и кладёт его в UDP-пакет. Отказ от TCP намеренный: если гонять TCP внутри TCP, повторную передачу делают оба уровня, и при потерях пакетов они тормозят друг друга.
  • Молчание для чужих: на пакеты, не прошедшие аутентификацию, ответа нет вообще. Для того, кто сканирует порты, такой порт выглядит закрытым, и узнать, что на нём работает WireGuard, нельзя.
  • Роуминг: WireGuard не знает «соединений», он знает только открытые ключи. Если у собеседника сменился адрес — телефон перешёл с Wi‑Fi на мобильную сеть, — то, как только от него придёт следующий пакет и пройдёт аутентификацию, ответы автоматически пойдут на новый адрес. Поэтому при смене сети туннель не рвётся.
  • Тишина: когда отправлять нечего, туннель не создаёт никакого трафика, поэтому на телефоне он очень экономен. Только если устройство находится за роутером и при этом должно всё время оставаться доступным для другой стороны, нужно включить периодический keepalive (PersistentKeepalive): раз в несколько десятков секунд отправляется маленький пакет, чтобы на роутере сохранялось сопоставление адресов.

Почему он быстрый

  • Работает в ядре: в Linux WireGuard — модуль ядра, пакетам не нужно копироваться туда-обратно между ядром и пользовательской программой; OpenVPN традиционно работает в пространстве пользователя, и каждый пакет делает лишний круг.
  • Алгоритмы подходят любому процессору: ChaCha20 не требует специальных инструкций аппаратного ускорения, что особенно выгодно на чипах без инструкций AES — в телефонах и роутерах.
  • Короткое рукопожатие: один пакет туда, один обратно — и можно передавать данные, установка соединения почти без ожидания.
  • Мало кода: путь короткий, и все возможные оптимизации сосредоточены на нескольких ключевых шагах.
  • Учтите: всё это о накладных расходах самого протокола и реализации. Реальная скорость на трансграничных линиях гораздо больше зависит от потерь пакетов на линии и от того, как оператор относится к UDP.

История: от проекта одного человека до ядра Linux

  • Около 2015 года: Джейсон Доненфельд начинает разработку и публикует WireGuard — сначала как отдельный модуль ядра Linux.
  • 2017 год: статья с описанием его устройства выходит на конференции по сетевой безопасности NDSS, после чего протокол проходит несколько независимых формальных верификаций. Примерно тогда же VPN-провайдеры вроде Mullvad начинают предлагать подключение по WireGuard.
  • 2018 год: создатель Linux Линус Торвальдс хвалит его код в списке рассылки и говорит, что по сравнению с OpenVPN и IPsec это настоящее произведение искусства, — после этой фразы о нём узнали все разработчики.
  • 2019 год: Cloudflare выпускает реализацию в пространстве пользователя на Rust — BoringTun — и использует WireGuard в своём WARP; NordVPN запускает NordLynx на базе WireGuard; примерно тогда же стартует Tailscale с WireGuard в качестве канала передачи данных.
  • Март 2020 года: WireGuard официально входит в основную ветку ядра вместе с Linux 5.6, одновременно выходит версия 1.0. С тех пор основные дистрибутивы Linux поставляются с WireGuard, отдельно ставить модуль не нужно. В том же году его добавляют в ядро OpenBSD.
  • 2021 год: для Windows выходит реализация в режиме ядра — WireGuardNT, заметно быстрее прежней реализации в пространстве пользователя; затем своя реализация в ядре появляется и у FreeBSD.
  • Сейчас: официальные клиенты есть для Windows, macOS, Linux, iOS и Android, системы роутеров и NAS вроде OpenWrt и Synology обычно поддерживают его из коробки, а большинство коммерческих VPN указывают его как протокол по умолчанию или на выбор.

Чего он не делает и какие из этого ограничения

  • Не распределяет ключи: каждое новое устройство нужно прописать открытым ключом в конфигурации остальных. Когда устройств много, это становится неподъёмным — именно поэтому существуют инструменты вроде Tailscale.
  • Не выдаёт адреса динамически: внутренний адрес каждого собеседника жёстко записан в конфигурации, механизма «подключился — получил адрес», как в OpenVPN, нет. Коммерческие VPN, использующие его, достраивают этот слой сами.
  • Вопросы приватности: чтобы отвечать, сервер должен помнить последний публичный адрес каждого собеседника. VPN-провайдерам, обещающим «никаких логов», обычно приходится делать дополнительную обработку (например, периодическую очистку или двойную трансляцию адресов).
  • Только UDP: в сетях, где UDP блокируют или ограничивают по скорости, он не работает или работает очень медленно. Чтобы пустить его по TCP или через порт 443, нужно оборачивать его в какой-то другой инструмент.
  • Нет маскировки: формат и длина пакетов рукопожатия и данных имеют фиксированные признаки, их легко распознать. Его цель — безопасность и простота, а не обход цензуры.
  • Нет учётных записей: в протоколе нет понятий логина, пароля или срока действия, он признаёт только открытые ключи.

Сравнение с OpenVPN и IPsec

  • Объём кода: ядро WireGuard — несколько тысяч строк; OpenVPN вместе с TLS-библиотекой, от которой он зависит, и различные реализации IPsec — порядка сотен тысяч строк.
  • Транспорт: у WireGuard только UDP; OpenVPN умеет и то и другое и может работать через TCP 443, смешиваясь с HTTPS-трафиком на этом порту; IPsec использует свой номер протокола и UDP 500 / 4500.
  • Настройка: у WireGuard на собеседника несколько строк; у OpenVPN в конфигурации много параметров, зато он гибкий; IPsec сложнее всех.
  • Производительность: в чистой сети WireGuard обычно самый быстрый и экономный; у OpenVPN в новых версиях появилось ускорение в ядре (DCO), и разрыв сокращается.
  • Возможности: вход по логину и паролю, динамическая выдача адресов и маршрутов, работа через TCP — у OpenVPN это встроено, а WireGuard всё это должен получать от внешних систем.
  • Поддержка устройств: у OpenVPN долгая история, его понимают почти все старые роутеры, NAS и встраиваемые устройства; WireGuard за последние годы стал повсеместным на новых системах, но на старых устройствах может отсутствовать.

Что выросло на основе WireGuard

  • Tailscale: добавляет к WireGuard вход в аккаунт, распределение ключей, проход через NAT и ретрансляцию, превращая его в автоматическую сеть между устройствами, см. Как устроен Tailscale. Headscale — его сервер управления с открытым кодом.
  • Netmaker, NetBird, Firezone и другие: такие же продукты для объединения устройств в сеть или для модели нулевого доверия — «WireGuard передаёт данные, а управление своё».
  • Cloudflare WARP: клиент WireGuard для обычных пользователей, отправляющий трафик в сеть Cloudflare.
  • Собственные обёртки коммерческих VPN: NordLynx и другие — поверх WireGuard добавлен слой выдачи адресов и защиты приватности.
  • AmneziaWG и другие варианты: меняют заголовки пакетов и добавляют заполнение, чтобы скрыть фиксированные признаки WireGuard в строго контролируемых сетях; со стандартными клиентами WireGuard они несовместимы.

В сетях Китая

  • Будет ли работать, сначала зависит от UDP: многие домашние и мобильные сети ограничивают скорость для больших объёмов UDP — сразу после подключения всё быстро, через некоторое время замедляется, или заметно тормозит вечером.
  • Прямое трансграничное подключение легко распознаётся: у пакетов рукопожатия WireGuard фиксированные признаки, на трансграничных каналах их могут опознать и начать мешать — рукопожатие не проходит или через какое-то время трафик пропадает. Это прямое следствие отсутствия маскировки.
  • Сеть между устройствами внутри Китая (офис и дом, телефон и NAS) не проходит через трансграничный канал, и этой проблемы обычно нет — влияют только ограничения UDP и то, удаётся ли пробить NAT.
  • Поэтому он лучше подходит для объединения устройств в сеть и удалённого доступа; для долгой стабильной работы через границу нужен способ с маскировкой или работающий через TCP / TLS, сравнение протоколов — в статье Сравнение VPN-протоколов.

Где WireGuard используется в LeoTun

Раздел «Приватная» в LeoTun работает на Tailscale, а канал передачи данных у него — WireGuard: туннели между вашими устройствами и туннели до узлов выхода в разных регионах шифрует и передаёт именно он. Генерировать ключи и писать конфигурацию не нужно — после входа аккаунтом сайта клиент всё сделает сам. Как пользоваться — в статье Что такое «Приватная» (Tailscale), вход — на странице «Приватная».

Кроме «Приватной», на том же аккаунте есть способы, которые не зависят от UDP: Cisco (AnyConnect) работает через TLS, OpenVPN может работать через TCP, а Hiddify (Hysteria2) создан специально против потерь пакетов. Если в вашей сети «Приватная» медленная и нестабильная, просто смените способ, см. Какой способ подключения для какой ситуации.

FAQ

Что лучше: WireGuard или OpenVPN?

В чистой сети без ограничений UDP WireGuard быстрее, экономнее и не рвётся при смене сети; когда нужен TCP, вход по логину и паролю или устройство довольно старое, лучше подходит OpenVPN. Оба протокола открытые и проверены временем, по безопасности оба надёжны.

WireGuard безопасен?

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

Почему WireGuard поддерживает только UDP?

Это проектный компромисс. Если гонять TCP внутри TCP-соединения, при потерях пакетов оба уровня одновременно делают повторную передачу, и производительность резко падает; к тому же на UDP легко реализовать и «молчание для чужих», и роуминг. Цена — в сетях, где UDP блокируют, он не работает.

Работает ли WireGuard в Китае?

Сеть между устройствами внутри Китая обычно работает. Прямое трансграничное подключение нестабильно: трафик не замаскирован, его легко распознать и начать мешать, к тому же на некоторых линиях ограничивают UDP. Для стабильной работы через границу нужен способ с маскировкой или через TLS.

Кто разработал WireGuard и когда он вошёл в ядро Linux?

Его спроектировал и разработал Джейсон Доненфельд, опубликован он был около 2015 года; в марте 2020 года вошёл в основную ветку ядра вместе с Linux 5.6, одновременно вышла версия 1.0.

Tailscale — это и есть WireGuard?

Нет, это разные вещи. WireGuard — протокол зашифрованного туннеля; Tailscale — система для объединения устройств в сеть, которая передаёт данные через WireGuard и дополнительно решает вход в аккаунт, распределение ключей, проход через NAT и ретрансляцию. Подробнее — в статье Как устроен Tailscale.

Нужно ли самому настраивать ключи для WireGuard?

Если пользоваться WireGuard напрямую — да: на каждом устройстве сгенерировать ключи и прописать в конфигурации открытые ключи, адреса и адреса собеседников. В клиентах Tailscale или коммерческих VPN это делает программа. В способе «Приватная» от LeoTun достаточно войти в аккаунт.

Похожие страницы

  • Какой регион быстрее всего из Китая →
  • Не подключается, тормозит или отваливается: что проверить →
  • Mac пишет «повреждено»: как проверить установщик →
  • Что такое разрешение сетевого расширения в macOS →
  • Как вручную удалить клиент Cisco на Mac →
  • Ошибка Cisco «remote user is disabled» →
  • VPN тормозит? Как замерить скорость и найти причину →
  • Утечка DNS и подмена DNS: как проверить и исправить →
  • Tencent Video или iQIYI не работают за границей? Решение за 5 шагов →
  • Как выбрать VPN с китайским IP →
  • VPN с китайским IP для студентов за границей →
  • Домашние камеры и NAS в Китае: как смотреть из-за границы →
  • Настройка для командировок и путешествий →
  • ChatGPT в Китае: почему не работает и что важно →
  • Не приходит код от зарубежного приложения? Telegram, Instagram и TikTok в Китае →
  • VPN в Китае: настройте всё до прилёта →
  • VPN не работает в Китае? Почему и что попробовать →
  • Лучший VPN для Китая: как оценить самому →
  • Работает ли VPN в Китае? Что говорят о себе NordVPN, ExpressVPN и другие →
  • eSIM или VPN в Китае: что вам нужно? →
  • WhatsApp в Китае: работает ли и как настроить →
  • Google в Китае: Gmail, Карты и Google Play →
  • YouTube в Китае: как смотреть и почему Netflix не пускает →
  • Страница «Приватная»: загрузка клиента и вход →
  • Как устроен Tailscale: как устройства соединяются напрямую →
  • Что такое «Приватная» (Tailscale) →
  • Сравнение VPN-протоколов: WireGuard, OpenVPN, Hysteria2 →
  • OpenVPN: как пользоваться и когда его выбирать →
  • Работает ли Cisco AnyConnect в Китае? →
  • Как импортировать ссылку на подписку (Hiddify, Clash, Shadowrocket) →
  • Что такое веб-прокси и когда он нужен →
  • Какой способ подключения для какой ситуации →
  • Протоколы прокси-линий: SS, VMess, VLESS, Trojan, Hysteria2, TUIC →
  • Как выбрать VPN-роутер →
  • Прошивка роутера: со стоковой системы на нашу, шаг за шагом →
  • Что умеет прошивка роутера →
  • Для телевизора и бабушки с дедушкой →
  • Как работает раздельная маршрутизация на VPN-роутере →
  • Что такое OpenWrt? Софтроутер, шлюз сбоку и VPN-роутер для Китая →
  • VPN-роутер для поездки в Китай: настройка и кому он нужен →
  • iOS не устанавливает приложение: что делать →
  • Рабочий ноутбук: нет прав администратора, корпоративный VPN уже включён →
  • Много устройств: настроить один раз и не переделывать на новом телефоне →
  • VPN на NAS Synology или QNAP →
  • VPN на Linux-сервере и для консольных утилит →
  • Dropbox и другие программы просят HTTP / SOCKS-прокси: что делать →
  • VPN на iPhone: какой способ выбрать и как настроить →
  • VPN на Android: какой клиент выбрать и как настроить →
  • VPN на компьютере: какой способ выбрать для Windows и Mac →
  • Бесплатный или платный VPN для Китая? →
  • Чем мы лучше других VPN →
  • Как распознать опасное VPN-приложение →
  • Не хватает устройств? Временное и постоянное решение →
  • Что такое VPN, зачем он нужен и как подключить →
  • Провайдер прокси-линий, ускоритель и VPN: в чём разница →
  • Безопасен ли VPN? Кто что видит →
  • Как с нами связаться и никогда не потерять связь →
  • RustDesk для удалённой помощи →
  • Как получить хороший ответ от ИИ-поддержки →
  • Возврат денег и обратная связь →

Flags by Twemoji (CC-BY 4.0)·IP Geolocation by DB-IP

О насРуководстваКонтакты

© 2006–2026LeoTun