Руководство по роутеру

Настройка 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.

Автор: Mateusz PileckiОпубликовано: Обновлено:

Требования

Вам нужен роутер с 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 на производительном роутере.

Официальные источники

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

01Что лучше для OpenWRT — xray-core или sing-box?+

Оба поддерживают VLESS Reality. xray-core более зрелый и хорошо задокументированный. sing-box имеет более простой формат JSON-конфига и лучшую производительность UDP. Для большинства пользователей, начинающих работу, xray-core проще найти помощь.

02Замедляет ли VLESS на OpenWRT мою сеть?+

Шифрование требует ресурсов CPU. На старых MIPS-роутерах производительность может снизиться на 10–20%. Современные ARM-роутеры (GL.iNet Beryl AX, Banana Pi R4) обрабатывают VLESS Reality на полной скорости линии. Если скорость критична, используйте поток XTLS-Vision, который снижает нагрузку на обработку.

03В репозитории opkg моего роутера OpenWRT нет xray-core. Что делать?+

Скачайте предварительно скомпилированный бинарный файл xray для вашей архитектуры CPU с github.com/XTLS/Xray-core/releases. Выберите нужную архитектуру: MIPS24kc для большинства старых роутеров, ARM v7/v8 для современных. Поместите в /usr/bin/xray и выполните chmod +x.

04Можно ли направить через VLESS на OpenWRT только некоторые устройства?+

Да. В правилах PREROUTING iptables используйте совпадение по IP-адресу источника или MAC-адресу вместо маршрутизации всего трафика. Пример: добавьте -s 192.168.1.50, чтобы направить через VLESS только одно устройство, тогда как остальные используют обычный интернет.

05Поддерживает ли Proxy Poland протокол VLESS?+

Да. Каждый план Proxy Poland включает доступ по протоколу VLESS/Xray. Вы получаете строку подключения VLESS Reality вместе с подпиской. Протокол работает на порту 443 с маскировкой Reality, что делает его устойчивым к глубокой инспекции пакетов.

06Как установить 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.

07Сколько оперативной памяти нужно 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.

08Как направить через 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.

09Сохранится ли 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' делает то же самое.

10Какой MTU установить для VLESS на роутере с 4G-подключением?+

LTE-соединения обычно используют MTU 1428-1500 в зависимости от оператора; с учётом накладных расходов VLESS-инкапсуляции установите MTU 1380-1400 на WAN-интерфейсе для избежания фрагментации. Проверьте командой ping -s 1372 -M do <target> с LAN-клиента — если успешно, эффективный размер payload в норме. Симптомы неправильного MTU: TCP-соединения открываются, но зависают на больших передачах.

11Может ли OpenWRT использовать VLESS-профиль Proxy Poland одновременно с обычным WAN?+

Да — это стандартная схема. WAN обеспечивает прямой интернет для обычных устройств; сервис xray-core слушает локальный TPROXY-сокет и выборочно направляет помеченные устройства через VLESS-туннель. С точки зрения OpenWRT, VLESS — отдельный выход, на который могут ссылаться PBR-правила. Используйте это для переключения одного домашнего устройства (рабочий ноутбук, IoT-камера, IPTV-приставка) на польский IP без влияния на остальную LAN.

12Как мониторить 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%.