Зачем поднимать VLESS на роутере, а не на каждом устройстве
Установка VPN-клиента на каждое устройство — привычный, но не всегда удобный путь. Smart TV, игровые приставки и IoT-гаджеты часто не поддерживают кастомные протоколы вроде VLESS, а на смартфонах клиент может незаметно отключиться, оставив трафик без защиты. Кроме того, поддержка десятка клиентов — это постоянные обновления и настройка.
Прокси-шлюз на роутере решает эти проблемы: весь трафик устройств, подключённых к Wi-Fi или кабелю, автоматически проходит через защищённый канал. Устройства не знают о прокси — для них это обычный интернет. Настроить нужно один раз, а обновления и изменения вносятся в одном месте.
Цена такого подхода — более сложная первоначальная настройка. Но если устройств больше двух-трёх, экономия времени и нервов очевидна.
Какие роутеры Cudy подходят для VLESS: сравнение моделей
Не каждый роутер справится с VLESS+Reality. Протокол требует ресурсов: Xray-core написан на Go и потребляет около 100 МБ оперативной памяти, плюс geodata (~85 МБ). Поэтому минимальный объём RAM — 256 МБ, комфортный — 512 МБ. Процессор должен быть ARM Cortex-A53 или мощнее, иначе шифрование «задушит» устройство.
В линейке Cudy выделяются несколько моделей:
- Cudy WR3000 — базовая версия AX3000 с 16 МБ флеш-памяти. Этого мало для OpenWrt и Xray, поэтому для VLESS она не подходит.
- Cudy WR3000S — оптимальный выбор: 128 МБ ROM, гигабитные порты, процессор MediaTek MT7981 (Filogic 820). Отлично тянет OpenWrt и Xray.
- Cudy WR3000E — эконом-вариант с теми же 128 МБ и гигабитом, но в другом корпусе и с менее мощным блоком питания (12V/1A).
- Cudy WR3000H — продвинутая версия с WAN-портом 2.5G. Подойдёт для тарифов выше 1 Гбит/с.
- Cudy WR3000P — топовая модель с 2.5G, PoE и USB-портом. Для сложных инсталляций.
- Cudy TR3000 — ещё один вариант с 2.5G WAN, 496 МБ RAM и 128 МБ NAND. Часто упоминается в инструкциях по VLESS.
При выборе обращайте внимание на ревизию устройства: v1 и v2 могут отличаться компонентами, и прошивка от одной версии не подойдёт к другой.
Прошивка OpenWrt на Cudy: подготовка и подводные камни
Стоковая прошивка Cudy основана на OpenWrt, но для полного контроля и установки Xray нужна полноценная OpenWrt. Процесс прошивки обычно двухэтапный:
- Промежуточная прошивка (intermediate firmware) — загружается через веб-интерфейс Cudy в разделе Firmware Upgrade. Это специальный ZIP-архив от производителя.
- Финальная версия OpenWrt — устанавливается через LuCI (веб-интерфейс OpenWrt) методом sysupgrade.
Важный нюанс: у некоторых моделей (например, Cudy TR3000 v1) с определённых серийных номеров (от 2544 и выше, примерно с ноября 2025) используется новый чип NAND Flash — ESMT F50L1G41LC. Старые образы OpenWrt на них не загружаются. Поддержка появилась только в OpenWrt 24.10.5+. Без промежуточной прошивки с датой 20251118 роутер рискует превратиться в «кирпич».
После прошивки доступ по SSH: ssh root@192.168.1.1 (или другой адрес, если меняли). Начиная с OpenWrt ~25.x пакетный менеджер — apk, а не opkg, поэтому команды установки отличаются.
Установка Xray и необходимых пакетов в OpenWrt
Для работы VLESS+Reality с прозрачным проксированием потребуются следующие пакеты:
apk update
apk add xray-core kmod-nft-tproxy kmod-nf-tproxy kmod-nft-core kmod-nft-nat kmod-nft-fib nftables-json curlРазберём, зачем каждый:
xray-core— сам Xray, реализующий VLESS, Reality, маршрутизацию и Observatory.kmod-nf-tproxyиkmod-nft-tproxy— модули ядра для TPROXY в netfilter/nftables.kmod-nft-fib— FIB lookup, необходим для policy routing.nftables-json— утилита nft с поддержкой JSON (удобно для скриптов).curl— для скачивания geodata и подписки со списком серверов.
Если вы используете не OpenWrt, а стоковую прошивку Cudy, там уже есть встроенные клиенты WireGuard и OpenVPN, но для VLESS потребуется именно OpenWrt.
Архитектура прозрачного прокси: TPROXY, nftables и Xray
Прозрачное проксирование на роутере строится на перехвате трафика с LAN-интерфейса. Есть два основных способа:
- REDIRECT (DNAT) — подменяет адрес назначения на 127.0.0.1:порт, но оригинальный адрес теряется. Прокси вынужден восстанавливать его из HTTP Host или TLS SNI, что работает не для всех протоколов.
- TPROXY — передаёт пакет приложению с сохранением оригинального IP назначения. Xray видит реальный адрес и может корректно маршрутизировать запрос. TPROXY сложнее в настройке, но надёжнее и работает с любым TCP-трафиком.
Схема работы:
- Устройство отправляет TCP-запрос к
remote-service.example.com:443. - Роутер через nftables (TPROXY) перехватывает пакет с интерфейса
br-lanи направляет его на порт Xray (например, 12345). - Xray анализирует трафик (sniffing) и решает: если домен или IP в списке прямых (например,
.ruилиgeoip:ru) — отправляет напрямую, иначе — через VLESS+Reality. - DNS-запросы (UDP 53) перехватываются AdGuard Home, который резолвит через DoH (DNS-over-HTTPS) и фильтрует рекламу.
Ключевой момент: ни один plaintext DNS-запрос не покидает роутер. HTTPS-трафик к DNS-серверам также проходит через TPROXY и уходит через защищённый канал.
Конфигурация Xray: inbound, outbound и маршрутизация
Конфиг Xray состоит из нескольких секций. Рассмотрим основные.
Inbound (входящее соединение) — принимает перенаправленный трафик:
{
"tag": "tproxy-in",
"port": 12345,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp",
"followRedirect": true
},
"sniffing": {
"enabled": true,
"destOverride": ["http", "tls"],
"routeOnly": true
},
"streamSettings": {
"sockopt": {
"tproxy": "tproxy"
}
}
}dokodemo-door— «дверь куда угодно», принимает трафик без знания о прокси.followRedirect: true— использовать оригинальный адрес назначения из пакета.sniffingсdestOverride— извлекает домен из TLS SNI или HTTP Host для маршрутизации по доменам.routeOnly: true— домен используется только для решения «прокси или direct», а соединение устанавливается по оригинальному адресу.
Outbound (исходящее соединение) — VLESS+Reality:
{
"tag": "proxy-1",
"protocol": "vless",
"settings": {
"vnext": [{
"address": "your-server.example.com",
"port": 443,
"users": [{
"id": "ваш-uuid",
"flow": "xtls-rprx-vision",
"encryption": "none"
}]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "sni-domain.example.com",
"publicKey": "ваш-publicKey",
"fingerprint": "chrome",
"shortId": "1234"
}
}
}Ключевые параметры: id (UUID), flow: "xtls-rprx-vision" (включает XTLS-Vision), serverName (SNI), publicKey и shortId для аутентификации.
Маршрутизация — правила, определяющие, какой трафик идёт через прокси, а какой напрямую. Обычно используются geodata (geoip и geosite) для разделения по странам и доменам.
VLESS, Reality и XTLS-Vision: как это работает
VLESS — легковесный прокси-протокол, наследник VMess из экосистемы V2Ray. Его особенность — отсутствие собственного шифрования: оно полностью делегируется TLS. Это снижает оверхед и упрощает протокол.
Reality — технология установления TLS-соединения без собственного сертификата. Вместо реального домена и валидного сертификата на стороне прокси-сервера используется TLS-сертификат выбранного публичного ресурса (через SNI). Аутентификация клиента выполняется через криптографическую пару (publicKey/shortId). Это даёт корректный TLS-хендшейк без затрат на управление сертификатами.
XTLS-Vision — оптимизация, при которой Xray «проваливает» внутренний TLS прямо во внешний TLS без двойного шифрования. Когда вы подключаетесь к HTTPS-сайту через VLESS+Reality, данные шифруются один раз, а не два, как при классическом прокси поверх TLS. Результат — почти нативная скорость.
Транспорт обычно — чистый TCP (не WebSocket, не gRPC), что даёт минимальную задержку и без лишних заголовков. Важно: схема с TPROXY проксирует только TCP. UDP-трафик (кроме DNS) идёт напрямую — это осознанное ограничение.
Настройка DNS: AdGuard Home и DoH
Безопасный DNS — важная часть защищённого канала. Если DNS-запросы идут в открытом виде, злоумышленник может перехватить их и подменить ответы, даже если сам трафик шифруется.
В схеме с VLESS на роутере Cudy рекомендуется использовать AdGuard Home:
- Установите AdGuard Home на роутер (или на отдельное устройство в сети).
- Настройте его как DNS-сервер для всех клиентов (порт 53).
- В настройках AdGuard Home укажите upstream DNS-over-HTTPS, например
https://1.1.1.1/dns-query. - Включите фильтрацию рекламы и трекеров — это бонус к безопасности.
Важно: HTTPS-трафик к DNS-серверам (DoH) должен проходить через TPROXY и уходить через защищённый канал, чтобы DNS-запросы не светились наружу. В nftables для этого добавляются соответствующие правила.
Если вы используете стоковую прошивку Cudy, там есть встроенные настройки DNS, но они не дают такого уровня контроля, как AdGuard Home на OpenWrt.
Типичные проблемы и их решение
Даже при правильной настройке могут возникнуть сложности. Вот частые проблемы и способы их решения:
1. Нет интернета после настройки VPN.
- Проверьте системное время на роутере. VPN-протоколы критичны к времени: если часы сбиты, сертификаты не пройдут проверку. Зайдите в System → Time Settings и синхронизируйте.
- Проверьте конфликт подсетей: если локальная сеть роутера (например, 192.168.10.x) совпадает с подсетью VPN-сервера, маршрутизация сломается. Смените LAN IP роутера на 192.168.20.1.
2. Низкая скорость.
- Уменьшите MTU в настройках VPN-интерфейса до 1360 или 1280. Слишком большие пакеты могут фрагментироваться.
- Убедитесь, что процессор роутера справляется с шифрованием. На слабых MIPS-роутерах скорость будет низкой.
3. Не подключается телевизор.
- Отключите Smart Connect (объединение 2.4 и 5 ГГц под одним именем).
- Задайте ширину канала 20 МГц для 2.4 ГГц.
- Используйте WPA2-PSK вместо WPA3, так как старые телевизоры не поддерживают WPA3.
4. Проблемы с гигабитом.
- Проверьте патч-корд (минимум Cat 5e, все 8 жил обжаты).
- Проверьте настройки сетевой карты ПК — возможно, режим принудительно сброшен в 100 Mbps.
- Убедитесь, что порт провайдера поддерживает гигабит.
5. Логи.
- Смотрите System Log в OpenWrt. Ищите строки
Handshake failed(проблема с ключами) илиDNS resolution failed(проблема с адресом сервера).
Альтернативы VLESS: WireGuard и OpenVPN на Cudy
Если VLESS+Reality кажется слишком сложным, роутеры Cudy поддерживают и более традиционные протоколы — WireGuard и OpenVPN. Они встроены в стоковую прошивку, поэтому не требуют перепрошивки.
WireGuard — современный, лёгкий и быстрый протокол. Настройка через веб-интерфейс:
- Зайдите в General Settings → VPN → WireGuard Client.
- Нажмите Add и выберите Upload Config File.
- Загрузите файл
.confот провайдера. - Роутер сам заполнит поля, останется только придумать имя профиля и сохранить.
WireGuard сохраняет до 80–90% исходной скорости, тогда как OpenVPN на бюджетных моделях может «съесть» до половины канала.
OpenVPN — старый, проверенный, но тяжёлый. Настройка аналогична, но часто требуется вводить логин и пароль отдельно от файла .ovpn. После импорта убедитесь, что в логах появилось Initialization Sequence Completed.
Policy Routing — функция, позволяющая направлять через VPN только определённые устройства (по MAC-адресу) или домены. Это удобно, если, например, Smart TV должен ходить через VPN, а рабочий ноутбук — напрямую. В стоковой прошивке Cudy эта функция доступна в разделе VPN Policy.
Вопросы и ответы
Какой роутер Cudy лучше всего подходит для VLESS?
Оптимальный выбор — Cudy WR3000S или Cudy TR3000. У них 128 МБ флеш-памяти (у TR3000 — 128 МБ NAND) и 256–512 МБ RAM, что достаточно для OpenWrt и Xray. Модель WR3000 с 16 МБ ROM не подойдёт — не хватит места для пакетов. Если нужен порт 2.5G, смотрите WR3000H или TR3000.
Можно ли настроить VLESS на стоковой прошивке Cudy без OpenWrt?
Нет, стоковая прошивка Cudy поддерживает только WireGuard и OpenVPN. Для VLESS+Reality необходима OpenWrt, так как нужен Xray-core и модули TPROXY. Перепрошивка открывает доступ к полной настройке.
Что такое TPROXY и почему он лучше REDIRECT?
TPROXY — метод прозрачного проксирования, который сохраняет оригинальный IP-адрес назначения в пакете. Это позволяет Xray видеть реальный адрес и корректно маршрутизировать трафик. REDIRECT (DNAT) подменяет адрес на локальный, и прокси вынужден восстанавливать его из HTTP Host или TLS SNI, что работает не для всех протоколов. TPROXY сложнее в настройке, но универсальнее.
Как проверить, что VLESS на роутере работает?
После настройки проверьте статус подключения в веб-интерфейсе OpenWrt (раздел Status) или в логах Xray. Также можно зайти на сайт типа 2ip.ru с устройства в сети — внешний IP должен соответствовать IP прокси-сервера. Если IP не меняется, проверьте правила маршрутизации и sniffing.
Почему падает скорость при использовании VLESS на Cudy?
Причины могут быть разными: слабый процессор (MIPS-роутеры не справляются с шифрованием), неправильный MTU (попробуйте 1360 или 1280), конфликт подсетей, а также ограничения самого VPN-провайдера. Убедитесь, что используется XTLS-Vision (flow: xtls-rprx-vision) — он снижает оверхед.
Что делать, если после прошивки OpenWrt роутер не загружается?
Если роутер превратился в «кирпич», попробуйте восстановить через режим Recovery: зажмите Reset на выключенном роутере, включите питание, удерживая кнопку 10–15 секунд, затем подключитесь по кабелю с статическим IP и загрузите стоковый .bin файл через аварийный веб-интерфейс. Для Cudy TR3000 с новым NAND Flash обязательно используйте intermediate firmware от производителя.