VLESS на роутере OpenWrt — настройка через Xray-core
Автор: Сергей Зайцев | Опубликовано: 11.05.2026 | Обновлено: 11.05.2026 | Чтение: 12 мин
VPN на роутере — главная причина которую я называю «домашний интернет работает по умолчанию». Все устройства в сети (телевизор, приставка, телефоны гостей) получают разблокировку автоматически — без установки приложений. Показываю как это работает на OpenWrt с Xray-core.
---
Что нужно
1. Роутер с OpenWrt 22.03+ и ≥ 128 MB RAM (рекомендую 256 MB+) 2. Флеш-память ≥ 64 MB (Xray-core + конфиг) 3. Подписка VLESS (получить через бота) 4. SSH-доступ к роутеру
Подходящие роутеры: TP-Link Archer C7, GL.iNet серия (GL-MT3000 «Beryl AX» — лучший выбор, уже идёт с OpenWrt), Xiaomi Mi Router 4A, Linksys WRT3200ACM.
---
Схема работы
Устройства → OpenWrt роутер → Xray-core → VLESS+Reality сервер → Интернет
↓ (RU IP → напрямую)
Сбербанк, Госуслуги
Российские домены идут напрямую, заблокированные (Instagram, YouTube) — через VLESS.
---
Шаг 1: Установка Xray-core на OpenWrt
Подключиться по SSH:
ssh root@192.168.1.1
Установить Xray:
opkg update
opkg install xray-core
Если xray-core нет в репозитории вашей версии — скачать бинарник напрямую:
# Определить архитектуру
uname -m # mipsel, arm, x86_64
# Скачать бинарник для вашей архитектуры с github.com/XTLS/Xray-core
wget https://github.com/XTLS/Xray-core/releases/latest/download/Xray-linux-mips.zip
unzip Xray-linux-mips.zip
mv xray /usr/sbin/xray
chmod +x /usr/sbin/xray
Проверить:
xray -version
# Xray 24.x.x (XTLS Labs) ...
---
Шаг 2: Конфиг Xray
Создать конфиг /etc/xray/config.json:
{
"log": {"loglevel": "warning"},
"inbounds": [
{
"tag": "tproxy-in",
"port": 12345,
"protocol": "dokodemo-door",
"settings": {
"network": "tcp,udp",
"followRedirect": true
},
"streamSettings": {"sockopt": {"tproxy": "tproxy"}}
},
{
"tag": "socks-in",
"port": 1080,
"protocol": "socks",
"settings": {"auth": "noauth"}
}
],
"outbounds": [
{
"tag": "proxy",
"protocol": "vless",
"settings": {
"vnext": [{
"address": "ВАШ-СЕРВЕР.COM",
"port": 443,
"users": [{
"id": "ВАШ-UUID",
"flow": "xtls-rprx-vision",
"encryption": "none"
}]
}]
},
"streamSettings": {
"network": "tcp",
"security": "reality",
"realitySettings": {
"serverName": "microsoft.com",
"fingerprint": "chrome",
"publicKey": "ВАШ-PUBLIC-KEY",
"shortId": "ВАШ-SHORT-ID"
}
}
},
{
"tag": "direct",
"protocol": "freedom"
},
{
"tag": "block",
"protocol": "blackhole"
}
],
"routing": {
"domainStrategy": "IPIfNonMatch",
"rules": [
{"type": "field", "ip": ["geoip:ru", "geoip:private"], "outboundTag": "direct"},
{"type": "field", "domain": ["geosite:category-ru"], "outboundTag": "direct"},
{"type": "field", "outboundTag": "proxy"}
]
}
}
Параметры сервера (address, id, publicKey, shortId) — из вашей VLESS-ссылки или подписки.
---
Шаг 3: Правила iptables (tproxy)
Создать /etc/firewall.d/xray-tproxy:
#!/bin/sh
# Таблица для маршрутизации через Xray
ip rule add fwmark 1 table 100 2>/dev/null
ip route add local default dev lo table 100 2>/dev/null
# Исключить RFC1918 и мультикаст
iptables -t mangle -N XRAY_PREROUTING 2>/dev/null
iptables -t mangle -F XRAY_PREROUTING
iptables -t mangle -A XRAY_PREROUTING -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A XRAY_PREROUTING -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY_PREROUTING -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A XRAY_PREROUTING -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A XRAY_PREROUTING -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A XRAY_PREROUTING -d 240.0.0.0/4 -j RETURN
# Трафик с LAN → пометить и перенаправить на порт Xray
iptables -t mangle -A XRAY_PREROUTING -p tcp -j TPROXY --on-port 12345 --tproxy-mark 1
iptables -t mangle -A XRAY_PREROUTING -p udp -j TPROXY --on-port 12345 --tproxy-mark 1
# Применить к LAN-интерфейсу
iptables -t mangle -A PREROUTING -i br-lan -j XRAY_PREROUTING
Сделать исполняемым:
chmod +x /etc/firewall.d/xray-tproxy
---
Шаг 4: Автозапуск Xray
Создать /etc/init.d/xray:
#!/bin/sh /etc/rc.common
START=99
STOP=10
start() {
/usr/sbin/xray run -c /etc/xray/config.json &
}
stop() {
killall xray
}
chmod +x /etc/init.d/xray
/etc/init.d/xray enable
/etc/init.d/xray start
---
Шаг 5: DNS на роутере
Чтобы DNS не утекал через провайдера:
uci set dhcp.@dnsmasq[0].server='1.1.1.1'
uci set dhcp.@dnsmasq[0].noresolv='1'
uci commit dhcp
/etc/init.d/dnsmasq restart
---
Проверка работы
С устройства в Wi-Fi:
curl https://ifconfig.me
# Должен показать EU IP, а не ваш российский
Или открыть 2ip.ru — должен показать Нидерланды/Германия.
---
GL.iNet — готовое решение
Если не хотите настраивать OpenWrt с нуля — GL.iNet GL-MT3000 («Beryl AX») продаётся с предустановленным OpenWrt и веб-интерфейсом с поддержкой XRay/Sing-box.
Через UI: VPN → XRay → вставить VLESS-ссылку → Enable. Значительно проще, чем ручная настройка.
Стоимость ~$90-120 на AliExpress.
---
FAQ
Какой роутер минимально подходит? RAM ≥ 128 MB. Меньше — Xray-core не запустится. TP-Link Archer C7 (128 MB RAM) — минимум. GL.iNet MT-2500 (512 MB RAM) — комфортно.
Скорость через роутер хуже чем на телефоне? Да — CPU роутера слабее чем телефонный. На роутере с 800 МГц MIPS — ожидайте 30-80 Мбит/с через VLESS. На ARM роутере (GL-MT3000 с MT7981) — 200-400 Мбит/с.
Нужен ли отдельный VPN на телефоне если роутер с Xray? Нет — при подключении к домашнему Wi-Fi трафик уже идёт через VLESS. За пределами дома — нужен VPN на телефоне.
Российские сайты будут медленнее? Нет — Сбербанк, Госуслуги, VK идут через direct (правило geoip:ru). Только заблокированное идёт через VLESS.
---