Настройка VLESS-клиента на OpenWRT: маршрутизация всего трафика через Xray
Работа VLESS на уровне роутера означает, что каждое устройство в вашей сети получает преимущества прокси — смартфоны, Smart TV, IoT-устройства — без установки клиентского ПО. Это руководство охватывает установку xray-core и sing-box на OpenWRT.
Это руководство дает конфигурацию OpenWrt router, которая отправляет выбранный сетевой трафик через VLESS или Xray proxy. Оно подходит пользователям, которым нужен router-level routing для нескольких устройств, лабораторий или automation rigs, и охватывает prerequisites, установку Xray, config, DNS, firewall rules и verification.
Содержание
Требования
Вам нужен роутер с OpenWRT, имеющий не менее 16 МБ флеш-памяти и 128 МБ ОЗУ. Проверьте совместимость вашей модели роутера на openwrt.org. Руководство протестировано на OpenWRT 23.05 с роутером GL.iNet.
Необходимые пакеты: xray-core (или sing-box в качестве альтернативы), iptables-nft, dnsmasq-full (замена dnsmasq). Требуется SSH-доступ к роутеру.
Установка xray-core на OpenWRT
Подключитесь через SSH: ssh root@192.168.1.1. Затем установите xray-core: opkg update && opkg install xray-core. Если xray-core отсутствует в репозитории opkg для вашей сборки, скачайте бинарный файл arm/mipsle с GitHub и поместите его в /usr/bin/xray.
Создайте директорию конфигурации: mkdir -p /etc/xray. Основной файл конфигурации будет находиться по пути /etc/xray/config.json.
Конфигурация VLESS-клиента
Создайте файл /etc/xray/config.json с конфигурацией входящего и исходящего трафика VLESS. Входящий обрабатывает локальный трафик (SOCKS5 на порту 1080 + прозрачный прокси на порту 1081), исходящий подключается к вашему VLESS-серверу.
Структура config.json
{ "inbounds": [{"port": 1080, "protocol": "socks"}, {"port": 1081, "protocol": "dokodemo-door", "settings": {"followRedirect": true}'}], "outbounds": [{"protocol": "vless", "settings": {"vnext": [{"address": "YOUR_SERVER", "port": 443, "users": [{"id": "YOUR_UUID", "encryption": "none", "flow": "xtls-rprx-vision"}]}]}, "streamSettings": {"network": "tcp", "security": "reality", "realitySettings": {"fingerprint": "chrome", "serverName": "YOUR_SNI", "publicKey": "YOUR_PUBKEY"}'}'}] }Proxy Poland предоставляет выделенные польские 4G/5G мобильные прокси с поддержкой VLESS/Xray. Реальные SIM-карты, ротация IP за 1,8 сек, аптайм 99,6%.
Правила маршрутизации с iptables
Чтобы перехватить весь TCP/UDP трафик и направить через xray, добавьте правила iptables. Создайте файл /etc/firewall.user с правилами PREROUTING, которые перенаправляют трафик на порт 1081 (dokodemo-door), кроме локальных и зарезервированных IP.
Добавьте xray в автозагрузку: /etc/init.d/xray enable. Запустите службу: /etc/init.d/xray start. Просматривайте логи: logread | grep xray.
Предотвращение утечек DNS
Без предотвращения утечек DNS DNS-запросы обходят прокси и раскрывают ваше реальное местоположение. Настройте dnsmasq для перенаправления всех запросов через DNS xray: в /etc/dnsmasq.conf установите server=127.0.0.1#5300 и disable-systemd-resolved.
Добавьте входящий DNS в конфиг xray на порту 5300, который перенаправляет запросы через исходящий VLESS. Протестируйте на proxypoland.com/tools/dns-leak-test — все DNS-серверы должны отображаться как польские IP.
Проверка
С любого устройства в вашей сети перейдите на proxypoland.com/tools/proxy-checker. Ваш IP должен быть польским мобильным IP оператора. Запустите тест скорости — обычно вы увидите 20–40 Мбит/с через VLESS Reality на производительном роутере.
Официальные источники
Часто задаваемые вопросы
Что лучше для OpenWRT — xray-core или sing-box?+
Оба поддерживают VLESS Reality. xray-core более зрелый и хорошо задокументированный. sing-box имеет более простой формат JSON-конфига и лучшую производительность UDP. Для большинства пользователей, начинающих работу, xray-core проще найти помощь.
Замедляет ли VLESS на OpenWRT мою сеть?+
Шифрование требует ресурсов CPU. На старых MIPS-роутерах производительность может снизиться на 10–20%. Современные ARM-роутеры (GL.iNet Beryl AX, Banana Pi R4) обрабатывают VLESS Reality на полной скорости линии. Если скорость критична, используйте поток XTLS-Vision, который снижает нагрузку на обработку.
В репозитории opkg моего роутера OpenWRT нет xray-core. Что делать?+
Скачайте предварительно скомпилированный бинарный файл xray для вашей архитектуры CPU с github.com/XTLS/Xray-core/releases. Выберите нужную архитектуру: MIPS24kc для большинства старых роутеров, ARM v7/v8 для современных. Поместите в /usr/bin/xray и выполните chmod +x.
Можно ли направить через VLESS на OpenWRT только некоторые устройства?+
Да. В правилах PREROUTING iptables используйте совпадение по IP-адресу источника или MAC-адресу вместо маршрутизации всего трафика. Пример: добавьте -s 192.168.1.50, чтобы направить через VLESS только одно устройство, тогда как остальные используют обычный интернет.
Поддерживает ли Proxy Poland протокол VLESS?+
Да. Каждый план Proxy Poland включает доступ по протоколу VLESS/Xray. Вы получаете строку подключения VLESS Reality вместе с подпиской. Протокол работает на порту 443 с маскировкой Reality, что делает его устойчивым к глубокой инспекции пакетов.
Как установить xray-core на OpenWRT через opkg?+
Подключитесь к роутеру по SSH, выполните opkg update, затем opkg install xray-core. На старых версиях OpenWRT (19.07 и ниже) xray-core отсутствует в стандартном репозитории — добавьте v2ray feed вручную или используйте sing-box с более широкой поддержкой пакетов. Проверьте установку командой xray version. Конфигурация размещается в /etc/xray/config.json или через модуль luci-app-xray-core LuCI.
Сколько оперативной памяти нужно OpenWRT для работы VLESS на полной скорости?+
Минимум 64 МБ свободной RAM для xray-core в простое, рекомендуется 128 МБ+ для стабильной пропускной способности. Роутеры с 32 МБ общей памяти (старые TP-Link N-класса) не могут надёжно запустить xray. Современные роутеры с 256-512 МБ (GL.iNet MT3000, Xiaomi AX3600 с OpenWRT) обрабатывают 100-200 Mbps VLESS-шифрования без перегрузки CPU. Sing-box легче (~30% меньше памяти) при ограниченной RAM.
Как направить через VLESS только определённые устройства на OpenWRT?+
Используйте policy-based routing через правила iptables/nftables, которые маркируют пакеты от определённых MAC-адресов или LAN IP в отдельную таблицу маршрутизации с xray TPROXY chain. Приложение pbr (Policy Based Routing) LuCI упрощает настройку — установите opkg install pbr-iptables, затем в LuCI > Network > Policy Based Routing добавьте правило, связывающее MAC устройства с xray-интерфейсом. Остальные устройства используют стандартный WAN.
Сохранится ли VLESS на OpenWRT после перезагрузки роутера?+
Да, если включить сервис: /etc/init.d/xray enable и /etc/init.d/xray start. Init-скрипт перезапускает xray-core при каждой загрузке, используя /etc/xray/config.json. Проверьте после перезагрузки командой logread | grep xray для подтверждения чистого запуска. При использовании модуля LuCI галочка 'Enabled at startup' делает то же самое.
Какой MTU установить для VLESS на роутере с 4G-подключением?+
LTE-соединения обычно используют MTU 1428-1500 в зависимости от оператора; с учётом накладных расходов VLESS-инкапсуляции установите MTU 1380-1400 на WAN-интерфейсе для избежания фрагментации. Проверьте командой ping -s 1372 -M do <target> с LAN-клиента — если успешно, эффективный размер payload в норме. Симптомы неправильного MTU: TCP-соединения открываются, но зависают на больших передачах.
Может ли OpenWRT использовать VLESS-профиль Proxy Poland одновременно с обычным WAN?+
Да — это стандартная схема. WAN обеспечивает прямой интернет для обычных устройств; сервис xray-core слушает локальный TPROXY-сокет и выборочно направляет помеченные устройства через VLESS-туннель. С точки зрения OpenWRT, VLESS — отдельный выход, на который могут ссылаться PBR-правила. Используйте это для переключения одного домашнего устройства (рабочий ноутбук, IoT-камера, IPTV-приставка) на польский IP без влияния на остальную LAN.
Как мониторить VLESS-трафик и пропускную способность на OpenWRT?+
Установите vnstat (opkg install vnstat) и привяжите к виртуальному интерфейсу xray или upstream WAN — vnstat -d показывает дневную статистику. Для просмотра в реальном времени используйте iftop -i <iface>. Сам xray-core логирует в /var/log/xray/access.log и error.log при включённом логировании в config.json — полезно для выявления неудачных handshake vs успешных туннелей под нагрузкой.
Получить доступ VLESS
Нужен VLESS прокси-сервер для подключения?
Proxy Poland предоставляет выделенные польские 4G/5G мобильные прокси с поддержкой VLESS/Xray. Реальные SIM-карты, ротация IP за 1,8 сек, аптайм 99,6%.