Роутер с VPN для всего офиса: GL.iNet Beryl AX, mihomo и раздельная маршрутизация

Как выбрать роутер под VPN и настроить его: GL.iNet GL-MT3000, mihomo, раздельная маршрутизация для банков и маркетплейсов, резервные серверы, два VPN и исключения.

VPN-приложение на каждом устройстве работает, пока устройств два. Дальше начинается зоопарк: у сотрудника не обновился клиент, на телевизоре VPN не ставится вообще, банк ругается на зарубежный IP, а IP-телефония хрипит, потому что звонок едет через Германию. Каждое «у меня не работает» съедает полчаса.

Я решил это одним роутером размером с пачку сигарет. Все устройства подключаются к нему по Wi‑Fi или кабелю и получают защищённый канал без единой настройки. Российские сервисы — банки, маркетплейсы, телефония — при этом идут напрямую, как будто никакого VPN нет.

В статье — почему выбор пал на GL.iNet GL-MT3000 (Beryl AX), как устроена настройка VPN на роутере, зачем в нём два VPN и какие грабли я собрал по дороге, чтобы вам их не собирать.

Итоги в цифрах:

Цифра Что за ней
57–99 мс задержка до своего VPN-сервера в Европе
5 серверов у 2 провайдеров автопереключение при сбое, проверка раз в 5 минут
Московский кэш видео отдаёт ближайший к офису кэш, а не европейский
50+ доменов и подсетей в исключениях: идут напрямую, без VPN
30 секунд на новое исключение: одна строка в конфиге и перезапуск

Один роутер на весь офис: все устройства подключены к роутеру, часть трафика идёт через VPN, банки и маркетплейсы — напрямую

Зачем VPN на роутере, а не на устройствах

Коротко: настраиваешь один раз — работает у всех.

Приложение на каждом устройстве Роутер со встроенным WireGuard/OpenVPN Роутер на OpenWrt + mihomo
Сколько раз настраивать на каждом устройстве один раз один раз
Телевизор, приставка, принтер, IP-телефон не поддерживаются работают работают
Современные протоколы (VLESS, Reality) да нет да
Раздельное туннелирование по сайтам зависит от клиента грубо, по IP гибко: домены, подсети, порты, устройства
Разные VPN для разных сервисов нет нет да
Автопереключение на резервный сервер редко нет да
Что видит сотрудник ещё одна иконка и кнопка ничего ничего

Третий вариант — самый гибкий. Он даёт те же возможности, что продвинутый клиент на компьютере, но для всей сети сразу. У роутера получается три выхода в интернет: свой VPN, второй VPN для видео и напрямую.

flowchart LR
    TV["Ноутбуки, телефоны,<br/>телевизор, IP-телефоны"] --> R["Роутер GL-MT3000<br/>mihomo"]
    R -->|"видео"| V2["Узел второго VPN<br/>рядом с кэшем"]
    R -->|"остальное"| V1["Свой VPN-сервер<br/>в Европе"]
    R -->|"банки, маркетплейсы,<br/>большие загрузки"| D["Напрямую"]
    V2 -.->|"при сбое"| V1

Вся схема за 43 секунды:

Почему GL.iNet Beryl AX

Я выбирал по трём требованиям: внутри должен быть настоящий OpenWrt (иначе нужный софт не поставить), хватать памяти на VPN-клиент и шифрование на скорости тарифа, а сам роутер — быть компактным. GL-MT3000 закрывает всё:

  • Процессор MediaTek MT7981 и 512 МБ оперативной памяти. У mihomo со всеми правилами остаётся запас больше половины памяти.
  • 256 МБ флеш-памяти. VPN-клиент весит около 57 МБ и помещается с запасом, а у дешёвых роутеров флеш часто 16–32 МБ.
  • Порт WAN на 2,5 Гбит/с. Гигабитный тариф не упрётся в порт.
  • Wi‑Fi 6 (AX3000). Хватает на офис или квартиру.
  • OpenWrt внутри. Поверх фирменной панели GL.iNet можно поставить стандартную панель LuCI, зайти по SSH и установить любой пакет.
  • Питание от USB-C (5 В, 3 А) и компактный корпус. Роутер работает от пауэрбанка и умещается в рюкзак, поэтому годится и для командировок.
  • USB 3.0. К нему можно подключить 4G-модем или телефон как резервный канал.

Про «китайскую версию»

На маркетплейсах этот роутер часто продают с пометкой «Китайская версия». Это значит, что у прошивки регион CN. В некоторых старых прошивках для Китая вырезали VPN-функции. Мне попался экземпляр с прошивкой 4.8.1: регион CN, но VPN-модули на месте, а для нашей схемы они и не нужны, ведь клиент ставится свой. Если же функции вырезаны, роутер прошивается на международную версию через аварийный загрузчик.

Что проверить сразу после покупки: версию прошивки (4.x и новее) и то, что открывается раздел «Расширенные настройки» с установкой LuCI.

Если роутер уже есть

Роутер OpenWrt Хватит ли на mihomo
GL.iNet Beryl AX (GL-MT3000) из коробки да, 512 МБ памяти
GL.iNet Flint 2 (GL-MT6000) из коробки да, с запасом: 1 ГБ памяти, для большого офиса
Keenetic нет, свои компоненты; Xray или sing-box ставятся через Entware зависит от модели и памяти
MikroTik нет; клиент запускается в контейнере RouterOS 7 только на старших моделях
Xiaomi AX3000T и подобные прошивается вручную впритык: 256 МБ памяти

Самый короткий путь — роутер, где OpenWrt стоит из коробки. На остальных схема та же, но настройка заметно дольше.

Как настроить: восемь шагов

Ниже — логика настройки без привязки к конкретному серверу: главное — понять, из каких частей состоит система. Полная инструкция с командами, готовым конфигом и разбором ошибок — в PDF на 20 страниц.

flowchart TD
    A["1. Пароль администратора"] --> B["2. Интернет: DHCP или PPPoE"]
    B --> C["3. LuCI и SSH-ключ"]
    C --> D["4. VPN-клиент mihomo"]
    D --> E["5. Брандмауэр и DNS"]
    E --> F["6. Правило для локальной сети"]
    F --> G["7. Исключения"]
    G --> H["8. Резервные серверы"]
  1. Пароль администратора. Роутер подключается к компьютеру кабелем через порт LAN, панель открывается по адресу 192.168.8.1. Первым делом задаётся пароль.
  2. Интернет. Кабель провайдера идёт в порт WAN. Если роутер долго висит в состоянии «Connecting…», значит, провайдер подключает не по DHCP, а по PPPoE — с логином и паролем из договора. Так было и у меня.
  3. LuCI и SSH. В панели GL.iNet ставится LuCI, через неё или по SSH на роутер добавляется ключ. Дальше всё делается из терминала, без паролей.
  4. VPN-клиент. Я поставил mihomo — тот же движок, что внутри Clash Verge на компьютере. Поэтому профиль с серверами перенёсся почти без правок, а клиент поддерживает VLESS на роутере, Reality, WebSocket и десяток других протоколов.
  5. Брандмауэр и DNS. Туннелю нужна своя зона в брандмауэре. А DNS-запросы устройств роутер должен отправлять в mihomo — иначе он не узнает, какой сайт открывается, и исключения не сработают.
  6. Правило для локальной сети. Самый неочевидный шаг, о нём подробнее в разделе про грабли.
  7. Исключения. Задаётся список сайтов, которые идут напрямую. Об этом — отдельный раздел ниже.
  8. Резервные серверы. В профиле несколько серверов на разных протоколах. Роутер раз в пять минут проверяет, кто из них жив, и при сбое сам переключается на следующий.

Отдельно стоит включить на роутере определение сайта по самому соединению (в mihomo это sniffer). Тогда исключения работают даже на устройствах, которые ходят в DNS мимо роутера. Например, в браузере с включённым DNS-over-HTTPS.

После восьми шагов сеть уже работает. Дальше — три доработки, которые я сделал через несколько дней: второй VPN для видео, большие загрузки мимо VPN и отдельные правила для телевизора.

Скачать PDF с полной инструкцией20 страниц: команды, готовый конфиг, два VPN, грабли и чек-лист

Два VPN в одном роутере

Обычно VPN один на всё. Но разным сервисам нужен разный выход.

Зачем. Свой сервер в Европе даёт полный контроль, но он далеко от видеокэша: видео едет через пол-Европы и обратно. Узел второго VPN-провайдера в России стоит ближе к московскому кэшу Google. Видеосервисы идут через этот узел с минимальной задержкой до кэша, а всё остальное — через свой сервер.

Как устроено. На роутере отдельная группа серверов для видео. Первым в ней стоит узел второго провайдера, вторым — своя основная группа. Если узел недоступен, видео без перерыва идёт через свой сервер. Правила для видео стоят сразу после локальных сетей, выше всех остальных.

Панель mihomo, группы серверов с задержками: основная группа Proxy работает через Auto, а та — через запасной WebSocket TLS, потому что вход Reality сейчас не ответил; группа Video выходит через узел для видео с задержкой 44 мс, запасной выход — Proxy

На скриншоте живое состояние роутера. Вход Reality на своём домене в эту минуту не ответил, и группа Auto сама перешла на запасной WebSocket TLS. Видео при этом идёт через узел второго провайдера, а у него свой запасной выход — через основную группу.

Откуда настройки. Подписка второго провайдера уже стоит в Clash Verge на компьютере. Короткий скрипт берёт из неё один узел, переносит на роутер и пересобирает группу и правила. Подписка обновилась — запускаешь скрипт ещё раз. Сам скрипт — в PDF.

Как проверить. Одна команда с роутера показывает, с какого IP видеосервис видит роутер и какой кэш отдаёт видео:

curl -s "https://redirector.googlevideo.com/report_mapping?di=no"

У меня в ответе — российский адрес узла и московский кэш svo04.

Грабля, которую я нашёл уже на скриншотах: роутер проверяет, жив ли узел, запросом на служебный адрес Google. Я поставил проверку по обычному http://, а узел второго провайдера такой запрос не пропускает. Роутер считал узел мёртвым, и видео то и дело уходило через свой сервер, хотя узел работал. С https:// проверка проходит. Поэтому проверку живости ставьте по https:// и смотрите в панели, какой выход группа выбрала на самом деле.

Исключения: что пускать напрямую

Через VPN идёт всё, кроме списка исключений. Без исключений неудобства возникают сразу:

  • Банки видят зарубежный IP и включают антифрод: дополнительные проверки, блокировка операций.
  • Маркетплейсы и сервисы с геолокацией показывают не тот город и не те цены.
  • IP-телефония получает лишние 50–100 мс задержки, в разговоре появляется эхо или одностороннее аудио.
  • Российские сервисы просто работают быстрее напрямую.

Мой список:

Группа Сервисы
Госсервисы Госуслуги
Банки Сбер
Маркетплейсы Ozon, Wildberries, Авито
Соцсети и мессенджеры ВКонтакте, MAX
Онлайн-видео VK Видео и CDN VK
Карты и поиск Яндекс, 2ГИС
Магазины приложений RuStore
IP-телефония Новофон, Манго Офис
Большие загрузки всё на портах 1024–65535, кроме мессенджеров
Служебное сайт провайдера, локальные сети

Домен в списке действует вместе со всеми поддоменами. Для каждого сервиса нужно добавлять и служебные домены: например, ВКонтакте отдаёт картинки и видео с отдельных CDN-доменов, без них лента грузится наполовину.

Телефонию правило по домену не ловит. Голос в звонке идёт по UDP напрямую на IP-адреса серверов телефонии, без имени сайта. Поэтому для Новофона и Манго Офиса в исключения добавлены ещё и подсети их серверов. Признак, что подсеть пропущена, — в звонке слышно только одну сторону.

Большие загрузки мимо VPN

Проблема. Торрент-клиент или обновления системы забивают канал VPN-сервера, и остальным устройствам достаются крошки. Плюс лишний трафик на сервере. Большие загрузки — обновления, дистрибутивы, торрент-клиенты — не должны занимать VPN-канал.

Решение. mihomo не распознаёт торрент-трафик по содержимому, поэтому правило строится по портам: всё, что идёт на порты 1024–65535, — напрямую. Сайты работают на стандартных портах 80 и 443 и остаются в VPN.

Главная грабля. Под это правило попадают звонки мессенджеров: Telegram использует порт 20443, служебные запросы для звонков (STUN) — 3478–3481, пуш-уведомления — 5228. Первая версия правила отправила Telegram напрямую — я поймал это по логу соединений. Поэтому мессенджеры и эти порты стоят в правилах выше и остаются в VPN.

Как проверить. Список соединений в панели mihomo показывает для каждого соединения, какое правило сработало и через какой выход оно идёт. Это главный инструмент диагностики всей схемы.

Панель mihomo, список соединений: раздача на нестандартном порту идёт напрямую по правилу портов, видео — через узел для видео, Авито и Госуслуги — напрямую по домену, Telegram и прочее — через свой VPN-сервер

Здесь видны все три выхода сразу: раздачи на нестандартных портах — напрямую по правилу портов, видео — через отдельный узел, Авито и Госуслуги — напрямую по домену, а Telegram и всё остальное — через свой сервер. Внешние адреса на скриншотах замаскированы.

Телевизор

Закрепите за телевизором постоянный адрес. У телевизора свои правила: например, слово из имени приложения пускается напрямую только для него. Такие правила держатся на IP-адресе устройства. Без закрепления роутер однажды выдаст телевизору другой адрес, и правила молча перестанут работать.

Медиаприложения ходят не туда, куда думаешь. Приложение онлайн-кинотеатра на телевизоре брало видео не со своих серверов, а с CDN VK. Я добавил в исключения домены самого приложения, а видео всё равно шло через VPN: так прошло около 420 МБ одного фильма.

Приём, который работает для любого приложения: включите фильм и 10–15 минут записывайте соединения телевизора. Сразу видно, к каким доменам он ходит и какие из них ушли в VPN. Их и добавляете в исключения. Команда для записи — в PDF.

📄 Забрать PDF-инструкцию в Telegram20 страниц, бесплатно, в боте @uspeshnyybot

Грабли, которые я собрал

Фирменная прошивка уводит трафик мимо VPN

Самое опасное: VPN работал, роутер сам выходил в интернет через Германию, а компьютеры в локальной сети — напрямую через провайдера. Снаружи всё выглядело рабочим.

Причина — в штатном модуле маршрутизации GL.iNet. Он помечает трафик из локальной сети и отправляет его в основную таблицу маршрутов раньше, чем срабатывают правила VPN-клиента. Решается одним правилом маршрутизации с более высоким приоритетом, которое ставится при каждом запуске VPN.

Вывод: проверяйте внешний IP не только на роутере, но и с устройства в локальной сети.

Провайдер фильтрует не протокол, а «подозрительные» соединения

На одной линии всё работало, на другой основной сервер не подключался. Разбор показал, что фильтр провайдера смотрит на две вещи:

  1. SNI — имя сайта, указанное при подключении. Если оно не похоже на «родное» для IP-адреса сервера, соединение обрывается. Из 15 проверенных популярных доменов фильтр пропустил только три.
  2. Отпечаток TLS-клиента. Подключение с отпечатком Chrome (большой ClientHello с постквантовым ключом) обрывалось, а с отпечатком Safari проходило.

Решение: отдельный вход на сервере, который маскируется под собственный домен на этом же сервере. Имя сайта и IP совпадают, а на проверку со стороны отвечает настоящий веб-сервер с настоящим сертификатом. Действующих клиентов на старом входе это не затронуло.

Честная оговорка: на этой линии и такой вход работает с перебоями. 20 октября прошли две проверки из трёх, в остальное время роутер сам уходил на запасной сервер с WebSocket, а потом возвращался. Поэтому одного хитрого входа мало — нужен запас.

Вывод: держите в профиле несколько серверов на разных протоколах. Когда один заблокируют, роутер переключится сам, а у вас будет время разобраться.

flowchart TD
    S["Роутер выбирает сервер"] --> R1{"Reality на своём домене<br/>отвечает?"}
    R1 -->|"да"| OK["Работаем через него"]
    R1 -->|"нет"| R2{"Резервный Reality<br/>отвечает?"}
    R2 -->|"да"| OK
    R2 -->|"нет"| W1{"WebSocket через TLS<br/>отвечает?"}
    W1 -->|"да"| OK
    W1 -->|"нет"| W2["WebSocket через CDN"]
    W2 --> OK

Режим «самый быстрый сервер» рвёт соединения

Сначала серверы выбирались по наименьшей задержке. При близких значениях роутер иногда переключался посреди загрузки, и видео или тяжёлые сайты зависали. Режим «первый рабочий по порядку» (fallback) решил проблему: основной сервер используется всегда, пока жив.

Истёкший клиент на сервере выглядит как блокировка

Панель управления VPN-сервером (x-ui) молча убирает из конфигурации клиентов с истёкшим сроком. Подключение при этом выглядит так же, как при блокировке провайдером, — таймаут. Различить помогает только лог сервера: там видно invalid request user id.

Вывод: прежде чем искать блокировку, проверьте срок клиента.

Компьютер с двумя сетями

Если компьютер подключён к роутеру кабелем и при этом к другой сети по Wi‑Fi, Windows может решить, что кабель главнее, и пустить туда весь интернет. Пока у роутера нет своего интернета, связь пропадает. Лечится ручной метрикой интерфейса: у кабеля ставится 500, и тогда он используется только для доступа к роутеру.

Что получилось

  • Один роутер защищает все устройства сети: ноутбуки, телефоны, телевизор, IP-телефоны. На устройствах ничего не установлено.
  • Банки, маркетплейсы и телефония работают напрямую — без антифрода, без чужих цен, без эха в звонках.
  • Пять серверов у двух VPN-провайдеров с автоматическим переключением при сбое.
  • Видео — через отдельный узел рядом с кэшем, при сбое — через свой сервер.
  • Большие загрузки не забивают VPN-канал, а звонки в мессенджерах при этом работают.
  • Защита от фильтрации у провайдера: маскировка под собственный домен и запасные протоколы.
  • Роутер в рюкзаке: питание от USB-C, в командировке он работает так же.
  • Обслуживание без «у меня не работает»: новое исключение — одна строка в конфиге и перезапуск, полминуты.

Сколько стоит и сколько времени

Статья Сколько
Роутер GL-MT3000 8 000 ₽, один раз
Свой VPN-сервер ежемесячная аренда сервера; если он уже есть, роутер подключается к нему же
Подписка второго провайдера в среднем 200 ₽ в месяц; необязательно, нужна, только если важно видео
Настройка по инструкции около двух часов с первого раза

Дальше расходов на роутер нет: новое исключение добавляется за полминуты, а на устройствах сотрудников ничего не нужно обновлять.

Безопасность после настройки

Роутер теперь — единственная дверь всей сети в интернет. Поэтому пять минут на защиту:

  • смените заводской пароль Wi‑Fi с наклейки;
  • задайте сложный пароль администратора и не открывайте панель роутера из интернета;
  • вход по SSH — только по ключу;
  • гостевая сеть для посетителей — отдельно от офисной;
  • храните рядом документацию с командами отката: как выключить VPN и вернуть обычный интернет.

Чек-лист перед покупкой и настройкой

  1. Роутер с OpenWrt, от 256 МБ оперативной памяти и от 128 МБ флеш-памяти.
  2. Свой VPN-сервер и минимум два протокола подключения.
  3. Данные для подключения к провайдеру: DHCP или PPPoE с логином и паролем.
  4. Список российских сервисов, которыми вы пользуетесь: банки, CRM, телефония, маркетплейсы.
  5. Проверка после настройки: внешний IP с устройства в сети, открытие сайта из исключений, тестовый звонок по телефонии и в мессенджере.
  6. Документация: где лежат конфиги, как добавить исключение, как временно выключить VPN.

Частые вопросы

Можно ли поставить VPN на роутер GL.iNet Beryl AX «китайской версии»?

Да. «Китайская версия» — это прошивка с регионом CN. Для схемы с mihomo встроенные VPN-функции не нужны: клиент ставится свой. Проверьте, что прошивка 4.x и новее и что в «Расширенных настройках» есть установка LuCI. Если нет — роутер прошивается на международную версию через аварийный загрузчик.

Чем mihomo лучше встроенного WireGuard или OpenVPN на роутере?

Тремя вещами. mihomo поддерживает современные протоколы с маскировкой (VLESS, Reality), которые фильтры провайдеров распознают хуже, чем WireGuard и OpenVPN. Он умеет раздельное туннелирование по доменам, подсетям, портам и устройствам. И сам переключается на резервный сервер, если основной перестал отвечать.

Почему банк блокирует операции, когда включён VPN?

Банк видит зарубежный IP-адрес и включает антифрод: дополнительные проверки, блокировку операций. Решение — пускать домены банка напрямую, мимо VPN. На роутере это одна строка в списке исключений, и она действует для всех устройств сети.

Как сделать, чтобы российские сайты открывались без VPN?

Добавить их домены в исключения с выходом «напрямую». Чтобы правила срабатывали, DNS-запросы устройств должны идти через mihomo, а на роутере должен быть включён sniffer — определение сайта по самому соединению. Не забывайте служебные домены: CDN, картинки, видео.

Что делать, если провайдер блокирует VPN-подключение?

Держать несколько серверов на разных протоколах и режим fallback: роутер сам переключится на рабочий. Помогают вход Reality с именем собственного домена, отпечаток Safari вместо Chrome и WebSocket через TLS или CDN как последний рубеж.

Нужен ли свой сервер или хватит подписки?

mihomo работает и с тем и с другим. Свой сервер даёт полный контроль: вы сами решаете, где он стоит и кто к нему подключён. Подписка проще и даёт узлы в разных странах. В моей схеме они дополняют друг друга: всё идёт через свой сервер, видео — через узел подписки.

Сколько устройств выдержит GL-MT3000 с VPN?

У роутера 512 МБ оперативной памяти, и mihomo со всеми правилами занимает меньше половины. Для небольшого офиса или квартиры этого хватает. Для большого офиса стоит взять старшую модель, GL.iNet Flint 2 (GL-MT6000): у неё 1 ГБ памяти и процессор мощнее.

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

Выкинул рекламу из телевизора: как я превратил приставку Movix в чистый Android TVтелевизор в той же сети тоже можно вернуть себе: приставка Movix без рекламы и навязанных подписокЛокальные AI-модели: когда это защита данных, а когда дорогая паранойякогда своя инфраструктура окупается, а когда это дорогая игрушкаDocmost: корпоративная Wiki под полным контролемкорпоративная Wiki на своём сервере — ещё один кирпич своей инфраструктурыЧто телефон рассказывает о вас без спроса: списки приложений, VPN и кому это нужночто телефон рассказывает о вас без спроса — и почему защищённый канал это только начало

Настрою роутер для вашего офиса под ключ. Что входит: подбор и настройка роутера, VPN с резервными серверами, исключения под ваши банки, CRM и телефонию, проверка с каждого типа устройств и документация для того, кто будет обслуживать сеть. Напишите в Telegram, сколько у вас устройств и какой провайдер, — назову срок и стоимость.

📄 Забрать PDF-инструкцию в Telegram20 страниц, бесплатно, в боте @uspeshnyybot

Комментарии

Войдите через Telegram, чтобы оставить комментарий:

Пока нет комментариев. Будьте первым.