Netshift на OpenWrt — это форк популярного инструмента podkop с поддержкой подписок и автообновления серверов. Он подойдёт новичку, у которого один роутер и один VPN: удобный веб-интерфейс, выборочная маршрутизация и подписки «из коробки». В этой инструкции — установка, подключение VPN-конфигурации, настройка маршрутизации и DNS, диагностика и удаление.

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

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

Netshift — «диспетчер» трафика на роутере: он держит списки заблокированных доменов, перехватывает DNS и отправляет нужный трафик в VPN-туннель, а остальное — напрямую. Движком под ним работает sing-box. От оригинального podkop Netshift отличается поддержкой подписочных ссылок.

ИнструментПодпискиUIСложность
podkopнетпростойнизкая
Netshiftдапростойнизкая
passwall/homeproxyдасложныйвысокая

Кому подойдёт: домашнему пользователю с одним VPN (ссылка или подписка), которому нужен обход блокировок для всей сети без глубокого погружения.

Что понадобится: OpenWrt 23.05/24.10, свободная flash (~50 МБ), SSH-доступ, VLESS-ссылка или подписка.

Как работает Netshift: архитектура на пальцах

Компоненты:

  • ядро sing-box — устанавливает VPN-соединение;
  • DNS-перехват через dnsmasq-full — чтобы маршрутизировать по доменам;
  • списки маршрутизации — какие домены/подсети в туннель;
  • LuCI-интерфейс — управление.

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

ssh root@192.168.1.1
ubus call system board
df -h /overlay
sysupgrade -b /root/backup-$(date +%F).tar.gz

Подключение по SSH для новичков разобрано в отдельной статье. Обязательно удалите конфликтующие прокси-решения, если они стоят:

# OpenWrt 24.10 (opkg)
opkg remove luci-app-podkop podkop 2>/dev/null
opkg remove luci-app-passwall passwall 2>/dev/null
# OpenWrt 25.12 (apk)
# apk del luci-app-podkop podkop 2>/dev/null
# apk del luci-app-passwall passwall 2>/dev/null
Нельзя держать два прокси-решения сразу. Netshift, podkop, passwall борются за DNS-перехват и nftables-правила. Оставьте что-то одно.

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

Способ 1: установочный скрипт

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

Скрипт сам определит версию OpenWrt, поставит sing-box, dnsmasq-full и настроит firewall.

Способ 2: ручная установка .ipk/.apk

Скачайте пакеты из раздела Releases репозитория Netshift и установите:

cd /tmp
wget https://github.com/yandexru45/netshift/releases/download/.../netshift_....ipk
wget https://github.com/yandexru45/netshift/releases/download/.../luci-app-netshift_....ipk
# OpenWrt 24.10 (opkg)
opkg install ./netshift_*.ipk ./luci-app-netshift_*.ipk
# OpenWrt 25.12 (apk): скачивайте .apk-пакеты
# apk add --allow-untrusted ./netshift_*.apk ./luci-app-netshift_*.apk

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

service netshift status

Плюс должен появиться пункт в меню LuCI (Services → Netshift). Если пакет не ставится — проверьте зависимости (sing-box, dnsmasq-full) и что версия пакета соответствует вашей сборке OpenWrt.

Шаг 3. Первичная настройка через LuCI

  1. LuCI → Services → Netshift.
  2. Обзор вкладок: основная конфигурация, маршрутизация (списки), DNS, диагностика.
  3. Включите сервис и автозапуск.
Вкладки Настроек Netshift в LuCI — интерфейсы, DNS, списки и диагностика

Шаг 4. Подключаем VPN-конфигурацию

  • Вариант А — одиночная ссылка: вставьте vless://, ss://, trojan:// или hy2:// в поле конфигурации. Перед этим стоит проверить сервер на доступность в инструменте проверки серверов.
  • Вариант Б — подписка: вставьте subscription URL и выберите сервер из списка (см. отдельную статью про подписки в podkop/Netshift). Ту же ссылку на подписку можно проверить целиком — инструмент проверки серверов сам скачает и разберёт список серверов.
  • Вариант В — свой JSON-конфиг sing-box (для продвинутых): вставьте outbound-секцию. Пример структуры:
{
  "type": "vless",
  "tag": "proxy",
  "server": "example.com",
  "server_port": 443,
  "uuid": "ВАШ-UUID",
  "flow": "xtls-rprx-vision",
  "tls": {
    "enabled": true,
    "server_name": "microsoft.com",
    "reality": { "enabled": true, "public_key": "PUBKEY", "short_id": "SHORTID" }
  }
}

Такой блок можно собрать из готовой ссылки (и наоборот) в конвертере JSON ↔ ссылка, а PUBKEY/SHORTID для Reality — получить в генераторе ключей Reality.

Так выглядит подключение подписки в LuCI: сначала выбирается тип конфигурации, затем вводится сама ссылка и частота автообновления.

Выбор типа подключения Proxy и типа конфигурации Подписка в Netshift Добавление URL подписки и настройка интервала автообновления в Netshift

Какой протокол выбрать:

ПротоколКогда выбрать
VLESS Realityлучший баланс скорости и незаметности, нужен свой сервер
Hysteria2быстрый на нестабильных каналах (UDP), хорош для игр/голоса
Shadowsocksпростой и лёгкий, но легче детектируется DPI

Шаг 5. Маршрутизация: что пойдёт через VPN

Готовые списки: Russia inside/outside, Youtube, Discord, Meta, Twitter/X, Telegram. Плюс — свои домены и подсети, и исключения (банки, госуслуги, локальные сети).

Практические пресеты:

  • «только YouTube+Discord» — включить списки Youtube и Discord, остальное напрямую;
  • «всё зарубежное» — список Russia outside;
  • «всё кроме РФ» — полный туннель с исключением российских подсетей.

Форк поддерживает маршрутизацию по устройствам (IP) — можно пустить в VPN только телевизор, а остальное оставить напрямую.

Выбор списков сообщества и своих доменов для маршрутизации в Netshift Частота автообновления списков доменов и подсетей в настройках Netshift

Шаг 6. Настройка DNS

Без правильного DNS маршрутизация по доменам не работает: именно ответ DNS определяет, куда пойдёт трафик. Netshift перехватывает DNS-запросы клиентов и резолвит заблокированные домены через туннель (DoH/DoT, UDP внутри VPN), что заодно защищает от DNS-утечек.

Если DNS-перехват конфликтует с вашими настройками, правки вносятся в /etc/config/dhcp (секция dnsmasq). Обычно установщик настраивает это сам — вручную лезть туда не нужно.

Настройка DNS-сервера и bootstrap-резолвера в Netshift на OpenWrt

На вкладке Настройки → Дополнительно — тонкие параметры: отключение QUIC (иногда помогает с видеостримингом), блокировка публичных DoH-серверов (Cloudflare, Google, Quad9, OpenDNS, Yandex), исключение NTP из туннеля, поддержка IPv6 и путь к файлу конфигурации sing-box.

Дополнительные настройки Netshift: блокировка DoH, отключение QUIC, поддержка IPv6

Шаг 7. Конфигурация через SSH

Пример /etc/config/netshift (структура зависит от версии — сверяйтесь с uci show netshift):

config main 'main'
	option enabled '1'
	option mode 'proxy'
	option proxy_string 'vless://UUID@host:443?security=reality&...'
	list community_domains 'youtube'
	list community_domains 'discord'

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

uci set netshift.main.enabled='1'
uci set netshift.main.proxy_string='vless://UUID@host:443?security=reality&...'
uci commit netshift
service netshift restart

Оборачивайте ссылку в одинарные кавычки — символы ?, &, # иначе сломают команду.

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

service netshift status
logread -e netshift | tail -20
curl --interface <vpn-iface> ifconfig.me   # IP через туннель
curl ifconfig.me                            # прямой IP

Быстрее это делает встроенная вкладка Диагностика — одной кнопкой запускает автоматические проверки DNS, sing-box, nftables, outbound-серверов и FakeIP:

Вкладка Диагностика в Netshift — автоматическая проверка DNS, sing-box и nftables

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

Чек-лист «всё настроено правильно»:

  • сервис запущен и в автозапуске;
  • заблокированный сайт открывается;
  • на обычных сайтах виден российский IP;
  • банки и госуслуги работают напрямую;
  • нет DNS-утечек.

Оптимизация и производительность

  • Замерьте скорость до/после (speedtest на клиенте).
  • CPU грузят inline-sniffing и режим TUN. Если роутер не тянет — уменьшите объём трафика в туннеле (меньше списков).
  • На MT7981-роутере Netshift спокойно обслуживает домашнюю сеть; на старых MT7621 возможны просадки на высоких скоростях.

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

После установки пропал интернет. Быстрый откат: service netshift stop. Затем проверьте конфигурацию VPN и логи.

Сервис не запускается. logread -e netshift | tail -30 — ищите строку ошибки. Частые причины: неверная ссылка, устаревший sing-box, нехватка места.

Работает на роутере, но не на клиентах. Проблема в firewall или DNS: клиенты не перенаправляются на перехват DNS роутера. Проверьте, что DNS-перехват включён и firewall-правила Netshift на месте.

Не хватает памяти. Сократите списки, обновите sing-box, рассмотрите роутер с бóльшим объёмом RAM/flash.

Конфликт с podkop / passwall. Держите только одно решение (см. шаг 1).

Обновление и удаление Netshift

Обновление — тем же скриптом установки (он подтянет новую версию), настройки при этом обычно сохраняются, но бэкап всё равно сделайте.

Полное удаление и возврат dnsmasq:

service netshift stop
# OpenWrt 24.10 (opkg)
opkg remove luci-app-netshift netshift
# при желании вернуть обычный dnsmasq:
opkg remove dnsmasq-full && opkg install dnsmasq
# OpenWrt 25.12 (apk)
# apk del luci-app-netshift netshift
# apk del dnsmasq-full && apk add dnsmasq
service dnsmasq restart

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

Netshift или podkop — что выбрать новичку? Если нужна подписочная ссылка — Netshift. Если один статичный сервер — проще оригинальный podkop.

Можно ли поставить оба одновременно? Нет. Они конфликтуют за DNS-перехват и nftables. Только одно решение.

Нужен ли свой VPS? Не обязательно: подойдёт готовый VPN-сервис с VLESS-ссылкой или подпиской. Свой VPS даёт больше контроля и стабильности.

Работает ли Netshift на роутере с 16 МБ flash? Нет. Singbox займет больше 16 МБ памяти.

Netshift бесплатный? Сам инструмент бесплатный и открытый. Платить нужно только за VPN-сервер/сервис, если у вас нет своего.

Слетит ли Netshift после обновления OpenWrt? Да, как и все пакеты. Переустановите после обновления OpenWrt.

Видит ли провайдер, что я использую VPN? При VLESS Reality трафик маскируется под обычный HTTPS — провайдер видит соединение с «сайтом», но не может определить, что это VPN.

Заключение

Netshift даёт удобный обход блокировок с подписками: снести конфликтующие решения → поставить Netshift → подключить ссылку или подписку → выбрать списки → проверить IP и DNS. Если подписка не нужна — сравните с обычным podkop. Подробнее про подписочные ссылки и про обновление движка sing-box — в отдельных статьях.