Автор: Александр Д.
08.09.2026 · 8 МИН ЧТЕНИЯ
ОБНОВЛЕНО

WireGuard это VPN-протокол (правила, по которым телефон и сервер договариваются) с открытым кодом, и выделяется он тремя вещами: скоростью, экономией батареи и простотой.

Весь конфиг помещается в десять строк, на телефон переносится QR-кодом, а с 2020 года протокол встроен в ядро Linux. Существенный минус у него один: он работает по UDP с узнаваемым рисунком трафика, поэтому в сетях, которые ограничивают VPN, не проходит там, где проходит VLESS. Дальше по порядку: как он устроен, что значит каждая строка, и настройка на каждой платформе.

Коротко:

  • WireGuard быстрый и экономный, его конфиг умещается в десять строк, но из-за UDP и узнаваемого рисунка трафика в сетях с ограничениями он уступает VLESS.
  • Строка AllowedIPs = 0.0.0.0/0, ::/0 отправляет в туннель весь трафик, а DNS в конфиге должен быть внутри туннеля, иначе список сайтов уйдёт провайдеру.
  • Если рукопожатия нет, проверьте адрес, порт, публичный ключ и время на устройстве, а если на телефоне соединение рвётся через минуты, нужен PersistentKeepalive = 25.
ПУТЬ ДО ТУННЕЛЯРИС. 01QR или .confот сервиса1импортв приложение2разрешить VPNв системе3туннель поднятрукопожатие есть4если сеть режет UDP, шага не будет
Ключи уже лежат в файле: на телефоне и компьютере это импорт, а не набор. На роутере те же значения заносят в поля вручную.

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

WireGuard строится на парах ключей, как SSH: у каждой стороны есть приватный ключ, который никуда не уходит, и публичный, который отдают другой стороне. Устройство и сервер проверяют друг друга по ключам и шифруют данные сеансовым ключом. Ни логинов, ни паролей, ни сертификатов.

Правило маршрутизации называется AllowedIPs: в конфиге устройства это «какие адреса назначения идут в туннель». Значение 0.0.0.0/0, ::/0 означает «всё». Понять эту строку значит понять WireGuard.

КЛЮЧИ, КАК В SSH: БЕЗ ЛОГИНОВРИС. 02устройствоPrivateKey остаётсяникуда не уходитсерверPrivateKey остаётсяникуда не уходитваш PublicKeyсерверный PublicKeyзнает серверныйзнает вашни логинов, ни паролей, ни сертификатов
Обмен ключами вместо логина и пароля: приватный не покидает устройство, публичный отдают другой стороне.

Чем WireGuard отличается от корпоративного IPsec и почему их сравнивают, разобрано в статье WireGuard или IPsec.

Конфиг WireGuard построчно

[Interface]
PrivateKey = приватный ключ устройства
Address = 10.0.0.2/32
DNS = 10.0.0.1

[Peer]
PublicKey = публичный ключ сервера
Endpoint = адрес сервера:51820
AllowedIPs = 0.0.0.0/0, ::/0
PersistentKeepalive = 25
  • PrivateKey это ваш ключ, утечка равна утечке аккаунта.
  • Address это адрес устройства внутри туннеля.
  • DNS отвечает за имена сайтов после поднятия туннеля. Должен быть внутри туннеля, иначе список сайтов уйдёт провайдеру.
  • PublicKey это ключ сервера для проверки его подлинности.
  • Endpoint это адрес и порт сервера.
  • AllowedIPs задаёт, что идёт в туннель.
  • PersistentKeepalive шлёт пустой пакет каждые 25 секунд, на телефоне за NAT оператора он обязателен.

Сервис выдаёт этот файл или QR-код готовым; менять ничего не нужно.

КОНФИГ ПОСТРОЧНОРИС. 03[Interface]про васPrivateKeyваш закрытый ключAddressваш адрес в туннелеDNSчьи имена спрашивать[Peer]про серверAllowedIPsчто заворачивать в туннель

Как настроить WireGuard на iPhone и Android?

  1. Установите официальное приложение WireGuard из App Store или Google Play, либо приложение сервиса, в которое WireGuard встроен.
  2. «+» → «Создать из QR-кода» или «Импорт из файла».
  3. При первом подключении система попросит разрешение на добавление VPN, подтвердите его.
  4. На Android включите в системных настройках «Постоянную VPN» и параметр, который пускает трафик только через VPN: это и есть kill switch (рубильник: нет туннеля, нет интернета) на уровне системы. Подробнее в статье VPN на Android.
  5. Если на мобильной сети соединение рвётся, проверьте PersistentKeepalive = 25 и снимите ограничения батареи с приложения.

В приложении для iOS можно настроить подключение по требованию: включать туннель автоматически в определённых Wi-Fi-сетях.

ЗАЧЕМ ТЕЛЕФОНУ PERSISTENTKEEPALIVEТелефонмобильная сетьNAT оператораСерверWireGuardС PersistentKeepalive = 25пустой пакет25 с25 с25 с25 с25 ссоединение держитсяБез неготишина, несколько минутрвётсяЕсли всё равно рвётся, снимите ограничения батареи с приложения.
Пустой пакет раз в 25 секунд держит соединение телефона за NAT оператора.

Как настроить WireGuard на Windows и macOS

  1. Скачайте клиент с wireguard.com (на macOS есть и в App Store).
  2. «Импорт туннеля» → выберите .conf, или «Добавить пустой туннель» и вставьте конфиг.
  3. «Подключить». Если в «Последнем рукопожатии» появилось время, туннель поднят.
  4. Проверьте адрес на странице What Is My IP.

Две особенности Windows: галка, которая пускает трафик только через туннель, включена по умолчанию и рвёт интернет при обрыве туннеля, и это правильно. И если сервер не поддерживает IPv6, а в конфиге стоит ::/0, сайты по IPv6 не откроются; уберите ::/0.

СХЕМАРИС. 04AllowedIPs: что идёт в туннель0.0.0.0/0, ::/0всё, весь трафик10.0.0.0/24только своя сеть0.0.0.0/0всё по IPv4IPv6 мимо: утечка
Одна строка решает, что вообще попадает в туннель. Понять её значит понять WireGuard.

WireGuard на роутере OpenWrt

Для телевизора и приставок, которые не умеют приложения.

  1. opkg update && opkg install wireguard-tools luci-proto-wireguard.
  2. Сеть → Интерфейсы → Добавить, протокол WireGuard VPN, вставьте приватный ключ и Address.
  3. На вкладке «Пиры» заполняются публичный ключ сервера, Endpoint, AllowedIPs, Keepalive, галка «Маршрутизировать разрешённые IP».
  4. Межсетевой экран: новый интерфейс в зону wan (или отдельную), разрешить переадресацию lan → зона, включить маскарадинг.
  5. DNS в настройках DHCP → адрес внутри туннеля, иначе весь дом течёт по DNS.
  6. Перезапустите сеть и проверьте адрес с устройства в локальной сети.

Скорость упирается в процессор роутера: бюджетные модели дают десятки–пару сотен мегабит, гигабит требует x86 или мощного ARM. Общий разбор темы есть в статье VPN на роутере.

НА РОУТЕРЕ: ОДИН ТУННЕЛЬ НА ВЕСЬ ДОМТелевизорПриставкаНоутбукРоутер OpenWrtинтерфейс WireGuardтуннельVPN-серверDNS внутри туннеляDNS мимо туннеляПровайдервидит имена сайтовDNS в настройках DHCP: адрес внутри туннеля, иначе весь дом течёт по DNS.
Роутер ведёт весь дом через туннель, а DNS в настройках DHCP должен быть внутри него.

Если вам нужно закрыть не одно устройство, а всю домашнюю сеть, WireGuard-клиент ставят на сам роутер. Какие модели это умеют и как проверить туннель, разобрано в статье как настроить VPN на роутере. Обратная задача, когда роутер сам становится сервером и пускает вас домой снаружи, разобрана в VPN-сервер на роутере.

ГДЕ СТАВИТСЯ ОДИНАКОВОРИС. 05один конфигодин и тот же вездеiPhoneAndroidWindowsmacOSроутерофициальное приложениепакет в прошивке

WireGuard или VLESS: что выбрать?

  • Домашний интернет, обычная мобильная сеть, поездки в страны без ограничений: WireGuard быстрее и экономнее.
  • Сети, которые режут UDP или замедляют VPN (офис, кампус, некоторые отели): VLESS + Reality, который выглядит как обычный HTTPS.
  • Не уверены: приложение с автоматическим выбором.

Чем протоколы отличаются по сути, разобрано в статье VLESS: что это за протокол.

ГДЕ ЧТО РАБОТАЕТРИС. 06дом, обычная мобильная сетьWireGuardпоездки без ограниченийWireGuardофис, кампус, отельрежут UDPVLESSне увереныавто
WireGuard быстрее и экономнее, но узнаётся по рисунку трафика и работает только по UDP. Там, где UDP режут, проходит VLESS.
ЕСЛИ РУКОПОЖАТИЕ НЕ ПРОХОДИТРИС. 07время на устройстве верноепорт и адрес сервера без опечатокключи не перепутаны местамиUDP не закрыт в этой сетиMTU не великоват

Если конфиг есть, а что означает каждая строка непонятно, разберите его с нейросетью. Ключи при этом не показывайте.

Промт для нейросети
Объясни мой конфиг WireGuard построчно.

Вот конфиг с вырезанными ключами:

[Interface]
Address = (что там у вас)
DNS = (что там у вас)
MTU = (если есть)

[Peer]
AllowedIPs = (что там у вас)
Endpoint = (город или «скрыт»)
PersistentKeepalive = (если есть)

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

Строки PrivateKey и PublicKey не вставляйте никуда: закрытый ключ это и есть ваш доступ.

Почему не работает WireGuard?

  • Рукопожатия нет: неверный адрес или порт, чужой публичный ключ, сбитое время на устройстве.
  • Рукопожатие есть, сайты не открываются: AllowedIPs не включает цель, DNS вне туннеля, IPv6 не совпадает с сервером.
  • Отваливается через минуты на телефоне: нет Keepalive или система усыпила приложение.
  • Несколько мегабит: далёкий сервер или предел процессора роутера.
ДИАГНОСТИКА ПО РУКОПОЖАТИЮРИС. 08первый вопрос: было ли рукопожатиеРукопожатия нетадрес/порт, чужой PublicKey,сбитое время на устройствеРукопожатие есть, сайтов нетAllowedIPs, DNS вне туннеля, IPv6Рвётся через минуты на телефоненет PersistentKeepalive = 25
Диагностика начинается с одного вопроса: было ли рукопожатие. Дальше ветки не пересекаются.

В 404 VPN VLESS + Reality работает в приложениях для Android, Windows, macOS и Linux (в версиях для Android и Linux есть Kill Switch), а WireGuard с сентября 2026 года выдаётся конфигом для Стамбула и Марселя: в кабинете на странице «Ключи» есть файл .conf и QR-код для приложения WireGuard. DNS в этом конфиге внутри туннеля (1.1.1.1 и 9.9.9.9), весь трафик, IPv4 и IPv6, идёт в туннель, а отключение интернета при обрыве включают, как описано выше, в приложении WireGuard или в системных настройках VPN. Отдельного конфига для роутера нет: те же значения из .conf заводите в роутер, если тот такое умеет. Подробнее на странице как это работает, а начать можно с главной.

Частые вопросы

Что такое WireGuard простыми словами?

Это VPN-протокол с открытым кодом, который выделяется скоростью, экономией батареи и простотой. Весь конфиг помещается в десять строк, а на телефон переносится QR-кодом.

Что значит AllowedIPs = 0.0.0.0/0 в WireGuard?

В туннель уходит весь трафик по IPv4, а IPv6 идёт мимо, и это утечка. Чтобы в туннель шло всё, пишут 0.0.0.0/0, ::/0.

Зачем нужен PersistentKeepalive в WireGuard?

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

Как понять, что WireGuard подключился?

Посмотрите на строку «Последнее рукопожатие»: если там появилось время, туннель поднят. Затем проверьте адрес на странице What Is My IP.

Работает ли WireGuard по TCP?

Нет, WireGuard работает только по UDP. В сетях, которые режут UDP, вместо него используют VLESS + Reality: он выглядит как обычный HTTPS.