OpenWrt белые списки: настройка выборочного обхода блокировок на роутере

Как настроить белые списки на OpenWrt для выборочного обхода блокировок: методы, инструменты, критерии выбора, практические примеры и ответы на вопросы.

Зачем нужны белые списки на OpenWrt

Белые списки на OpenWrt позволяют направлять через прокси или VPN только те домены и IP-адреса, которые действительно заблокированы, оставляя остальной трафик в обычном режиме. Это ключевой элемент выборочного обхода блокировок, который экономит ресурсы роутера и сохраняет скорость соединения для большинства сайтов.

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

Кроме того, белые списки помогают избежать проблем с гео-блокировками: если вы используете зарубежный прокси, то сайты, которые должны работать только из России, продолжат открываться напрямую. Это делает интернет-серфинг более предсказуемым и стабильным.

Основные подходы к формированию белых списков

Существует несколько способов формирования белых списков на OpenWrt. Самый простой — вручную указать домены или IP-адреса, которые нужно направить через прокси. Этот метод подходит для небольшого количества ресурсов, например, для одного-двух сайтов.

Более продвинутый подход — использование готовых списков, таких как Re:filter, Antifilter или RuAntiblock. Эти списки регулярно обновляются и содержат тысячи заблокированных доменов и IP-адресов. Они интегрируются с инструментами вроде v2rayA, Passwall или sing-box, позволяя автоматически направлять заблокированный трафик через прокси.

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

Инструменты для работы с белыми списками: Passwall, v2rayA, sing-box

На OpenWrt популярны несколько инструментов для управления белыми списками. Passwall — это пакет с веб-интерфейсом LuCI, поддерживающий множество протоколов: v2ray, xray, vless, vmess, shadowsocks, trojan и другие. Он позволяет настраивать правила маршрутизации на основе доменов и IP-адресов, а также использовать готовые списки.

v2rayA — ещё один мощный клиент, который использует xray-core. Он имеет веб-интерфейс на порту 2017 и поддерживает импорт конфигураций и подписок. v2rayA позволяет задавать правила через RoutingA, где можно указать, какие домены или IP направлять через прокси, а какие — напрямую.

sing-box — более современный и гибкий инструмент, который также поддерживает белые списки. Он часто используется в связке с RuAntiblock для выборочного перенаправления заблокированного трафика. Выбор инструмента зависит от ваших предпочтений и требований к функциональности.

Настройка белых списков в v2rayA с Re:filter и Antifilter

Рассмотрим настройку белых списков на примере v2rayA. После установки и запуска v2rayA (обычно доступен по адресу http://192.168.1.1:2017) необходимо импортировать конфигурацию прокси-сервера. Затем в разделе Setting нужно включить Transparent Proxy и выбрать режим tproxy или redirect.

Далее в разделе Traffic Splitting Mode of Rule Port выбираем RoutingA и вставляем правила. Для списков Re:filter используются строки:

default: direct
ip(geoip:refilter)->proxy
domain(ext:"LoyalsoldierSite.dat:refilter")->proxy

Эти правила означают, что по умолчанию трафик идёт напрямую, но если IP-адрес или домен совпадает со списком Re:filter, он направляется через прокси. Для Antifilter правила будут аналогичными, но с другими именами списков.

После сохранения правил необходимо скачать файлы GeoIP и Geosite с GitHub и разместить их в /usr/share/xray/. Затем можно запустить подключение и проверить работу.

Использование Passwall для белых списков

Passwall — ещё один популярный инструмент для настройки белых списков. Он интегрируется с LuCI и поддерживает множество протоколов. Для начала нужно установить пакет luci-app-passwall и добавить узлы прокси через ссылку или вручную.

В настройках Passwall можно указать основной узел и резервные, а также настроить автоматическое переключение при сбоях. Для белых списков используется функция маршрутизации, где можно задать домены или IP-адреса, которые должны идти через прокси.

Passwall также поддерживает использование готовых списков, таких как Antifilter или RuAntiblock. Для этого нужно скачать соответствующие файлы и указать их в настройках. Это позволяет автоматически обходить блокировки для тысяч сайтов без ручного добавления каждого домена.

Динамические списки и автоматическое обновление

Белые списки требуют регулярного обновления, так как списки заблокированных ресурсов постоянно меняются. Для автоматизации этого процесса можно использовать cron-задачи, которые будут скачивать свежие версии списков с GitHub или других источников.

Например, для v2rayA можно добавить в crontab следующие строки:

0 5 * * * wget -O /usr/share/xray/geoip.dat https://github.com/1andrevich/Re-filter-lists/releases/latest/download/geoip.dat
0 5 * * * wget -O /usr/share/xray/LoyalsoldierSite.dat https://github.com/1andrevich/Re-filter-lists/releases/latest/download/geosite.dat

Это будет обновлять списки каждый день в 5 утра. Аналогичные задачи можно настроить для Antifilter или других источников. Важно убедиться, что на роутере достаточно свободного места для хранения обновлённых файлов.

Особенности настройки для мессенджеров и стриминговых сервисов

Для корректной работы мессенджеров и стриминговых сервисов часто требуется направлять через прокси не только основные домены, но и дополнительные порты и протоколы. Например, для звонков в Discord нужно проксировать UDP-трафик на портах 50000-65535, а для Telegram — UDP на портах 596-599 и 1400.

В v2rayA такие правила добавляются в RoutingA следующим образом:

network(udp) && port(50000-65535) -> proxy
network(udp) && port(596-599, 1400) -> proxy

Для WhatsApp и Viber могут потребоваться порты 4244, 7985, 5242-5243, 3478-3497. Эти правила можно комбинировать с белыми списками доменов, чтобы обеспечить полную функциональность приложений.

Важно помнить, что некоторые сервисы, такие как YouTube, могут использовать множество поддоменов и IP-адресов, поэтому для них лучше использовать готовые списки, которые включают все необходимые ресурсы.

Ограничения и подводные камни

При использовании белых списков на OpenWrt следует учитывать несколько ограничений. Во-первых, ресурсы роутера могут быть ограничены: для работы с большими списками и проксированием требуется не менее 128 МБ RAM и 16 МБ flash-памяти. Если памяти недостаточно, можно использовать extroot для расширения файловой системы.

Во-вторых, некоторые методы обхода, такие как zapret, требуют индивидуальной настройки под конкретного провайдера. Универсального решения не существует, и стратегии, работающие у одного оператора, могут не работать у другого. Поэтому важно тестировать конфигурации и при необходимости подбирать параметры.

В-третьих, DPI-системы постоянно совершенствуются, и то, что работало вчера, может перестать работать сегодня. Регулярное обновление списков и проверка работоспособности помогут поддерживать доступ к заблокированным ресурсам.

Практические советы по выбору стратегии

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

Если же вы хотите обеспечить доступ к широкому кругу заблокированных ресурсов, лучше использовать готовые списки, такие как Re:filter или Antifilter. Они регулярно обновляются и включают большинство популярных сайтов.

Для мессенджеров и стриминговых сервисов может потребоваться комбинированный подход: использование списков для основных доменов и добавление дополнительных правил для портов и протоколов. Также стоит рассмотреть возможность использования нескольких прокси-серверов с автоматическим переключением для повышения надёжности.

Вопросы и ответы

Что такое белые списки в контексте OpenWrt?

Белые списки — это перечень доменов и IP-адресов, которые должны направляться через прокси или VPN, в то время как остальной трафик идёт напрямую. Это позволяет выборочно обходить блокировки, не замедляя доступ к остальным сайтам.

Какие инструменты на OpenWrt поддерживают белые списки?

Основные инструменты: Passwall, v2rayA, sing-box, а также скрипты типа RuAntiblock. Они позволяют настраивать правила маршрутизации на основе доменов и IP-адресов, а также использовать готовые списки.

Как добавить свой домен в белый список в v2rayA?

В v2rayA нужно перейти в раздел Traffic Splitting Mode of Rule Port, выбрать RoutingA и добавить строку вида domain(domain: example.com) -> proxy. После сохранения правил и перезапуска подключения домен будет направляться через прокси.

Нужно ли обновлять белые списки вручную?

Рекомендуется автоматизировать обновление с помощью cron-задач, которые будут скачивать свежие версии списков с GitHub. Это обеспечит актуальность данных и снизит риск потери доступа к заблокированным ресурсам.

Какие минимальные требования к роутеру для работы с белыми списками?

Рекомендуется минимум 128 МБ RAM и 16 МБ flash-памяти. Для больших списков и проксирования может потребоваться больше ресурсов. Если памяти не хватает, можно использовать extroot для расширения файловой системы.

Почему белые списки могут перестать работать?

Причины: изменения в DPI-системах провайдеров, устаревшие списки, неправильная настройка стратегий обхода. Регулярное обновление списков и тестирование конфигураций помогут поддерживать работоспособность.

Можно ли использовать белые списки для обхода блокировок мессенджеров?

Да, для мессенджеров часто требуется направлять через прокси не только домены, но и определённые UDP-порты. Например, для Discord — порты 50000-65535, для Telegram — 596-599 и 1400. Эти правила добавляются в конфигурацию.