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

/articles/ax3000t/images/feature.png

Дисклеймер: Материл носит исключительно информационный характер. Автор не призывает к каким-либо действиям.

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


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

Я постарался сделать инструкцию максимально простой, ведь самую мучительную часть мы выполним одним готовым скриптом, но если вам будет интересно, в дальнейшем можем разобрать и ручную настройку.
Кроме того, хоть конкретика относится только к упомянутому роутеру, саму суть можно применить к любому другому, который поддерживает перепрошивку под OpenWRT, поэтому если у вас уже есть какой-то маршрутизатор дома, проверьте в тырнете (клик) его потенциал в этом направлении, вдруг повезёт.

Вопрос-ответ

- Зачем нужен VPN на роутере?
- К примеру, можно будет смотреть ютуб на телевизоре, который медленно работает из-за “устаревания оборудования серверов”. Также кому-то может оказаться очень удобным подключаться к WI-FI и заходить на сайты, ограниченные для пользователей из РФ (и только 😉) без включения VPN непосредственно на устройстве.

- OpenWRT — это что?
- Бесплатная ОС на основе Linux для роутеров. Перепрошив ей свой маршрутизатор, вы разблокируете все его возможности вплоть до установки готовой конфигурации VPN.

- А sing-box — что такое?
- Универсальная прокси-платформа по типу Xray, с помощью которой создаются прокси-сервера с различными протоколами.

- Зачем роутеры создают две сети?
- Сегодня большинство даже бюджетных роутеров являются двухдиапазонными, т.е. работают на двух частотах: 2.4 ГГц и 5 ГГц. Для каждой частоты нужно своё соединение. Раньше использовали только 2.4 ГГц, но со временем куча роутеров, работающих на одной частоте, начали перебивать сигналы друг друга, что снижало скорость соединения. Для решения проблемы придумали 5 ГГц. Особенностью последней частоты является более высокая скорость, но в то же время она покрывает меньшую площадь.

- Я закирпичил роутер…
- Без паники, скорее всего не всё потеряно. Переходите в раздел Восстановление роутера

- Ничего не получается.. что делать?
- Лучшим решением будет просмотреть соответствующие ветки форумов: русскоязычный 4PDA и англоязычный OpenWRT. Либо напишите мне в тг, постараюсь помочь :)

Что понадобится

  1. Роутер, поддерживающий перепрошивку под OpenWRT
  2. VPS сервер с 3X-UI на нём. Если ещё не обзавелись этим чудом, читайте предыдущий гайд
  3. Другой роутер, который наверняка стоит у вас сейчас и раздаёт интернетные синусоиды, если нет, то просто кабель от провайдера

Приступим!

Опасность
Все действия вы выполняете на свой страх и риск! Я не несу ответственности за них, а лишь преподношу информацию. Перепрошивать или нет — решать вам

Авторизация в сети

Первым делом нужно включить интернет на родной прошивке. Для этого патч-кордом, который лежал в коробке (ну или любым другим), соединяем WAN-порт роутера (ближайший порт к питанию — отмечен на картинке ниже) с пк. Не забываем воткнуть кабель провайдера (или соединить с другим роутером) в любой другой порт. Включаем роутер в розетку и ждём, пока не замигает оранжевый диод.

/articles/ax3000t/images/router1.png

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

/articles/ax3000t/images/MiNet.png

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

Инфо
Если прошивка роутера глобальная, интерфейс будет на английском языке, иначе — на китайском. В первом случае вам потребуется выбрать ваш регион по кнопке “Click to select” в нижней части экрана
/articles/ax3000t/images/miwifi1.png

Ставим галочки и жмём большую синюю кнопку.

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

/articles/ax3000t/images/miwifi2.png

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

/articles/ax3000t/images/miwifi3.png

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

/articles/ax3000t/images/miwifi4.png

Интернет готов, можем проверить это, подключившись к созданной сети и зайдя на любой сайт.

Уточнение деталей

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

Для начала нам нужно узнать, какая память стоит в роутере. Смотрим на картинку и светим в отмеченное место фонариком. Попытайтесь разглядеть, что написано на небольшом чёрном чипе. У меня Winbond.

/articles/ax3000t/images/router2.png

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

/articles/ax3000t/images/miwifi5.png

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

/articles/ax3000t/images/miwifi6.png

Самую актуальную информацию по установке прошивки на разные версии и чипы можно найти на официальном сайте OpenWRT, особое внимание обращайте на предупреждения вверху страницы. На момент написания статьи особенности такие:

  1. 1.0.31. Рекомендуется сначала обновиться до 1.0.49. Как это сделать, рассказано здесь. Да, параграф про восстановление, но вы можете скачать официальную прошивку 1.0.49 и установить её по описанной инструкции.

    Инфо
    ВАЖНО! Вообще я успешно перепрошил 1.0.31 без обновления, поэтому можете пропустить этот шаг
  2. 1.0.90 и выше — лучше откатиться на более старую 1.0.49 по тому же пункту “Восстановление”, потому что мне не удалось прошить тем способом, о котором дальше будет идти речь.

  3. Чип Winbond или Foresee. Рекомендуется использовать OpenWRT версии 24.10.X

  4. Чип ESMT. Определённо OpenWRT версии 23.05.X.

По сути для большинства случаев сейчас есть универсальное решение — кастомная прошивка, которая учитывает тип свитча, памяти и версии. Но на счёт чипа я всё же рекомендую ориентироваться на документацию OpenWRT, то есть будем качать версию прошивки, основываясь на чипе памяти:

/articles/ax3000t/images/hardwares.png

Перепрошивка

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

/articles/ax3000t/images/custom_firmware.png

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

/articles/ax3000t/images/xmir-patcher1.png

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

/articles/ax3000t/images/xmir-patcher2.png

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

/articles/ax3000t/images/python.png

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

/articles/ax3000t/images/xmir-patcher3.png

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

/articles/ax3000t/images/xmir-patcher4.png

По окончании процесса нажмите “7” -> Enter. Немного ждём…
Если вы видите строки в конце по типу

1
2
3
The firmware has been successfully flashed!
Send command "reboot" via SSH/Telnet ...
Forced REBOOT Activated!

…поздравляю, у вас всё получилось! Роутер перепрошит :)

Настройка OpenWRT

После перепрошивки у нас появятся два соединения со следующими названиями:

/articles/ax3000t/images/new_connections.png

Подключаемся к любому из них с паролем 12345678.

Переходим по адресу 192.168.1.1 и попадаем в панель управления прошивкой:

/articles/ax3000t/images/openwrt1.png

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

/articles/ax3000t/images/openwrt2.png

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

/articles/ax3000t/images/openwrt3.png

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

/articles/ax3000t/images/openwrt4.png

Как только сети появились, подключаемся к ним снова.

Предупреждение
Если ваш пк автоматически подключается к другой WI-FI сети, переподключайтесь обратно к сети роутера Xiaomi AX3000T, иначе зайти в панель не удастся

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

/articles/ax3000t/images/openwrt5.png

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

Инфо
Чтобы получить одну сеть из двух, поставьте им одинаковые “ESSID” в настройках
/articles/ax3000t/images/openwrt6.png
/articles/ax3000t/images/openwrt7.png

Настройка маршрутизации

Осталось совсем немного. Открываем командную строку, PowerShell, MobaXterm или любую другую программу для подключения по SSH.

Предупреждение
На этом этапе воткните провод от провайдера в WAN-порт роутера (ближайший к питанию)

Пишем ssh root@192.168.1.1 -> yes -> вставляем придуманный ранее пароль для root правой кнопкой мыши.

/articles/ax3000t/images/ssh.png

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

1
sh <(wget -O - https://raw.githubusercontent.com/itdoginfo/domain-routing-openwrt/master/getdomains-install.sh)

Должны увидеть следующее:

/articles/ax3000t/images/script1.png

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

Предупреждение
Если после всех последующих процедур интернет так и не заработает, попробуйте заново установить скрипт, заранее откатившись на дефолтную OpenWRT (“System” -> “Reset to defaults” -> “Perform reset” в панели управления OpenWRT). На шаге выбора утилиты для обхода подмены DNS выберите “1” (No)

По окончании процесса нас дисконектит, поскольку роутер ушёл в перезагрузку.

/articles/ax3000t/images/script2.png

Подключение VPN

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

/articles/ax3000t/images/3x-ui.png
Инфо
Нет Nekobox? Можно скачать с github разработчика (будет называться “nekoray”). Выбираем последнюю версию для Windows в Assets -> разархивируем в любую папку -> активируем nekobox.exe.
/articles/ax3000t/images/nekobox1.png

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

/articles/ax3000t/images/nekobox2.png

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

/articles/ax3000t/images/config1.png

Обратно в терминал. Тут открываем конфиг нашего sing-box: nano /etc/sing-box/config.json и удаляем имеющиеся outbounds. На их место вставляем наши сохранённые. Выглядеть должно это так (обратите внимание на наличие запятой после “]”):

Предупреждение
Если открытый файл оказался пустым, проверьте, точно ли по этому пути лежит конфиг. Узнать можно через команду nano /etc/config/sing-box — в строке “option conffile” будет указан путь до нужного нам файла
/articles/ax3000t/images/config2.png

После сохранения изменений (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’ вы вставляете нужный домен. Примерно так это будет выглядеть:

/articles/ax3000t/images/config3.png

Аналогично сохраняем и выходим, после перезапускаем firewall и dnsmasq: service firewall restart && service dnsmasq restart. Теперь, если зайдём на 2ip.ru, мы увидим, что он определяет нас как Эстонцев 😎

Восстановление роутера

К сожалению, так случается, что роутер становится нерабочим после неудачной попытки перепрошивки. Но, к счастью, в ситуации с Xiaomi (по-крайней мере с AX3000T точно) данную проблему можно решить.

  1. Первым делом качаем MIWIFIRpairTool. Найти ссылку можно здесь (скорее всего придётся зарегистрироваться на форуме). Само скачивание совершаем так: ПКМ на первую со скрина MIWIFIRepairTool -> копировать адрес ссылки -> вставляем ссылку в Edge. Браузеры типа Chrome будут блокировать скачивание из-за нестандартности ПО внутри архива.
/articles/ax3000t/images/recovery_4pda.png
  1. Подключаем патч-корд в WAN-порт (ближайший порт к питанию) роутера одним концом, и к пк другим. Качаем родную версию прошивки тут в столбце “Stock Firmware URL”, либо 1.0.49, если родная 1.0.31. Отключаем WI-FI на пк, затем заходим в настройки и редактируем сетевой интерфейс: для Windows 11 это Сеть и Интернет -> Ethernet -> Назначение IP -> Редактировать.

    /articles/ax3000t/images/recovery_settings1.png

    Включаем IPv4 и вбиваем IP: 192.168.31.100 и маску: 255.255.255.0 -> Сохранить.

    /articles/ax3000t/images/recovery_settings2.png
  2. Открываем скаченную программу.. хм, как-то много “вопросиков”.. но это нормально, просто китайские символы не распознаются. Нажимаем на “вопросики” в первой строке и выбираем скаченную прошивку.

    Опасность
    Путь до файла должен быть указан исключительно на латинице, то есть имя пользователя должно быть на английском. Если это не так, перекиньте прошивку в корневую папку диска C:
    /articles/ax3000t/images/recovery_miwifi1.png

    Далее жмём на правую нижнюю кнопку, в выпадающем меню выбираем Ethernet -> 192.168.31.100.

    /articles/ax3000t/images/recovery_miwifi2.png

    Снова самая правая кнопка снизу.

    А вот сейчас взаимодействие с роутером: отсоединяем кабель питания; зажимаем кнопку reset; не отпуская кнопку вставляем кабель питания обратно и ждём пока быстро не замигает оранжевый светодиод (опять же, кнопка reset зажата).

    /articles/ax3000t/images/router_last.png
  3. Роутер заморгал, значит кнопку можно отпустить. MIWIFIRepairTool покажет процесс загрузки, после окончания которого программу можно закрывать. Ждём, пока роутер быстро не замигает синим цветом.

    Снова отключаем и включаем питание. После этого диод должен медленно замигать оранжевым.

Вуаля! Можно начинать прошивку сначала :)

The end

Вот гайд и подошёл к концу. Надеюсь, я смог вам помочь 🙂. Всем до скорого, и спасибо, что читаете!

Поддержать автора
NoisyCake cloudtipscloudtips
0%