VLESSbot

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.

---

Читайте также