Как настроить VPN на роутере с OpenWrt
Если VPN включить на самом роутере, через него пойдут все устройства дома — телефоны, ноутбуки, телевизор, приставка, — и на каждое не нужно ставить приложение. На роутере с прошивкой OpenWrt это делает бесплатная программа PassWall2: она берёт серверы из вашей ссылки-подписки и умеет отправлять HWID, без которого сервис вместо серверов отдаёт заглушку. Всё настраивается в браузере, на странице настроек роутера, — командная строка не нужна.
Коротко о словах
- OpenWrt — свободная прошивка (операционная система) для роутеров. Ставится вместо заводской.
- Страница настроек роутера — то, что открывается в браузере
по адресу роутера, обычно
http://192.168.1.1. У OpenWrt она называется LuCI. - Пакет — программа или её часть для роутера. Пакеты ставятся в разделе «Система» → «Пакеты».
- Репозиторий — хранилище пакетов в интернете, откуда роутер сам их скачивает. Свой репозиторий есть у OpenWrt и у авторов PassWall2.
- PassWall2 — программа, которая подключает роутер к VPN-серверам из подписки. Внутри неё работает Xray — та самая часть, которая и соединяется с сервером.
Что понадобится
- Роутер, на котором уже стоит OpenWrt версии 25.12. Как установить саму OpenWrt, мы не рассказываем: это отдельная процедура со своими рисками, и для каждой модели она своя.
- Свободное место — не меньше 100 МБ. Сколько свободно, видно вверху страницы «Пакеты» в строке «Дисковое пространство». Все нужные пакеты занимают около 85 МБ, на роутерах с маленькой памятью они не поместятся.
- Работающий интернет на самом роутере.
- Ссылка-подписка из личного кабинета. Что это такое — в отдельной статье.
Пошагово
-
Откройте в браузере адрес роутера — обычно
http://192.168.1.1— и войдите под пользователемrootс вашим паролем.У только что установленной OpenWrt интерфейс на английском, поэтому в шагах 2 и 3 рядом с английскими названиями в скобках указаны русские. Если интерфейс у вас уже на русском, шаг 3 пропустите.
-
Откройте «System» → «Software» (по-русски «Система» → «Пакеты»). Это магазин программ роутера. Сначала роутеру нужно скачать свежий список пакетов: нажмите «Update lists…» («Обновить списки…») и дождитесь строки
OK: … packages available.
Закройте окно и обновите страницу клавишей F5. Без этого страница не увидит новый список и на следующем шаге скажет, что пакет не найден.
-
Включите русский язык. В поле «Download and install package» введите
luci-i18n-base-ru, нажмите «OK», а в окне подтверждения — «Install».
Тем же способом установите
luci-i18n-package-manager-ru— он переведёт саму страницу пакетов. Обновите страницу: интерфейс станет русским. Язык берётся из настроек браузера.
-
Теперь научим роутер доверять репозиторию PassWall2. Для этого нужен его ключ — небольшой текстовый файл. Скачайте его по ссылке из официальной инструкции PassWall2: apk.pub. Файл
apk.pubскачается сразу, страница при этом не откроется.Откройте «Система» → «Администрирование», вкладка «Публ. ключи репозиториев». Откройте скачанный файл в Блокноте, скопируйте весь текст — от
-----BEGIN PUBLIC KEY-----до-----END PUBLIC KEY-----— и вставьте в поле внизу страницы.
Тот ли это ключ, видно по второй строке текста: она начинается с
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEOmXHYLJGWFQ, как на кадре.Нажмите «Добавить ключ». В таблице появится вторая строка — ключ PassWall рядом с ключом OpenWrt. Вставить в поле не текст, а ссылку не получится: браузер не даст странице скачать файл с другого сайта.
-
Подключите сам репозиторий. «Система» → «Пакеты» → кнопка «Настроить apk». Откроется окно с двумя полями.
Сначала узнайте архитектуру роутера. В нижнем поле (
distfeeds.list) посмотрите любую строку: архитектура — это часть адреса после/packages/. Например,aarch64_cortex-a53,mipsel_24kcили, как на скриншоте,x86_64.В верхнее поле (
customfeeds.list) добавьте три строки, заменивАРХИТЕКТУРАна свою:https://sourceforge.net/projects/openwrt-passwall-build/files/releases/packages-25.12/АРХИТЕКТУРА/passwall_packages/packages.adb https://sourceforge.net/projects/openwrt-passwall-build/files/releases/packages-25.12/АРХИТЕКТУРА/passwall_luci/packages.adb https://sourceforge.net/projects/openwrt-passwall-build/files/releases/packages-25.12/АРХИТЕКТУРА/passwall2/packages.adb
Нажмите «Сохранить», затем «Обновить списки…». В начале вывода появятся три адреса
sourceforge.net, в конце —OK: … distinct packages availableбез слова ERROR. Закройте окно и снова обновите страницу (F5).
-
Установите четыре пакета, которые нужны PassWall2 для работы. Каждый — так же, как русский язык: имя в поле «Загрузить и установить пакет» → «Принять» → «Установить».
dnsmasq-full— полная версия DNS-службы роутера. Штатную она заменит сама, удалять ничего не нужно;kmod-nft-tproxyиkmod-nft-socket— без них через VPN не пойдёт часть трафика;xray-core— ядро, которое соединяется с сервером. В выводе должна быть версия 26.7.11 или новее: из репозитория PassWall приходит именно такая.
При установке
dnsmasq-fullвнизу окна бывает блок «Ошибки» со строкамиudhcpc: no lease, failing. Это не ошибка установки — главное, чтобы выше была строкаOK:.
-
Теперь сам PassWall2. В поле «Фильтр» введите
passwall2и у строкиluci-app-passwall2нажмите «Установить…».
Откроется окно со списком всего, что поставится вместе с программой. Внизу оставьте галочку «Также установить рекомендуемые пакеты переводов» — так PassWall2 сразу будет на русском — и нажмите «Установить».
Это самая долгая установка — около 30 пакетов, от минуты до нескольких. В конце должна появиться строка
OK: …. Если вместо неё страница показала ошибкуUnexpected end of JSON input, подождите пару минут и обновите страницу: установка продолжается в фоне. Проверить можно на вкладке «Установлено».
-
Перезагрузите роутер: «Система» → «Перезагрузка» → «Выполнить перезагрузку». Через минуту-две войдите снова.
Этот шаг обязателен. Без перезагрузки в меню не появится раздел «Службы», а кнопка «Применить» в PassWall2 не будет запускать VPN.
-
Откройте «Службы» → «PassWall 2», вкладка «Подписки», и нажмите «Добавить» под таблицей. Откроется страница новой подписки. В «Название подписки» впишите что-нибудь понятное, например «Моя подписка», в «URL подписки» — вашу ссылку целиком.
Прокрутите страницу в самый низ и поставьте галочку «Отправлять HWID». Без неё сервис вместо списка серверов пришлёт одну запись-заглушку. Нажмите «Применить» — вы вернётесь к списку подписок.
-
В строке подписки нажмите «Ручное обновление подписки». PassWall2 скачает список серверов и сам откроет вкладку «Журналы выполнения».
Ищите строку «Успешно разобран [Моя подписка], количество узлов: …» — значит, серверы получены. На скриншоте адрес подписки заменён заглушкой: у вас там будет ваша ссылка.
-
Включите VPN. Вкладка «Общие параметры»: поставьте галочку «Включить модуль», затем откройте список «Узел», раскройте группу с названием вашей подписки и выберите сервер.
Нажмите «Применить» внизу страницы. Через 10–20 секунд обновите страницу — вверху появится «Core: Служба активна». Нажмите «Проверить доступность» у Google — должно показать время в миллисекундах. Baidu иногда показывает ошибку: это китайский сайт, на работу VPN это не влияет.
Автоматический выбор сервера
Один выбранный сервер может стать недоступным — тогда пропадёт интернет у всей сети. Надёжнее отдать выбор PassWall2: он сам проверяет серверы подписки и уходит с неработающего на рабочий. Настраивается один раз.
-
Вкладка «Список узлов» → «Добавить». В «Описание узла» впишите, например,
Авто, «Тип» — Xray, «Протокол» — «Балансировка». Нажмите «Сохранить»: только после этого появятся нужные поля.
-
«Способ добавления узлов» — «Пакетно», в «Выберите группу» отметьте группу вашей подписки, «Алгоритм балансировки» —
leastPing(выбирать самый быстрый сервер). Нажмите «Применить».
-
Вернитесь в «Общие параметры», откройте список «Узел», наберите в поиске
Авто, выберите свой узел и нажмите «Применить».
Когда подписка обновится, ничего перевыбирать не нужно: узел сам подхватывает все серверы из группы.
Одна запись «App not supported» вместо серверов
Так выглядит ответ сервиса, когда он не узнал устройство: в журнале
«количество узлов: 1», а в «Списке узлов» одна запись с адресом 0.0.0.0.
Откройте подписку кнопкой «Изменить», проверьте, что стоит галочка
«Отправлять HWID», нажмите «Применить» и ещё раз «Ручное обновление
подписки». После этого заново выберите сервер в «Общих параметрах»: на время заглушки
PassWall2 переключает «Узел» на служебную запись.
Если вместо серверов пришла запись «Limit of devices reached», к подписке уже подключено максимальное число устройств. Роутер считается ещё одним устройством — для него нужно освободить одно место, после чего обновить подписку снова.
Как обновлять подписку потом
Вручную — кнопкой «Ручное обновление подписки» на вкладке «Подписки». Чтобы не делать этого руками, откройте подписку кнопкой «Изменить» и выберите «Режим автоматического обновления»: например, «Ежедневно» и время, когда сетью почти не пользуются.
Частые вопросы
Что такое HWID и зачем его отправлять?
Это идентификатор устройства, который программа передаёт сервису вместе с запросом подписки. По нему сервис считает, сколько устройств подключено. PassWall2 вычисляет его из адреса сетевой карты и модели роутера, поэтому у одного роутера он всегда один и тот же и занимает одно место в лимите.
Подойдёт ли мой роутер?
Найдите свою модель в таблице оборудования OpenWrt и проверьте четыре пункта:
- Есть OpenWrt 25.12. Инструкция написана под эту версию.
- Встроенная память (Flash) — от 256 МБ, или eMMC, или карта памяти. Тогда после установки OpenWrt останется больше 100 МБ под пакеты. На моделях со 128 МБ, например Xiaomi AX3000T, свободно меньше 100 МБ: поместится ли туда всё нужное, мы не проверяли.
- Оперативная память (RAM) — от 256 МБ, лучше 512 МБ. На нашей проверке роутер с PassWall2 и подпиской занимал около 150 МБ.
- Для архитектуры роутера есть репозиторий PassWall2. Для OpenWrt 25.12 он собран почти для всех: aarch64_cortex-a53, aarch64_cortex-a72, aarch64_generic, arm_cortex-a7_neon-vfpv4, arm_cortex-a15_neon-vfpv4, mipsel_24kc, mips_24kc и других. Как узнать архитектуру — в шаге про репозиторий PassWall2.
Роутеры с 8–32 МБ встроенной памяти не подойдут: один только Xray с базами адресов весит около 21 МБ даже в сжатом виде.
По этим пунктам подходят, например, такие модели. Сама инструкция на этих моделях не проверялась.
- GL.iNet GL-MT6000 — eMMC 8 ГБ, RAM 1 ГБ;
- GL.iNet GL-MT3000 — Flash 256 МБ, RAM 512 МБ;
- ASUS TUF-AX4200 — Flash 256 МБ, RAM 512 МБ;
- Xiaomi AX3600 — Flash 256 МБ, RAM 512 МБ;
- Dynalink DL-WRX36 — Flash 256 МБ, RAM 1 ГБ;
- Linksys MX4200 — Flash 512 МБ, RAM 512 МБ (v1) или 1 ГБ (v2);
- NanoPi R5S и Raspberry Pi 4 — мини-компьютеры: система на eMMC или карте памяти, RAM от 1 ГБ.
Если на вашей модели OpenWrt ещё не стоит, ещё раз прочитайте предупреждение в начале страницы.
Почему после перезагрузки VPN включается не сразу?
PassWall2 по умолчанию запускается через минуту после загрузки роутера, чтобы успел подняться интернет. Задержка меняется в «Дополнительные настройки» → «Отложенный запуск».
Нужен ли пакет sing-box?
Для подписки с серверами VLESS и Hysteria 2 — нет: оба протокола PassWall2 подключает через тот же Xray. Без sing-box на роутере экономится около 56 МБ.
Для какой версии написана инструкция?
Проверено на OpenWrt 25.12.5, PassWall2 26.10.1 и Xray 26.9.30. Версию OpenWrt видно на странице «Статус» → «Обзор», версии PassWall2 и Xray — на вкладке «Обновление компонентов».
Нужен рабочий доступ?
DarkyVS — есть тестовый доступ на сутки. Windows, Android, iOS и macOS.
Перейти на DarkyVS