VLESS на роутере OpenWrt — это способ пустить через VPN только заблокированные сайты (YouTube, Discord), а банки и госуслуги оставить на прямом канале. Реализуется это связкой podkop (диспетчер маршрутизации) и sing-box (движок протоколов). В инструкции — установка одной командой, разбор vless://-ссылки, настройка через веб-интерфейс и SSH, диагностика.

Что такое VLESS и podkop

VLESS — современный протокол прокси, а VLESS Reality — его версия, которая маскирует VPN-трафик под обычное посещение реального сайта (например, под HTTPS-запрос к microsoft.com). Для DPI это выглядит как легитимный трафик, поэтому Reality хорошо переживает блокировки.

podkop — надстройка для OpenWrt, которая решает, какой трафик отправить в VPN, а какой — напрямую. Итог настройки: YouTube и Discord работают через VPN-сервер, а российские сайты, банки и госуслуги идут напрямую и на полной скорости. Общее знакомство с инструментом — в статье что такое podkop.

Что понадобится:

  • роутер на OpenWrt 23.05 или новее;
  • ~50 МБ свободной flash (sing-box + списки);
  • рабочая vless://-ссылка (свой сервер или VPN-сервис);
  • SSH-доступ (как подключиться).

Как это работает: схема маршрутизации

  • podkop = «диспетчер»: держит списки доменов и подсетей, перехватывает DNS и решает судьбу каждого запроса.
  • sing-box = «двигатель»: устанавливает само VLESS-соединение с сервером.
Схема маршрутизации трафика через podkop и sing-box на OpenWrt
Запрос к заблокированному домену уходит в VLESS-туннель, остальной трафик — напрямую к провайдеру

Шаг 1. Подготовка роутера

ssh root@192.168.1.1
ubus call system board
df -h /overlay
opkg update        # OpenWrt 24.10 (на 25.12: apk update)

Убедитесь, что версия 24.10+ и свободно хотя бы ~50 МБ.

Сделайте бэкап перед началом: podkop меняет настройки DNS (dnsmasq) и firewall. Если что-то пойдёт не так, бэкап вернёт роутер в рабочее состояние.
sysupgrade -b /root/backup-before-podkop.tar.gz

Шаг 2. Установка podkop

Установка выполняется одной командой официальным скриптом из репозитория разработчика:

sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/podkop/refs/heads/main/install.sh)

На оба вопроса установщика можно ответить Y. Скрипт поставит:

  • podkop — сам сервис маршрутизации;
  • luci-app-podkop — веб-интерфейс;
  • sing-box — движок протоколов;
  • dnsmasq-full — вместо обычного dnsmasq.
Почему dnsmasq-full: обычный dnsmasq в OpenWrt не умеет ipset/nftset, которые нужны podkop для маршрутизации по доменам. Скрипт автоматически удаляет базовый dnsmasq и ставит dnsmasq-full — на короткое время при установке DNS может «моргнуть», это нормально.

Проверьте, что сервис запустился, и при желании включите русский язык интерфейса:

service podkop status
# OpenWRT 25.12+
opkg install luci-i18n-podkop-ru
# OpenWRT 24.10 и ниже 
apk add luci-i18n-podkop-ru  

Шаг 3. Где взять vless:// ссылку

Варианты:

  • Свой сервер: панели 3x-ui, Marzban или x-ui на вашем VPS генерируют vless://-ссылку в пару кликов. Как поднять такой сервер с нуля — в инструкции по установке и настройке 3X-UI.
  • Готовый VPN-сервис с поддержкой VLESS выдаёт ссылку в личном кабинете.

Если вместо готовой ссылки на руках только JSON-конфиг sing-box или Xray-core (например, из своей серверной конфигурации) — переведите его в vless:// нашим конвертером JSON → VLESS. Он работает прямо в браузере, сам вычисляет публичный ключ Reality из приватного и ничего не отправляет на сервер.

Разбор структуры ссылки:

vless://UUID@host:port?type=tcp&security=reality&pbk=PUBLICKEY&fp=chrome&sni=SNI&sid=SHORTID&flow=xtls-rprx-vision#Имя
ПараметрЧто означаетГде взять
UUIDидентификатор пользователяпанель сервера
host:portадрес и порт серверапанель сервера
security=realityтип защитыобычно reality
pbkпубличный ключ Realityпанель сервера
sniимя сайта-маскировкипанель сервера
sidshort idпанель сервера
flowрежим XTLSxtls-rprx-vision

Если поднимаете сервер сами, без готовой панели, — пару pbk/приватный ключ и sid можно получить в нашем генераторе ключей Reality, а готовую ссылку потом превратить в QR-код для телефона.

Ссылка = ключ от вашего VPN. Не публикуйте её и не вставляйте на сторонние сайты «для проверки» — по ней любой сможет пользоваться вашим сервером.

Шаг 4. Добавляем VLESS-ссылку в podkop (через LuCI)

  1. Откройте LuCI → Services → Podkop (Службы → Podkop).
  2. В основной секции выберите тип конфигурации Proxy (Proxy Config / URL).
  3. Вставьте вашу vless://... строку в поле Proxy String / Config URL. podkop сам распарсит все параметры.
  4. Нажмите Save & Apply.
Добавление vless ссылки в podkop через LuCI на OpenWrt Выбор community-списков для маршрутизации podkop vless

Шаг 5. Настраиваем, какой трафик пойдёт в VPN

В интерфейсе podkop есть готовые механизмы отбора трафика:

  • Community Lists — готовые обновляемые списки: Youtube, Discord, Meta, Telegram. Отметьте нужные — их трафик пойдёт в туннель.
  • Custom Domains — свои домены вручную (по одному в строке).
  • Custom Subnets — свои IP-подсети.
  • Domain lists (remote) — подключение внешних списков по URL.
  • Exclusions — что НЕ пускать в туннель (банки, госуслуги, локальные ресурсы). По сути, если домена нет в списке обхода, то он уже не будет идти через туннель. Данным типом можно испоключить какой-то домен, если он есть в уже готовых списках.
НужноЧто включить
Разблокировать YouTubeсписок Youtube
Разблокировать Discord (текст + голос)список Discord
Открыть Instagram*/Facebook*список Meta
Пустить всё зарубежноеRussia outside
Оставить банк напрямуюничего делать не нужно, если домен отсуствует в секциях, то он пойдет напрямую
Совет: не держите один и тот же домен в нескольких секциях — это создаёт конфликты маршрутизации. Для каждой секции podkop делайте уникальный набор доменов.

Шаг 6. То же через SSH и UCI

Пример /etc/config/podkop с основной секцией:

config main 'main'
	option mode 'proxy'
	option proxy_string 'vless://UUID@host:443?type=tcp&security=reality&pbk=...&sni=...&sid=...&flow=xtls-rprx-vision#server'
	list community_domains 'youtube'
	list community_domains 'discord'

UCI-командами:

uci set podkop.main.proxy_string='vless://UUID@host:443?type=tcp&security=reality&pbk=...&sni=...&sid=...&flow=xtls-rprx-vision#server'
uci commit podkop
service podkop restart
Подводный камень с экранированием: ссылка содержит символы ?, &, #, которые shell интерпретирует по-своему. Обязательно оборачивайте всю ссылку в одинарные кавычки, как в примере выше. В двойных кавычках & и # сломают команду.
Инфо: точные имена секций и опций в /etc/config/podkop зависят от версии podkop. Надёжный способ узнать актуальные ключи — настроить одну секцию через LuCI и посмотреть результат: uci show podkop.

Шаг 7. Проверка работоспособности

service podkop status
logread -e podkop | tail -20
logread -e sing-box | tail -20

В логах не должно быть строк failed to start или error. В веб-интерфейсе podkop есть раздел Диагностика с кнопкой проверки соединения. Ещё до этого шага саму ссылку можно проверить снаружи — наш инструмент проверки серверов откроет TCP/TLS-соединение до сервера и покажет задержку и сертификат, не раскрывая UUID.

Проверка на клиентском устройстве:

  • заблокированный сайт (например, YouTube) открывается;
  • на обычном сайте 2ip.ru показывает ваш российский IP (значит, не всё гонится в VPN);
  • нет DNS-утечек (browserleaks.com/dns).

Таблица диагностики:

СимптомПричинаРешение
интернет пропал целикомошибка в ссылке/конфигеservice podkop stop, проверить ссылку и перезапустить службу
YouTube не открываетсядомен не в спискевключить список Youtube
сайт идёт мимо VPNдомена нет в спискахдобавить в Custom Domains
sing-box падаетневерная ссылкаlogread -e sing-box

Типичные проблемы

Podkop установился, но интернет пропал целиком. Обычно причина — ошибка в ссылке или конфликт DNS. Быстро отключите: service podkop stop. Проверьте vless://-ссылку (скопируйте заново из панели) и логи sing-box.

«sing-box: failed to start». Неверный конфиг или ссылка. Смотрите точную строку ошибки: logread -e sing-box | tail -30.

Не хватает памяти, роутер перезагружается. sing-box + большие списки требовательны к RAM.

VPN работает, но YouTube не открывается. Чаще всего дело в QUIC (HTTP/3): браузер идёт по UDP/443 мимо правил. Заблокируйте UDP 443, чтобы трафик вернулся на TCP — подробности в статье про обход блокировки Discord и YouTube.

Несколько конфигов и переключение

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

Часто задаваемые вопросы (FAQ)

Podkop или полный VPN на роутере — что лучше? podkop почти всегда лучше для дома: полная скорость на российских сайтах, банки работают напрямую, в VPN идёт только заблокированное. Полный туннель нужен редко.

Podkop работает с Shadowsocks / Trojan / Hysteria2? Да, sing-box поддерживает эти протоколы. Вставляйте соответствующую ссылку (ss://, trojan://, hy2://) в то же поле.

Можно ли добавить подписочную ссылку вместо одной vless://? Штатный podkop подписки не поддерживает — нужен форк с этой функцией. См. как добавить подписку в podkop.

Сколько устройств выдержит роутер? На MT7981 — вся домашняя сеть (10–20 устройств). Ограничение — скорость шифрования, упирается в CPU.

Сильно ли падает скорость? В VPN-туннеле — да, зависит от сервера и протокола. Но прямой трафик (российские сайты) идёт на полной скорости, поэтому в быту замедление почти незаметно.

Podkop и AmneziaWG — можно ли вместе? Да: podkop может использовать AmneziaWG-интерфейс как исходящий канал вместо VLESS-сервера. Удобно, когда нет своего VPS, а есть WARP.

Слетит ли podkop после обновления прошивки? Да, при sysupgrade пакеты удаляются. Переустановите podkop после обновления OpenWrt.

Заключение

VLESS на роутере через podkop — рабочий рецепт умного обхода блокировок: установить podkop одной командой → вставить vless://-ссылку → включить нужные списки → проверить. Дальше стоит настроить голос Discord и YouTube без буферизации, рассмотреть подписочные ссылки для автообновления серверов и не забыть, что после обновления OpenWrt podkop нужно ставить заново.


* Instagram и Facebook принадлежат компании Meta, признанной экстремистской и запрещённой на территории РФ.