VPN на домашнем роутере | Xiaomi AX3000T

Дисклеймер: Материл носит исключительно информационный характер. Автор не призывает к каким-либо действиям.
Статья-гайд, посвящённая перепрошивке и подключении к прокси наиболее популярного роутера под VPN на данный момент.
Привет! Вы просили, мы старались :)
Сегодня посмотрим, как поставить VPN на роутер на примере довольно бюджетного Xiaomi AX3000T, причём с раздельным проксированием, то есть вы сможете выбрать, на какие именно сайты нужно ходить через прокси.
Я постарался сделать инструкцию максимально простой, ведь самую мучительную часть мы выполним одним готовым скриптом, но если вам будет интересно, в дальнейшем можем разобрать и ручную настройку.
Кроме того, хоть конкретика относится только к упомянутому роутеру, саму суть можно применить к любому другому, который поддерживает перепрошивку под OpenWRT, поэтому если у вас уже есть какой-то маршрутизатор дома, проверьте в тырнете (клик) его потенциал в этом направлении, вдруг повезёт.
Вопрос-ответ
- Зачем нужен VPN на роутере?
- К примеру, можно будет смотреть ютуб на телевизоре, который медленно работает из-за “устаревания оборудования серверов”. Также кому-то может оказаться очень удобным подключаться к WI-FI и заходить на сайты, ограниченные для пользователей из РФ (и только 😉) без включения VPN непосредственно на устройстве.
- OpenWRT — это что?
- Бесплатная ОС на основе Linux для роутеров. Перепрошив ей свой маршрутизатор, вы разблокируете все его возможности вплоть до установки готовой конфигурации VPN.
- А sing-box — что такое?
- Универсальная прокси-платформа по типу Xray, с помощью которой создаются прокси-сервера с различными протоколами.
- Зачем роутеры создают две сети?
- Сегодня большинство даже бюджетных роутеров являются двухдиапазонными, т.е. работают на двух частотах: 2.4 ГГц и 5 ГГц. Для каждой частоты нужно своё соединение. Раньше использовали только 2.4 ГГц, но со временем куча роутеров, работающих на одной частоте, начали перебивать сигналы друг друга, что снижало скорость соединения. Для решения проблемы придумали 5 ГГц. Особенностью последней частоты является более высокая скорость, но в то же время она покрывает меньшую площадь.
- Я закирпичил роутер…
- Без паники, скорее всего не всё потеряно. Переходите в раздел Восстановление роутера
- Ничего не получается.. что делать?
- Лучшим решением будет просмотреть соответствующие ветки форумов: русскоязычный 4PDA и англоязычный OpenWRT. Либо напишите мне в тг, постараюсь помочь :)
Что понадобится
- Роутер, поддерживающий перепрошивку под OpenWRT
- VPS сервер с 3X-UI на нём. Если ещё не обзавелись этим чудом, читайте предыдущий гайд
- Другой роутер, который наверняка стоит у вас сейчас и раздаёт интернетные синусоиды, если нет, то просто кабель от провайдера
Приступим!
Авторизация в сети
Первым делом нужно включить интернет на родной прошивке. Для этого патч-кордом, который лежал в коробке (ну или любым другим), соединяем WAN-порт роутера (ближайший порт к питанию — отмечен на картинке ниже) с пк. Не забываем воткнуть кабель провайдера (или соединить с другим роутером) в любой другой порт. Включаем роутер в розетку и ждём, пока не замигает оранжевый диод.

Смотрим на доступные сети. Нам нужен rd23_minet_bbc3
. Ладно, можете тихо улыбнуться…

В браузере у нас должна открыться следующая вкладка. Если нет, вбейте в поисковую строку router.miwifi.com
.

Ставим галочки и жмём большую синюю кнопку.
В следующем окне нам нужно прописать пароль администратора для входа в дефолтную панель управления. Неважно какой, поскольку мы будем перепрошивать, поэтому вбиваем что-то максимально простое и соответствующее критериям.

Название сети можем оставить по умолчанию, пароль также делаем самым простеньким. Опять же, позже всё равно придётся менять.
Галочку с автоматическим обновление прошивки (первая) лучше убрать!

Если всё получилось, мы увидим такое окошко с характеристиками нашего подключения. Можете оставить эту вкладку, чтобы подсмотреть пароли при необходимости.

Интернет готов, можем проверить это, подключившись к созданной сети и зайдя на любой сайт.
Уточнение деталей
И сразу напасть: версий прошивки Xiaomi AX3000T бывает несколько, и с каждой действия могут немного отличаться. Более того, в разных роутерах стоят разные чипы памяти и свитчи, от которых тоже зависит процесс перепрошивки. Так что же делать?
Для начала нам нужно узнать, какая память стоит в роутере. Смотрим на картинку и светим в отмеченное место фонариком. Попытайтесь разглядеть, что написано на небольшом чёрном чипе. У меня Winbond.

Теперь заходим в панель управления по адресу 192.168.31.1. Пишем админский пароль, установленный ранее.

Игнорируем уведомление об обновлении, если таково присутствует. Смотрим текущую версию прошивки, которая указана в левой части экрана (отмечено на скрине далее).

Самую актуальную информацию по установке прошивки на разные версии и чипы можно найти на официальном сайте OpenWRT, особое внимание обращайте на предупреждения вверху страницы. На момент написания статьи особенности такие:
1.0.31. Рекомендуется сначала обновиться до 1.0.49. Как это сделать, рассказано здесь. Да, параграф про восстановление, но вы можете скачать официальную прошивку 1.0.49 и установить её по описанной инструкции.
ИнфоВАЖНО! Вообще я успешно перепрошил 1.0.31 без обновления, поэтому можете пропустить этот шаг1.0.90 и выше — лучше откатиться на более старую 1.0.49 по тому же пункту “Восстановление”, потому что мне не удалось прошить тем способом, о котором дальше будет идти речь.
Чип Winbond или Foresee. Рекомендуется использовать OpenWRT версии 24.10.X
Чип ESMT. Определённо OpenWRT версии 23.05.X.
По сути для большинства случаев сейчас есть универсальное решение — кастомная прошивка, которая учитывает тип свитча, памяти и версии. Но на счёт чипа я всё же рекомендую ориентироваться на документацию OpenWRT, то есть будем качать версию прошивки, основываясь на чипе памяти:

Перепрошивка
И-так, как я уже упомянул, у меня чип Winbond, поэтому я установлю версию OpenWRT 24.10. Качать будем кастомную прошивку от remittor (он же acdev на 4PDA). Выбираем архив для AX3000T нужной версии, качаем на пк и разархивируем в какую-нибудь папку.

Качаем Xmir-patcher — прошивальщик роутеров Xiaomi от того же remittor. Для этого нажимаем на зелёную кнопку Code
-> Download ZIP
. Также разархивируем.

Берём файл с расширением UBI из нашей прошивки и перемещаем его в папку xmir-patcher-main/firmware

Если у вас не установлен интерпретатор Python, нужно это сделать. Для Windows: заходим на официальный сайт, качаем последнюю версию и запускаем. Отметьте галочками пункт “Add python.exe to PATH” и установите.

Возвращаемся в xmir-patcher и запускаем, открывая run.bat
. Не пугаемся командой строки! Здесь всё просто. Для начала сверимся, что IP-адрес в первом пункте совпадает с IP нашего роутера. Если нет, пишем “1” -> Enter
-> указываем верный IP. С вероятностью 99,9% у вас, как и у меня, 192.168.31.1.

Теперь пишем “2” -> Enter
— запустится установка эксплоита на роутер. В терминале должно отобразиться следующее:

По окончании процесса нажмите “7” -> Enter
. Немного ждём…
Если вы видите строки в конце по типу
|
|
…поздравляю, у вас всё получилось! Роутер перепрошит :)
Настройка OpenWRT
После перепрошивки у нас появятся два соединения со следующими названиями:

Подключаемся к любому из них с паролем 12345678
.
Переходим по адресу 192.168.1.1 и попадаем в панель управления прошивкой:

Жмём логин. Нас встречает информация о роутере, соединении и т.п. Первое, что нужно сделать — это обновиться. Для этого жмём на синюю кнопку во втором предупреждении сверху “Go to firmware upgrade…”

Мотаем вниз и жмём “Flash image” -> “Browse” -> Выбираем файл со скаченной прошивки с названием openwrt-24.10.0-rc5-250113-xiaomi_mi-router-ax3000t-sysupgrade.bin
-> “Upload”.

Убираем первую галочку -> “Continue” и ждём окончания обновления.

Как только сети появились, подключаемся к ним снова.
Сменим root-пароль. Для этого тыкаем на другую синюю кнопку в оставшемся предупреждении. В идеале придумайте сложный пароль и запишите его. Для таких целей лично я пользуюсь KeePass.

Можно также настроить имена и пароли WI-FI сетей: идём в “Network” -> “Wireless” -> “Edit” на любой ячейке, начинающейся с “SSID”. Устанавливаем нужные параметры и нажимаем “Save” (пароль настраивается в “Wireless Security”). Повторяем эти действия для второй сети.


Настройка маршрутизации
Осталось совсем немного. Открываем командную строку, PowerShell, MobaXterm или любую другую программу для подключения по SSH.
Пишем ssh root@192.168.1.1
-> yes
-> вставляем придуманный ранее пароль для root правой кнопкой мыши.

Настраивать это дело будем автоматически с помощью скрипта от itdog. Вставляем в терминал:
|
|
Должны увидеть следующее:

Выбираем Sing-box (если пользуемся VLESS/SS/Trojan), прописывая “3” в консоли. Затем выбираем утилиту для обхода подмены DNS провайдером. На AX3000T ставим Stubby (т.к. он более легковесный), также прописывая “3”. И, наконец, выбираем свой регион. Таким образом установятся файлы с прописанными доменами залоченных в РФ и для пользователей из РФ сайтов.
По окончании процесса нас дисконектит, поскольку роутер ушёл в перезагрузку.

Подключение VPN
Переходим в нашу панель 3x-ui. В разделе “Подключения” создаём новое подключение / добавляем пользователя в уже существующее. Копируем обычную ссылку (не подписку, хотя может и она будет работать) и вставляем её в Nekobox Ctrl + V
.


После того, как вставили ссылку, появилось подключение. ПКМ -> “Поделиться” -> “Экспортировать конфиг sing-box”.

Переходим в любой удобный текстовый редактор и вставляем скопированный конфиг. Нам нужны только “outbounds”, поэтому остальное удаляем. Также можно удалить и “tags” из самих outbounds. Должно получиться что-то такое:

Обратно в терминал. Тут открываем конфиг нашего sing-box: nano /etc/sing-box/config.json
и удаляем имеющиеся outbounds. На их место вставляем наши сохранённые. Выглядеть должно это так (обратите внимание на наличие запятой после “]”):
nano /etc/config/sing-box
— в строке “option conffile” будет указан путь до нужного нам файла
После сохранения изменений (Ctrl + O
-> Enter
-> Ctrl + X
) можем перезапустить сервис командой service sing-box restart
. Если в ответе видим “running” — уже хорошо.
ГОТОВО! Вам открыт весь (ну почти) интернет! Проверьте, получается ли зайти в chatgpt.com и грузятся ли видео в youtube.com. Если да, то поздравляю 🥳
Свои правила маршрутизации
Вот скачали мы список, не факт ведь, что там перечислены все сайты, к которым нет доступа? Далеко не факт. Поэтому можно добавить и свои домены, которые мы хотели бы посещать через прокси.
Пишем nano /etc/config/dhcp
. Перемещаемся в самый низ и пишем следующую строку: config ipset
. На следующей строке вы пишете <Tab>list name 'vpn_domains'
, а в последующих, начиная с клавиши Tab
, должны стоять текста типа list domain 'nelzagram.com'
, где вместо ’nelzagram.com’ вы вставляете нужный домен. Примерно так это будет выглядеть:

Аналогично сохраняем и выходим, после перезапускаем firewall и dnsmasq: service firewall restart && service dnsmasq restart
. Теперь, если зайдём на 2ip.ru, мы увидим, что он определяет нас как Эстонцев 😎
Восстановление роутера
К сожалению, так случается, что роутер становится нерабочим после неудачной попытки перепрошивки. Но, к счастью, в ситуации с Xiaomi (по-крайней мере с AX3000T точно) данную проблему можно решить.
- Первым делом качаем MIWIFIRpairTool. Найти ссылку можно здесь (скорее всего придётся зарегистрироваться на форуме). Само скачивание совершаем так: ПКМ на первую со скрина MIWIFIRepairTool -> копировать адрес ссылки -> вставляем ссылку в Edge. Браузеры типа Chrome будут блокировать скачивание из-за нестандартности ПО внутри архива.

Подключаем патч-корд в WAN-порт (ближайший порт к питанию) роутера одним концом, и к пк другим. Качаем родную версию прошивки тут в столбце “Stock Firmware URL”, либо 1.0.49, если родная 1.0.31. Отключаем WI-FI на пк, затем заходим в настройки и редактируем сетевой интерфейс: для Windows 11 это Сеть и Интернет -> Ethernet -> Назначение IP -> Редактировать.
Включаем IPv4 и вбиваем IP:
192.168.31.100
и маску:255.255.255.0
-> Сохранить.Открываем скаченную программу.. хм, как-то много “вопросиков”.. но это нормально, просто китайские символы не распознаются. Нажимаем на “вопросики” в первой строке и выбираем скаченную прошивку.
ОпасностьПуть до файла должен быть указан исключительно на латинице, то есть имя пользователя должно быть на английском. Если это не так, перекиньте прошивку в корневую папку диска C:Далее жмём на правую нижнюю кнопку, в выпадающем меню выбираем Ethernet -> 192.168.31.100.
Снова самая правая кнопка снизу.
А вот сейчас взаимодействие с роутером: отсоединяем кабель питания; зажимаем кнопку reset; не отпуская кнопку вставляем кабель питания обратно и ждём пока быстро не замигает оранжевый светодиод (опять же, кнопка reset зажата).
Роутер заморгал, значит кнопку можно отпустить. MIWIFIRepairTool покажет процесс загрузки, после окончания которого программу можно закрывать. Ждём, пока роутер быстро не замигает синим цветом.
Снова отключаем и включаем питание. После этого диод должен медленно замигать оранжевым.
Вуаля! Можно начинать прошивку сначала :)
The end
Вот гайд и подошёл к концу. Надеюсь, я смог вам помочь 🙂. Всем до скорого, и спасибо, что читаете!
