WireGuard это VPN-протокол (правила, по которым телефон и сервер договариваются) с открытым кодом, и выделяется он тремя вещами: скоростью, экономией батареи и простотой.
Весь конфиг помещается в десять строк, на телефон переносится QR-кодом, а с 2020 года протокол встроен в ядро Linux. Существенный минус у него один: он работает по UDP с узнаваемым рисунком трафика, поэтому в сетях, которые ограничивают VPN, не проходит там, где проходит VLESS. Дальше по порядку: как он устроен, что значит каждая строка, и настройка на каждой платформе.
QR или .conf от сервиса → импорт в приложение → разрешить VPN в системе → рукопожатие есть, туннель поднят ↑ если сеть режет UDP, шага не будет
Как работает WireGuard
WireGuard строится на парах ключей, как SSH: у каждой стороны есть приватный ключ, который никуда не уходит, и публичный, который отдают другой стороне. Устройство и сервер проверяют друг друга по ключам и шифруют данные сеансовым ключом. Ни логинов, ни паролей, ни сертификатов.
Правило маршрутизации называется AllowedIPs: в конфиге устройства это «какие адреса назначения идут в туннель». Значение 0.0.0.0/0, ::/0 означает «всё». Понять эту строку значит понять WireGuard.
устройство сервер 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-код готовым; менять ничего не нужно.
[Interface] про вас PrivateKey ваш закрытый ключ Address ваш адрес в туннеле DNS чьи имена спрашивать [Peer] про сервер AllowedIPs что заворачивать в туннель
Как настроить WireGuard на iPhone и Android
- Установите официальное приложение WireGuard из App Store или Google Play, либо приложение сервиса, в которое WireGuard встроен.
- «+» → «Создать из QR-кода» или «Импорт из файла».
- При первом подключении система попросит разрешение на добавление VPN, подтвердите его.
- На Android включите в системных настройках «Постоянную VPN» и «Блокировать соединения без VPN»: это и есть kill switch (рубильник: нет туннеля, нет интернета) на уровне системы. Подробнее в статье VPN на Android.
- Если на мобильной сети соединение рвётся, проверьте
PersistentKeepalive = 25и снимите ограничения батареи с приложения.
В приложении для iOS можно настроить подключение по требованию: включать туннель автоматически в определённых Wi-Fi-сетях.
Как настроить WireGuard на Windows и macOS
- Скачайте клиент с wireguard.com (на macOS есть и в App Store).
- «Импорт туннеля» → выберите
.conf, или «Добавить пустой туннель» и вставьте конфиг. - «Подключить». Если в «Последнем рукопожатии» появилось время, туннель поднят.
- Проверьте адрес на странице What Is My IP.
Две особенности Windows: галка «Блокировать трафик вне туннеля» включена по умолчанию и рвёт интернет при обрыве туннеля, и это правильно. И если сервер не поддерживает IPv6, а в конфиге стоит ::/0, сайты по IPv6 не откроются; уберите ::/0.
AllowedIPs: что идёт в туннель
0.0.0.0/0, ::/0 всё, весь трафик
10.0.0.0/24 только своя сеть
0.0.0.0/0 всё по IPv4,
IPv6 мимо: утечкаWireGuard на роутере OpenWrt
Для телевизора и приставок, которые не умеют приложения.
opkg update && opkg install wireguard-tools luci-proto-wireguard.- Сеть → Интерфейсы → Добавить, протокол WireGuard VPN, вставьте приватный ключ и
Address. - На вкладке «Пиры» заполняются публичный ключ сервера, Endpoint, AllowedIPs, Keepalive, галка «Маршрутизировать разрешённые IP».
- Межсетевой экран: новый интерфейс в зону wan (или отдельную), разрешить переадресацию lan → зона, включить маскарадинг.
- DNS в настройках DHCP → адрес внутри туннеля, иначе весь дом течёт по DNS.
- Перезапустите сеть и проверьте адрес с устройства в локальной сети.
Скорость упирается в процессор роутера: бюджетные модели дают десятки–пару сотен мегабит, гигабит требует x86 или мощного ARM. Общий разбор темы есть в статье VPN на роутере.
Если вам нужно закрыть не одно устройство, а всю домашнюю сеть, WireGuard-клиент ставят на сам роутер. Какие модели это умеют и как проверить туннель, разобрано в статье как настроить VPN на роутере. Обратная задача, когда роутер сам становится сервером и пускает вас домой снаружи, разобрана в VPN-сервер на роутере.
iPhone официальное приложение Android официальное приложение Windows официальное приложение macOS официальное приложение роутер пакет в прошивке └─ конфиг один и тот же везде
WireGuard или VLESS
- Домашний интернет, обычная мобильная сеть, поездки в страны без ограничений: WireGuard быстрее и экономнее.
- Сети, которые режут UDP или замедляют VPN (офис, кампус, некоторые отели): VLESS + Reality, который выглядит как обычный HTTPS.
- Не уверены: приложение с автоматическим выбором.
Чем протоколы отличаются по сути, разобрано в статье VLESS: что это за протокол.
дом, обычная мобильная сеть WireGuard поездки без ограничений WireGuard офис/кампус/отель, режут UDP VLESS не уверены авто
[ ] время на устройстве верное [ ] порт и адрес сервера без опечаток [ ] ключи не перепутаны местами [ ] UDP не закрыт в этой сети [ ] MTU не великоват
Если конфиг есть, а что означает каждая строка непонятно, разберите его с нейросетью. Ключи при этом не показывайте.
Объясни мой конфиг WireGuard построчно.
Вот конфиг с вырезанными ключами:
[Interface]
Address = (что там у вас)
DNS = (что там у вас)
MTU = (если есть)
[Peer]
AllowedIPs = (что там у вас)
Endpoint = (город или «скрыт»)
PersistentKeepalive = (если есть)
Скажи, что делает каждая строка, весь ли
трафик пойдёт в туннель при таком AllowedIPs
и что поменять, если рвётся в мобильной сети.
Строк, которых нет в моём конфиге, не выдумывай.
Строки PrivateKey и PublicKey не вставляйте никуда: закрытый ключ это и есть ваш доступ.
WireGuard не работает: быстрая диагностика
- Рукопожатия нет: неверный адрес или порт, чужой публичный ключ, сбитое время на устройстве.
- Рукопожатие есть, сайты не открываются:
AllowedIPsне включает цель, DNS вне туннеля, IPv6 не совпадает с сервером. - Отваливается через минуты на телефоне: нет Keepalive или система усыпила приложение.
- Несколько мегабит: далёкий сервер или предел процессора роутера.
Рукопожатия нет → адрес/порт, чужой PublicKey, сбитое время на устройстве Рукопожатие есть, сайтов нет → AllowedIPs, DNS вне туннеля, IPv6 Рвётся через минуты на телефоне → нет PersistentKeepalive = 25
В 404 VPN VLESS + Reality работает в приложениях для Android и macOS (в Android-версии есть Kill Switch), а WireGuard с сентября 2026 года выдаётся конфигом для Стамбула и Марселя: в кабинете на странице «Ключи» есть файл .conf и QR-код для приложения WireGuard. DNS в этом конфиге внутри туннеля (1.1.1.1 и 9.9.9.9), весь трафик, IPv4 и IPv6, идёт в туннель, а блокировку при обрыве включают, как описано выше, в приложении WireGuard или в системных настройках VPN. Отдельного конфига для роутера нет: те же значения из .conf заводите в роутер, если тот такое умеет. Подробнее на странице как это работает, а начать можно с главной.