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

Как работает

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

Правило маршрутизации называется AllowedIPs: в конфиге устройства это «какие адреса назначения идут в туннель». Значение 0.0.0.0/0, ::/0 означает «всё». Понять эту строку — значит понять 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-код готовым; менять ничего не нужно.

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-сетях.

Windows и macOS

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

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

Роутер на 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 на роутере.

WireGuard или VLESS

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

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

Быстрая диагностика

  • Рукопожатия нет: неверный адрес или порт, чужой публичный ключ, сбитое время на устройстве.
  • Рукопожатие есть, сайты не открываются: AllowedIPs не включает цель, DNS вне туннеля, IPv6 не совпадает с сервером.
  • Отваливается через минуты на телефоне: нет Keepalive или система усыпила приложение.
  • Несколько мегабит: далёкий сервер или предел процессора роутера.

В 404 VPN WireGuard и VLESS + Reality встроены в одно приложение с автоматическим выбором, DNS внутри туннеля и Kill Switch; конфиг WireGuard можно выгрузить для роутера. Подробнее — на странице как это работает, начать — на главной.