Обновить OpenWrt несложно, но именно на этом шаге новички чаще всего теряют связь с роутером: пропадает Wi-Fi, слетают VPN-пакеты, а восстановленный «не глядя» бэкап ломает систему. Это руководство проведёт вас через безопасное обновление прошивки OpenWrt: бэкап, sysupgrade, Firmware Selector с готовыми пакетами и скрипт, который сам поднимет Wi-Fi после обновления.

Главные риски: потеря связи с роутером, «кирпич», слетевшие пакеты. Золотое правило этой статьи: обновляемся только по кабелю и только с бэкапом. Время на процедуру — 15–40 минут.

Что нужно понять до начала

  • sysupgrade.bin vs factory.bin: для обновления уже установленного OpenWrt нужен sysupgrade.bin. factory.bin — только для первого перехода со стоковой прошивки.
  • «Keep settings» — сохранение настроек при обновлении. Часто именно оно ломает систему.
Тип обновленияПримерСохранять настройки?Пакеты
Минорное24.10.0 → 24.10.5обычно можнослетают всегда
Мажорное23.05 → 24.10нельзяслетают всегда
При мажорном обновлении настройки сохранять НЕЛЬЗЯ: формат конфигов между ветками меняется, и старые настройки ломают новую систему. Мажорное обновление = чистая установка + настройка заново.

Что всегда слетает при любом обновлении: все установленные вручную пакеты — podkop, sing-box, AmneziaWG, драйверы модема, luci-i18n-base-ru. Их придётся ставить заново.

Шаг 1. Собираем информацию о роутере

ssh root@192.168.1.1
ubus call system board
cat /etc/openwrt_release

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

opkg list-installed > /tmp/pkgs-before.txt
# на apk-системах: apk list --installed > /tmp/pkgs-before.txt

Скачайте этот список на ПК (scp root@192.168.1.1:/tmp/pkgs-before.txt .).

Шаг 2. Делаем бэкап (не пропускать!)

Через LuCI: System → Backup / Flash Firmware → Generate archive. Через SSH:

sysupgrade -b /tmp/backup-$(date +%F).tar.gz

Скачайте архив на компьютер:

scp root@192.168.1.1:/tmp/backup-*.tar.gz .
Что входит в бэкап: содержимое /etc/config, ключи /etc/dropbear и файлы, перечисленные в /etc/sysupgrade.conf. Что НЕ входит: сами пакеты и бинарники (sing-box, kmod-модули). Поэтому VPN после восстановления бэкапа не заработает, пока не переустановите пакеты.

Чтобы добавить в бэкап свои файлы (например, конфиги, лежащие вне /etc/config), пропишите их пути в /etc/sysupgrade.conf. Отдельно сохраните в текстовый файл на ПК: VPN-ссылки, ключи AmneziaWG, конфиги podkop — это самое ценное, и восстанавливать его удобнее вручную.

Проверьте, что бэкап реально скачался и открывается (архив `.tar.gz` должен открываться архиватором). Бэкап, оставшийся только на роутере, при неудачном обновлении пропадёт вместе с ним.

Шаг 3. Скачиваем прошивку через Firmware Selector

  1. Откройте firmware-selector.openwrt.org.
  2. Введите точную модель роутера и убедитесь, что нашли именно свою (сверьте с board_name из шага 1).
  3. Выберите версию. Новичку — последний stable (release), не snapshot и не RC.
  4. Скачивайте sysupgrade.bin (не factory).

Две главные фишки Firmware Selector:

  • Customize installed packages — сюда можно сразу вписать нужные пакеты, и они вошьются в прошивку (в итоге у вас останется больше памяти после прошивки). Готовый набор «для VPN-роутера» одной строкой:
sing-box kmod-inet-diag kmod-tun curl libmbedtls21 libnghttp2-14 jq kmod-nft-tproxy kmod-nft-core kmod-nfnetlink kmod-nf-reject kmod-nf-reject6 kmod-nf-conntrack6 kmod-nf-conntrack kmod-nf-nat kmod-nf-log kmod-nf-log6 kmod-lib-crc32c kmod-crypto-crc32c kmod-crypto-hash kmod-nf-tproxy kmod-nf-conntrack coreutils-base64 coreutils bind-dig bind-libs libopenssl3 zlib libpthread libgcc1 libatomic1 libuv1 librt liburcu libnghttp2-14 kmod-crypto-lib-chacha20 kmod-crypto-lib-poly1305 kmod-crypto-lib-chacha20poly1305 kmod-udptunnel4 kmod-udptunnel6 kmod-crypto-kpp kmod-crypto-lib-curve25519 luci-lib-uqr resolveip miniupnpd-nftables luci-app-upnp luci-i18n-upnp-ru luci-i18n-base-ru luci-i18n-firewall-ru luci-i18n-package-manager-ru attendedsysupgrade-common luci-i18n-attendedsysupgrade-ru lua luaposix libuci-lua
  • Script to run on first boot (uci-defaults) — скрипт, который выполнится один раз при первом старте новой прошивки. Именно он поднимет Wi-Fi автоматически (шаг 4).

Проверьте SHA256 скачанного файла:

# Windows (PowerShell)
Get-FileHash .\openwrt-*-sysupgrade.bin -Algorithm SHA256
OpenWrt Firmware Selector — выбор модели и версии прошивки Customize installed packages и uci-defaults в Firmware Selector

Шаг 4. Скрипт uci-defaults: чтобы Wi-Fi поднялся сам

Скрипт выполняется один раз при первом старте прошивки. Вставьте его в поле «Script to run on first boot» в Firmware Selector. Готовый вариант — Wi-Fi, пароль root и статический IP:

#!/bin/sh
# Включаем оба радиомодуля
uci set wireless.radio0.disabled='0'
uci set wireless.radio1.disabled='0'
# Настраиваем сеть 2.4 ГГц
uci set wireless.default_radio0.ssid='MyHomeWiFi'
uci set wireless.default_radio0.encryption='sae-mixed'
uci set wireless.default_radio0.key='МойНадёжныйПароль123'
# Настраиваем сеть 5 ГГц
uci set wireless.default_radio1.ssid='MyHomeWiFi'
uci set wireless.default_radio1.encryption='sae-mixed'
uci set wireless.default_radio1.key='МойНадёжныйПароль123'
# Страна для легальных каналов
uci set wireless.radio0.country='RU'
uci set wireless.radio1.country='RU'
uci commit wireless
# Пароль root
(echo 'МойПарольRoot'; sleep 1; echo 'МойПарольRoot') | passwd root
# Статический LAN IP
uci set network.lan.ipaddr='192.168.1.1'
uci commit network
wifi reload
exit 0

Разбор построчно: команды uci set wireless.*.disabled='0' включают радиомодули (в свежем OpenWrt они выключены); блоки ssid/encryption/key задают имя и пароль сети; country='RU' открывает разрешённые каналы; passwd root ставит пароль администратора; network.lan.ipaddr фиксирует адрес роутера; wifi reload применяет Wi-Fi.

Минимальный вариант (только поднять Wi-Fi, всё остальное настроите потом):

#!/bin/sh
uci set wireless.radio0.disabled='0'
uci set wireless.radio1.disabled='0'
uci commit wireless
wifi reload
exit 0
Ошибка в скрипте = роутер без Wi-Fi. Проверьте синтаксис: имена секций (radio0, default_radio0) должны совпадать с вашим /etc/config/wireless. На некоторых роутерах радиомодуль один (radio0) — тогда строки про radio1 уберите.

Шаг 5. Готовим рабочее место: только кабель

Обновляться по Wi-Fi нельзя: обрыв беспроводной связи в момент записи flash — прямой путь к кирпичу.

  1. Воткните патч-корд в LAN-порт роутера и в ПК.
  2. Выключите Wi-Fi перед обновлением:
uci set wireless.radio0.disabled='1'
uci commit wireless
wifi reload
  1. Настройте статический IP на ПК (192.168.1.10) — на случай, если DHCP новой прошивки не поднимется сразу.

Шаг 6. Обновление — способ 1: через LuCI (рекомендуется новичкам)

  1. System → Backup / Flash Firmware → Flash new firmware image.
  2. Снимите галку «Keep settings» при мажорном обновлении (при минорном — можно оставить).
  3. Загрузите sysupgrade.bin, проверьте контрольную сумму, которую покажет LuCI.
  4. Нажмите Continue и не трогайте роутер 3–5 минут. Он перезапишет flash и перезагрузится (возможно, дважды).
  5. Готовность: индикаторы вернулись в обычный режим, роутер отвечает на ping 192.168.1.1.

Шаг 7. Обновление — способ 2: через SSH и sysupgrade

# копируем прошивку на роутер
scp openwrt-*-sysupgrade.bin root@192.168.1.1:/tmp/
ssh root@192.168.1.1

# проверяем контрольную сумму на роутере
sha256sum /tmp/openwrt-*-sysupgrade.bin

# обновление БЕЗ сохранения настроек (мажорное)
sysupgrade -n /tmp/openwrt-*-sysupgrade.bin

# ИЛИ обновление С сохранением настроек (минорное)
# sysupgrade /tmp/openwrt-*-sysupgrade.bin

Флаг -n сбрасывает настройки. Флаг -F (force) заставляет прошить даже при несовпадении контрольной суммы/модели — им лучше не пользоваться, это частая причина кирпича у новичков.

Шаг 8. Обновление — способ 3: Attended Sysupgrade (в один клик)

Пакет luci-app-attendedsysupgrade умеет пересобрать прошивку с вашими текущими пакетами на сервере OpenWrt и прошить её одной кнопкой:

# Команда для версии OpenWRT 24.10 и ниже
opkg update && opkg install luci-app-attendedsysupgrade

# Команда для версии OpenWRT 25.12 и выше
apk update && apk add luci-app-attendedsysupgrade

Затем System → Attended Sysupgrade → Search for updates → Install. Плюс: сохраняет установленные пакеты. Не сработает, если сервер сборки недоступен или для модели нет автосборки.

Шаг 9. Первый вход после обновления

  1. Подключитесь на 192.168.1.1 (или на ваш статический IP из uci-defaults).
  2. Если сбрасывали настройки — задайте пароль root.
  3. Проверьте версию: cat /etc/openwrt_release.
  4. Проверьте, поднялся ли Wi-Fi (сработал ли скрипт).
  5. Настройте WAN (DHCP из коробки или PPPoE):
config interface 'wan'
	option device 'wan'
	option proto 'pppoe'
	option username 'логин_из_договора'
	option password 'пароль_из_договора'
  1. Проверьте интернет: ping 1.1.1.1 и nslookup openwrt.org.

Шаг 10. Восстановление настроек из бэкапа

Восстанавливать бэкап целиком можно только при минорном обновлении. При переходе между мажорными версиями — нельзя: конфиги несовместимы.

  • Через LuCI: Backup/Flash → Restore → Upload archive.
  • Через SSH: sysupgrade -r /tmp/backup.tar.gz && reboot.

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

cd /tmp && tar -xzf backup.tar.gz
# скопируйте из распакованного etc/config только нужное, например network/wireless/firewall
Не восстанавливайте /etc/config/podkop (и другие конфиги VPN) без переустановки самих пакетов. Конфиг без пакета приведёт к ошибкам при старте служб. Сначала пакет — потом его конфиг.

Шаг 11. Переустанавливаем пакеты (они слетели все)

Базовый набор одной строкой:

# OpenWrt 24.10 (opkg)
opkg update
opkg install luci-i18n-base-ru nano curl
# OpenWrt 25.12 (apk)
# apk update && apk add luci-i18n-base-ru nano curl

Затем верните VPN и драйверы по отдельным инструкциям:

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

Шаг 12. Финальная проверка

Чек-лист из 10 пунктов:

  • интернет есть (ping 1.1.1.1);
  • DNS работает (nslookup openwrt.org);
  • Wi-Fi 2.4 ГГц виден и подключается;
  • Wi-Fi 5 ГГц виден и подключается;
  • клиенты получают адрес (DHCP);
  • VPN поднимается и меняет IP;
  • скорость на уровне до обновления;
  • LuCI открывается;
  • SSH работает;
  • версия обновилась (cat /etc/openwrt_release).

Что делать, если роутер не отвечает после обновления

  1. Диагностика: пингуется ли 192.168.1.1 (проверьте кабель и статический IP на ПК).
  2. Failsafe-режим: при загрузке в нужный момент зажать Reset (мигание LED меняется) — способ входа на странице устройства в вики OpenWrt. В failsafe:
mount_root       # монтируем файловую систему
firstboot        # сброс к заводским настройкам OpenWrt (при необходимости)
reboot
  1. TFTP / U-Boot recovery — если система не грузится вообще (см. инструкции по прошивке Cudy / Netis).
  2. UART — крайний случай для продвинутых.

Как обновляться правильно в будущем: короткий регламент

Бэкап → выгрузить список пакетов → Firmware Selector с пакетами и uci-defaults скриптом → подключиться кабелем → sysupgrade -n → частичное восстановление конфигов → переустановить пакеты → проверка по чек-листу.

Стоит ли обновляться на каждый релиз? Нет. Минорные обновления в рамках ветки (24.10.x) — по желанию (безопасность, багфиксы). Мажорные — когда ветка стабилизируется и вам нужны её возможности.

Часто задаваемые вопросы (FAQ)

Обязательно ли сбрасывать настройки при обновлении? При мажорном (23.05 → 24.10) — да, обязательно. При минорном (24.10.0 → 24.10.5) — обычно можно сохранить.

Почему после обновления пропал Wi-Fi? В свежей прошивке радиомодули выключены по умолчанию. Решение — скрипт uci-defaults (шаг 4) или включение вручную.

Почему слетели podkop / sing-box / AmneziaWG? Обновление затирает overlay-раздел со всеми пакетами. Это нормально — переустановите их (шаг 11).

Можно ли обновиться по Wi-Fi, если нет кабеля? Крайне не рекомендуется: обрыв связи при записи = кирпич. Найдите кабель.

Можно ли восстановить бэкап от 22.03 в 24.10? Нет, целиком нельзя — конфиги несовместимы. Только частично, вручную выбирая отдельные файлы.

Snapshot или stable — что выбрать? Новичку — только stable. Snapshot собирается ежедневно, без LuCI по умолчанию и может содержать баги.

Обновление сбросит пароль от Wi-Fi? При сбросе настроек — да. Задайте его заново вручную или через uci-defaults скрипт.

Что делать, если не хватает места на пакеты? Соберите прошивку с нужными пакетами через Firmware Selector (они вшиваются, не занимая overlay), либо настройте extroot на USB.

Как откатиться на предыдущую версию OpenWrt? Тем же sysupgrade, но с образом старой версии и обязательно с флагом -n (сброс настроек). Учтите: откат мажорной версии тоже требует чистой настройки.

Заключение

Безопасное обновление OpenWrt — это дисциплина, а не удача: бэкап, кабель, sysupgrade -n при мажорном апдейте, скрипт для Wi-Fi и переустановка пакетов. Соберите прошивку через Firmware Selector с вшитыми пакетами — и половина проблем отпадёт. После обновления вернитесь к инструкциям по podkop, AmneziaWG и sing-box, чтобы восстановить VPN.