Здесь могла бы быть реклама
Она помогает блогу развиваться.
Кажется, сегодня она немного загрустила.

Главная страница » Сеть и сервисы » ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich
ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich
Сеть и сервисы

ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich

05.09.2026 570
ZeroBlock для OpenWrt: настройка VPN и маршрутизации на Routerich

Практическая инструкция по установке и настройке ZeroBlock на OpenWrt. Разберём подключение VPN, работу с sing-box, DNS, секциями маршрутизации, автозапуск и базовую диагностику.

OpenWrt позволяет перенести работу с VPN с отдельных компьютеров и смартфонов непосредственно на роутер. В результате клиентским устройствам не требуется устанавливать отдельные приложения: маршрутизацией занимается сам маршрутизатор.

В этой статье разберём ZeroBlock, его установку и базовую настройку подключения к собственному VPN-серверу или другой конфигурации защищённого соединения. Основная задача здесь именно сетевая: создать защищённый канал связи и определить, какой трафик домашней сети должен через него проходить.

Материал посвящён настройке защищённого сетевого соединения и маршрутизации в OpenWrt. Использование сетевого оборудования и программного обеспечения должно осуществляться с соблюдением применимого законодательства.

Если вам важна именно правовая сторона вопроса, отдельно рекомендую прочитать материал VPN в России в 2026 году: законно ли пользоваться и где начинаются реальные риски.

Что такое ZeroBlock

ZeroBlock представляет собой сервис для OpenWrt с веб-интерфейсом LuCI, который объединяет настройку сетевых подключений и правила маршрутизации.

В актуальных сборках Routerich ZeroBlock работает совместно с sing-box. В репозитории Routerich на момент написания статьи доступны пакеты zeroblock 0.8.4-r436, luci-app-zeroblock 0.8.4-r436 и сборка sing-box-rr.

На практике схема выглядит примерно так:

Устройство в локальной сети -> роутер OpenWrt -> правила ZeroBlock -> прямое соединение или VPN -> интернет

Это удобно тем, что правила задаются централизованно на роутере.

Например, можно оставить основную часть соединений с обычной маршрутизацией через WAN, а для отдельного устройства, домена или подсети использовать собственный защищённый туннель.

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

Для настройки потребуется:

  • роутер с совместимой сборкой OpenWrt;
  • установленный ZeroBlock;
  • веб-интерфейс LuCI;
  • параметры собственного VPN-сервера или конфигурация защищённого подключения;
  • несколько мегабайт свободной flash-памяти и достаточный объём оперативной памяти для работы sing-box.

Отдельно обращу внимание на совместимость. ZeroBlock не является штатным пакетом официального репозитория OpenWrt. На прошивках Routerich необходимые пакеты доступны из их репозитория. Для других сборок способ установки и совместимость зависят от архитектуры и используемого репозитория.

Если сам роутер ещё не настроен, сначала можно пройти мою отдельную инструкцию по настройке Routerich AX3000 на OpenWrt.

Например, существующий Z2R Manager в своей актуальной инструкции отдельно указывает архитектуру aarch64_cortex-a53 для установки ZeroBlock на OpenWrt 24 и 25. Поэтому просто брать пакет от другого роутера и устанавливать его через --force-depends я бы не рекомендовал.

Установка ZeroBlock через LuCI

Если ZeroBlock присутствует в репозитории вашей прошивки, проще всего установить его через веб-интерфейс.

Открываем:

Система -> Пакеты

Сначала нажимаем кнопку обновления списка пакетов.

После обновления вводим в фильтре:

zeroblock

Для полноценной работы через LuCI нужны два пакета:

zeroblock

и

luci-app-zeroblock

Сначала устанавливаем основной пакет zeroblock, затем luci-app-zeroblock.

Именно такой порядок установки используется и в инструкции сообщества Routerich.

После установки обновляем страницу LuCI. Если новый пункт меню не появился сразу, можно выполнить жёсткое обновление страницы браузера через Ctrl+F5.

В разделе:

Службы -> ZeroBlock

должна появиться панель управления.

Панель ZeroBlock

photo_2026-09-06_01-15-33.jpg

На главной странице удобно сразу проверить состояние сервиса и убедиться, что ZeroBlock действительно запущен.

Сам факт установленного пакета ещё не означает, что трафик проходит через какой-либо туннель. ZeroBlock работает с секциями маршрутизации, а без настроенной секции сервис может вообще не запускать механизм обработки трафика.

Например, в журнале в такой ситуации может появиться сообщение:

No sections configured, restoring DNS and skipping start

То есть ZeroBlock сообщает, что секции отсутствуют, возвращает DNS в исходное состояние и пропускает запуск. Такое поведение встречается в актуальных версиях сервиса.

Как устроена конфигурация ZeroBlock

У ZeroBlock есть глобальные настройки движка и отдельные секции.

Секция фактически отвечает на два вопроса:

  1. Через какое соединение отправлять соответствующий трафик.
  2. Какой именно трафик относится к этой секции.

Для VPN-подключения источником может быть отдельная ссылка подключения, VPN-интерфейс или подписка с несколькими узлами.

Конфигурация ZeroBlock хранится в:

/etc/config/zeroblock

Это обычный UCI-конфиг OpenWrt.

Например, актуальная реализация ZeroBlock при использовании подписки хранит для секции параметры типа:

config section 'VPN'
        option connection_type 'proxy'
        option proxy_config_type 'subscription'
        list subscription_url 'https://адрес-вашей-подписки'

Здесь:

connection_type 'proxy' сообщает ZeroBlock, что секция использует прокси-движок;

proxy_config_type 'subscription' выбирает конфигурацию через подписку;

subscription_url содержит адрес самой подписки.

Именно такой формат сейчас использует актуальный менеджер настройки ZeroBlock для OpenWrt 24/25.

Саму ссылку подписки, естественно, публиковать нигде не нужно. Она может содержать данные для подключения к вашим серверам.

Добавляем VPN-подключение

Открываем ZeroBlock и переходим к разделу с секциями маршрутизации.

Создаём отдельную секцию для VPN. Название можно выбрать произвольное, например:

VPN

Для подключения через подписку выбираем тип соединения Proxy и вариант конфигурации через подписку, после чего указываем URL вашей подписки.

После сохранения ZeroBlock получает конфигурацию и передаёт её своему сетевому движку.

В актуальной конфигурации ZeroBlock ограничивает число получаемых из одной подписки узлов значением 100, а стандартный интервал обновления подписки составляет 1h.

Если в вашей подписке всего один или несколько серверов, менять эти параметры обычно не требуется.

Проверяем сетевой интерфейс

Один из параметров, который особенно важно не испортить, это интерфейс локальной сети.

В типовой конфигурации OpenWrt используется:

br-lan

В актуальном шаблоне ZeroBlock это выглядит так:

list source_network_interfaces 'br-lan'

Именно из этого интерфейса ZeroBlock принимает трафик локальной сети для дальнейшей обработки.

Если ваша сеть построена стандартно и LAN объединён в br-lan, менять этот параметр не требуется.

Если же вы самостоятельно создавали VLAN, дополнительные bridge-интерфейсы или отдельные сети, сначала посмотрите их реальные названия в:

Сеть -> Интерфейсы

Не стоит вслепую указывать eth0, lan1 или другое физическое устройство. ZeroBlock должен работать с тем интерфейсом, через который действительно приходит нужный клиентский трафик.

DNS в ZeroBlock

DNS здесь имеет большое значение, потому что правила маршрутизации могут зависеть от доменных имён.

В актуальной конфигурации ZeroBlock используются следующие базовые параметры:

option dns_type 'udp'
option dns_server '8.8.8.8'
option dns_rewrite_ttl '60'
option dns_strategy 'ipv4_only'

Также по умолчанию:

option dns_hijack '0'

То есть принудительный перехват всего клиентского DNS в этой конфигурации не включён.

Я бы на первом этапе эти параметры не менял.

Сначала нужно добиться стабильной работы самого соединения и только потом заниматься отдельной настройкой DNS, DoH, локального AdGuard Home или другой схемы разрешения имён.

Чем меньше переменных мы меняем одновременно, тем проще искать проблему.

IPv6

В проверенной мной актуальной конфигурации ZeroBlock используется:

option ipv6_enabled '0'
option dns_strategy 'ipv4_only'

То есть базовая конфигурация ориентирована на IPv4.

Если у вашего провайдера и домашней сети IPv6 фактически не используется, я бы так и оставил.

Включать IPv6 только ради красивой галочки смысла нет. Сначала должна быть полностью понятна схема IPv6-маршрутизации вашего провайдера и VPN-сервера.

Нужно ли направлять через VPN трафик самого роутера

В стандартной конфигурации имеется параметр:

option proxy_router_traffic '0'

Он означает, что собственный исходящий трафик роутера автоматически через прокси-секцию не отправляется.

Для обычной домашней схемы это разумное значение.

Роутеру самому требуется скачивать пакеты, синхронизировать время, обращаться к DNS и выполнять другие системные операции. Без необходимости вмешиваться в его собственную маршрутизацию не стоит.

QUIC

В актуальной конфигурации также используется:

option disable_quic '1'

То есть QUIC для обрабатываемого трафика отключается.

Это связано с тем, что QUIC работает поверх UDP и в некоторых схемах прозрачной маршрутизации способен привести к поведению, отличающемуся от обычных TCP-соединений.

Для первоначальной настройки я рекомендую оставить штатное значение ZeroBlock.

BitTorrent и NTP

Ещё два интересных параметра:

option exclude_bittorrent '1'
option exclude_ntp '1'

То есть штатная конфигурация исключает BitTorrent и NTP из обработки соответствующим прокси-механизмом.

Особенно логично исключение NTP. Синхронизация времени должна оставаться максимально простой и надёжной, поскольку неправильное время на роутере способно приводить к ошибкам TLS и другим неожиданным проблемам.

Маршрутизация только нужного трафика

Теперь самое интересное.

Я не рекомендую начинать настройку ZeroBlock с режима, в котором абсолютно весь домашний трафик сразу отправляется через VPN.

Гораздо удобнее сначала создать одну секцию и добавить в неё только тестовое устройство или собственный тестовый домен.

Это позволяет проверить:

  • запускается ли ZeroBlock;
  • устанавливается ли VPN-соединение;
  • работает ли DNS;
  • не пропадает ли обычный доступ в интернет;
  • возвращается ли трафик правильным маршрутом.

После этого правила можно расширять.

ZeroBlock поддерживает работу с отдельными секциями маршрутизации. В интерфейсе Routerich они так и называются - Секции маршрутизации. Секции можно редактировать независимо друг от друга.

Проверяем маршрутизацию через защищённый туннель

Для проверки не нужны какие-либо специальные сайты.

Сначала с устройства, которое должно использовать VPN, открываем обычный сервис определения внешнего IP.

Записываем внешний адрес.

Затем временно отключаем соответствующую секцию ZeroBlock и повторяем проверку.

Если IP отличается, маршрутизация действительно работает.

После этого проверяем:

ping 1.1.1.1

и отдельно работу DNS:

nslookup example.com

Если IP-адреса доступны, но доменные имена не разрешаются, проблема практически наверняка относится к DNS, а не к самому туннелю.

На компьютере с Linux также можно использовать:

curl -4 ifconfig.me

Команда покажет внешний IPv4-адрес текущего соединения.

Проверяем ZeroBlock через SSH

Если веб-интерфейс показывает ошибку или сервис ведёт себя непонятно, подключаемся к OpenWrt по SSH.

Проверяем состояние:

/etc/init.d/zeroblock status

Перезапускаем ZeroBlock:

/etc/init.d/zeroblock restart

Посмотреть сообщения сервиса можно через системный журнал:

logread | grep -i zeroblock

Для наблюдения за событиями в реальном времени:

logread -f | grep -i zeroblock

Это намного полезнее, чем несколько раз нажимать кнопку «Применить» и надеяться, что проблема исчезнет сама.

Проверяем sing-box

В современных сборках ZeroBlock использует sing-box, поэтому при проблемах имеет смысл убедиться, что соответствующий процесс запущен:

ps w | grep sing-box

Не стоит пугаться дополнительной строки с самим grep. Нас интересует именно процесс sing-box.

Можно также посмотреть наличие бинарника:

which sing-box

Если ZeroBlock сообщает об ошибке запуска движка, системный журнал обычно даст гораздо больше информации, чем страница LuCI.

Где находится конфигурация

Основной файл:

/etc/config/zeroblock

Посмотреть его можно так:

cat /etc/config/zeroblock

Перед серьёзными экспериментами я рекомендую сделать копию:

cp /etc/config/zeroblock /etc/config/zeroblock.backup

Вернуть её можно командой:

cp /etc/config/zeroblock.backup /etc/config/zeroblock
/etc/init.d/zeroblock restart

Это особенно полезно, если вы начинаете экспериментировать с несколькими секциями и собственными правилами маршрутизации.

Не редактируем конфигурацию без необходимости

Хотя выше я показывал внутренние параметры /etc/config/zeroblock, это не означает, что их нужно сразу менять вручную.

Большая часть настроек доступна через LuCI, а файл конфигурации полезен прежде всего для диагностики и резервного копирования.

Особенно не стоит без понимания менять:

tproxy_mark
direct_mark
ctmark_dns
desync_mark

Это служебные значения, используемые ZeroBlock при маркировке и маршрутизации соединений.

Менять их по принципу «в интернете кто-то поставил другое число» - отличный способ устроить себе вечер с nft list ruleset, ip rule и вопросом, куда исчез интернет.

Если после настройки пропал интернет

Первым делом не нужно сбрасывать весь OpenWrt.

Останавливаем ZeroBlock:

/etc/init.d/zeroblock stop

Проверяем обычный доступ в интернет.

Если соединение восстановилось, проблема действительно находится в конфигурации ZeroBlock или связанного с ним сетевого движка.

После этого смотрим:

logread | grep -i zeroblock

Проверяем /etc/config/zeroblock, наличие секций и правильность интерфейса br-lan.

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

Автозапуск

Проверить, включён ли ZeroBlock в автозагрузку, можно через:

/etc/init.d/zeroblock enabled && echo "Автозапуск включён"

При необходимости:

/etc/init.d/zeroblock enable

После этого сервис будет запускаться вместе с OpenWrt.

Что в итоге

ZeroBlock позволяет вынести настройку защищённых соединений и правил маршрутизации непосредственно на роутер OpenWrt. Это особенно удобно в домашней сети, где телевизоры, смартфоны, компьютеры и другие устройства используют один общий шлюз.

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

При первоначальной настройке я бы придерживался простой схемы:

OpenWrt -> ZeroBlock -> одна VPN-секция -> одно тестовое устройство

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

Если нужен отдельный классический VPN-сервер для доступа к собственной домашней сети, можно посмотреть мою инструкцию по WireGuard на одноплатнике. А если хочется собрать сам маршрутизатор на SBC, пригодится материал SBC как роутер: превращаем одноплатник в домашний шлюз.

И обязательно сохраняйте рабочую конфигурацию перед экспериментами. OpenWrt обычно прощает многое, но резервная копия всё равно быстрее философских размышлений перед роутером без интернета.

Понравилась статья?

Поставьте лайк и сохраните полезный материал в закладки.

Комментарии (0)
Добавить комментарий
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Routerich AX3000: настройка роутера на OpenWrt, Mesh, TorrServer и сетевое хранилище
Сеть и сервисы
04.09.2026
Routerich AX3000: настройка роутера на OpenWrt, Mesh, TorrServer и сетевое хранилище
Routerich AX3000 с OpenWrt оказался гораздо дружелюбнее, чем можно ожидать от роутера с настолько гибкой прошивкой. Разбираемся с первоначальной настройкой, Mesh,
VPN только для выбранных сайтов и устройств в OpenWrt: раздельная маршрутизация трафика
Сеть и сервисы
09.09.2026
VPN только для выбранных сайтов и устройств в OpenWrt: раздельная маршрутизация трафика
Настройка раздельной маршрутизации в OpenWrt: как направить трафик только выбранных устройств или доменов через VPN, оставив остальной интернет напрямую. Три способа:
Как выбрать LTE/5G-модем для Routerich AX3000: от простого E3372 до T77W968, T99W175 и FM350
Сеть и сервисы
08.09.2026
Как выбрать LTE/5G-модем для Routerich AX3000: от простого E3372 до T77W968, T99W175 и FM350
Как выбрать LTE/5G-модем для Routerich AX3000: разбираемся в LTE Cat, агрегации частот, совместимости, питании, охлаждении и популярных моделях от Huawei, Quectel,
Как проверить IP на блокировку в ТСПУ: рабочий Python-скрипт для диагностики
Сеть и сервисы
02.09.2026
Как проверить IP на блокировку в ТСПУ: рабочий Python-скрипт для диагностики
Практический Python-скрипт для проверки доступности IP или домена через DNS, TCP 443, TLS и HTTPS. Работает на Windows, Raspberry Pi, Rock Pi, Orange Pi, Debian, Ubuntu
Nginx Proxy Manager: установка и первоначальная настройка reverse proxy с HTTPS в Docker
Сеть и сервисы
02.09.2026
Nginx Proxy Manager: установка и первоначальная настройка reverse proxy с HTTPS в Docker
Пошаговая установка Nginx Proxy Manager в Docker: настройка reverse proxy, получение SSL-сертификатов Let's Encrypt и проксирование сервисов с HTTPS. Практическое
Как работают ТСПУ Роскомнадзора? Разбираемся вместе
Сеть и сервисы
01.09.2026
Как работают ТСПУ Роскомнадзора? Разбираемся вместе
Разбираем устройство ТСПУ: DPI, SNI-фильтрация, DNS-перехват. Узнайте, как проверить работу ТСПУ у провайдера и защитить свой трафик.

Войдите в аккаунт, чтобы пользоваться закладками, сообщениями и другими возможностями сайта.