Прошивка, которую производитель кладёт на маршрутизатор, обычно перестаёт обновляться через пару лет после выхода модели, да и список её возможностей написан маркетологом больше, чем инженером. OpenWrt меняет правила: открытая система с пакетным менеджером, текстовыми конфигурациями и веб-интерфейсом Люси превращает железку в полноценный маленький сервер. Разберём реальную установку, первичную настройку и повседневную работу через LuCI, не выходя за рамки документированных сценариев.
Зачем менять прошивку маршрутизатора на открытую
Причин несколько, и они складываются. Во-первых, дата выпуска прошивки продолжает жить: маршрутизатор получает обновления безопасности ещё тогда, когда производитель о нём забыл. Во-вторых, пакетная модель позволяет ставить ровно то, что нужно, от точного сетевого анализа до службы динамических доменных имён, и удалять всё лишнее. В-третьих, конфигурация живёт в текстовых файлах, а не в непрозрачном веб-хранилище, поэтому резервная копия снимается одной командой и применяется на новой железке после замены.
Четвёртая причина это наблюдаемость. На стоковой прошивке маршрутизатор это чёрный ящик, а на OpenWrt становится обычным хостом: журнал доступен, процессы видны, трафик измеряется стандартными средствами. Когда сеть однажды внезапно осыпается, на открытой прошивке можно понять, откуда началось, а на фирменной прошивке приходится начинать с обращения в поддержку.
Проверка поддержки устройства и прошивка из заводского интерфейса
Главный вопрос здесь звучит сурово: поддерживается ли конкретная модель и её конкретная аппаратная ревизия. Официальный список поддерживаемых устройств единственный источник истины, и покупка роутера начинается со сверки с ним: процессор на N платформе с моделью Y может значить ровно одну ревизию за поддержкой, а не семейство в целом. Если устройство поддерживается, страница модели даёт два основных образа: factory для прошивки из заводского веб-интерфейса и sysupgrade для обновления уже установленная системы.
Выбор файла по префиксу важен, потому что запись неверного варианта при неудачной метке заголовка оказывается кирпичом и приходится выкладать оживление со второй попытки. Рекомендации сохраняются постоянные: всегда смотреть страницу именно этой модели, читать замечания о ревизиях оборудования и хранить на диске заводскую прошивку, чтобы при необходимости вернуться.
Большинство роутеров, которые можно просто купить в магазине, принимают файл factory прямо через страницу обновления в стандартном веб-интерфейсе. Порядок типовой: скачанный файл фабричного образа загружается как обычное обновление прошивки, маршрутизатор перезагружается, и через несколько минут сеть отвечает по стандартному внутреннему адресу с приглашением LuCI. Из консоли это выглядит проще:
ssh Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript. .1.1
passwd
Первое, что делается с новой системой, это пароль администратора, и именно его включение подхватывает службу удалённого доступа по ssh. До точной настройки железа порядок предосторожности тот же самый, что и раньше: вынуть маршрутизатор из режима активного шлюза, подключить компьютер напрямую, держать под рукой заводской образ и не торопиться кабельные работы в момент записи.
Первичная настройка через LuCI и базовая безопасность
Веб-интерфейс при первом запуске принимает в себя три вещи: пароль администратора, настройки внутренней сети и конфигурацию внешнего доступа. Изменение адреса внутренней подсети выполняется там же, а вся система работы LuCI настолько укладывается в пункты меню, что исходной навигации по ним приходится учиться в первый вечер, дальше она не отвлекает. Отдельные моменты это правила брандмауэра и настройка зон: по умолчанию внутренняя зона доверяет, внешняя фильтрует, и этот минимум достаточен для небольшой сети.
Отдельная позиция в первичной настройке заслуживает беспроводной части: код региона явно выставляется под юрисдикцию, потому что от этого зависят доступные каналы и допустимые мощности, а выбор канала делается по фактическому окружению, а не по умолчанию. Именно из-за этого этапа домашняя сеть чаще всего получает заметный прирост стабильности уже без каких-либо замен антенн. Заводить следует привычку снимать резервную копию конфигурации после каждого этапа настройки: в LuCI доступен архив настроек, и он восстанавливается на той же или новой машине без проблем. Дисциплина с копиями стоит меньше минуты рабочего времени, а выводит сценарий замены железки из разряда драмы в разряд оргтехники.
Система пакетов и что ставится в первую очередь
Менеджер пакетов в OpenWrt называется opkg, и его ритм выглядит привычно: список источников и каталог локальной базы, обновление списка, поиск и установка. Первые пакеты на системе обычно повторяются у разных администраторов, потому что закрывают самые нужные области:
- luci-app-commands для исполнения сохранённых диагностических команд прямо из интерфейса;
- luci-app-statistics для сбора метрик интерфейсов и истории нагрузки;
- пакеты для устройств хранения usb, если к роутеру подключается диск для общих файлов;
- tc и пакеты управления трафиком, если в доме надо отделять рабочий поток от потокового;
- служба динамических доменных имён, если адрес провайдера меняется.
Для всего остального есть общий поиск пакетов: opkg list с фильтрацией возвращает доступные имена, а перед экспериментальными пакетами лучше проверять доступные ресурсы маршрутизатора - память у большинства моделей измеряется десятками мегабайт, и набор пакетов стоит фильтровать принципиально и выборочно, поскольку даже на крепком железе стоит внимательно относиться к ресурсам: после пары лет экспериментов со свободной рукой к пакетам встречаются внезапные сообщения о нехватке памяти, а разбор их стоит дороже вечера с планом.
Отдельный рельеф даёт USB-порт роутера: пакеты поддержки накопителей подключают диск, и из него собирается общее хранилище или место резервных копий. Для небольшого офиса такая комбинация закрывает сценарий файлового сервера без отдельной машины, а сам маршрутизатор превращается в точку, где хранятся общие документы и бэкапы рабочих станций. Правда, стоит добавить, что пропускная способность порта ограничена процессором устройства, и этот сценарий подходит для документов и образов, а не для виртуальных машин.
Конфигурация сети, управление трафиком и диагностика неполадок
Вся конфигурация системы в OpenWrt живёт в каталоге /etc/config и состоит из текстовых файлов в едином формате UCI: каждое правило это именованный блок с опциями, и один и тот же файл читается и LuCI, и командной строкой. Это снимает вечный конфликт двух интерфейсов: изменение через веб сохраняется в файл, редактирование файла отражается в вебе после перечтения. Привычные пункты, вроде статического адреса, настройки простого обмена файлами или гостевой сети, укладываются в такие файлы буквально.
Для небольших сетей выигрыш от отдельных беспроводных сетей на гостей и домашних устройств получается даже до любых пакетов: гостевая сеть ограничена правилами брандмауэра в доступе к локальным службам, гостевые устройства не видят принтера и медиасервер, а сама настройка из трёх шагов выполняется за несколько минут через интерфейс. Те же базовые приёмы объясняют, как устроены маршрутизация между зонами и допускаемые протоколы; вся картина в любой момент выводится одной командой и фиксируется в виде текстового снимка.
Самая заметная надстройка над обычным роутером это честное управление качеством связи. Пакеты планировки трафика исполняют старую мечту домашнего админа: интерактивные задачи - веб, видеозвонки, ssh - маршрутизируются с приоритетом, а фоновые закачки не забивают очередь восходящего канала. Отдельный путь предусматривает несколько внешних каналов: два провайдера подключаются в разные порты, а переключение с основного на резервный происходит по результатам проверки доступности, что для домашнего офиса превращает обрыв провайдера в десятисекундную паузу.
Для сценариев, где на повестке стоит ограничение потерь пакетов или буферов, целые статьи делались про предметный подход, но дорожной картой всё равно служит одно правило: сначала включить простую схему, снять метрики, и только потом перейти к тонким настройкам. На слабом железе излишняя грамотность на спуске трафика проявляется тормозами на самом маршрутизаторе, поэтому выбирать глубину стоит по замерам.
Когда что-то пошло не так, работа начинается с журнала событий: он показывает список системных сообщений и подсказывает, от чего отключился интерфейс или не поднялась служба. Дальше диагностика протокола выполняется знакомым набором: таблица маршрутов, список соседей, соединения, счётчики пакетов. На маленьком железе dump трафика может быть избыточным, но на маршрутизаторе среднего класса он решает вопросы за считанные минуты. Отдельное место здесь занимает журнал событий в реальном времени: запуск logread с флагом продолжения позволяет смотреть подключение интерфейсов и служб непосредственно в момент перезагрузки, и именно такая проверка чаще всего объясняет, почему один из портов не поднимается после обновления.
Аварийный режим заслуживает отдельной страницы, потому что именно он превращает план восстановления в повторяемую процедуру. В режиме безопасной загрузки система поднимается с минимальным набором служб и доступна по внутреннему адресу, а повреждённая конфигурация при этом не участвует в старте. Оттуда обновления устанавливаются заново, пароль меняется, прошивка пишется повторно. Практика говорит, что тот, кто умеет попадать в failsafe за минуту, почти никогда не обращается за последствиями проблемной прошивки.
Когда OpenWrt не подходит и честные ограничения
Усмотрительная установка является частью любого серьёзного описания: не на всякий маршрутизатор её стоит ставить. Железо без официальной поддержки не превратится в цель вежливого порта вмешательства, а enterprise-задачи с проприетарными функциями прошивки производителя местами попросту не существуют в открытой экосистеме. Аппаратное ускорение NAT и аппаратные трактёры беспроводных продуктов в некоторых чипсетах работают иначе, и подобные нюансы стоит проверять в ветке модели.
Второе ограничение более мягкое: простые схемы работы получаются самыми прочными. Маршрутизатор со стоковой прошивкой, умеющий ровно то, что нужно, не стоит менять ради красоты: ценность появляется там, где производитель убрал или не давал функции, безопасность или наблюдаемость. С этой точки зрения проект окупается не новизной, а долгим сроком жизни оборудования и предсказуемостью, которую никогда не даст одноразовая прошивка.
Резервные копии, обновления и порядок восстановления
Обновление системы это не отдельная процедура: оно встроено в обычный список задач и быстро становится рутиной. Утилита sysupgrade умеет писать новый образ с сохранением списка конфигурационных файлов, а при флажке очистки писать строго сброшенный вариант. До обновления достаточно снять архив настроек и расширить этот архив копией списка установленных пакетов, чтобы после перехода поставить их по тому же файлу. Если что-то случилось с записью образа, у большинства устройств остается режим восстановления: это отдельный сценарий, при котором устройство грузится в минимальную среду и принимает образ снова, и про этот сценарий стоит почитывать заранее, вместо того чтобы снимать его под стрессом из памяти.
Наблюдать за тем, чтобы список изменений читался в примечаниях к выпуску, и проверять поведение критического пакета после обновления, тоже дешёвая привычка. Свежая мажорная версия может поменять способ описания беспроводного драйвера или синтаксис настроек, и лучше, чтобы эта дата встретилась в тестовом подтверждении, а не в вечер, когда работа остановилась. Даже тем, кто берётся за маршрутизатор дома впервые, на сегодняшний момент проект даёт ровно тот инструмент, который и нужен: безопасная замена производительского ПО, управляемая конфигурация и набор пакетов, а не обещание волшебной кнопки. Поддерживать систему на OpenWrt столь же дешёво, как и устанавливать: правила одинаковы, дисциплина проста, а маршрутизатор в результате остаётся полезным инструментом на годы дольше, чем предусматривал производитель.