Что такое openwrt прошивка

Что такое openwrt прошивка

Ставим прошивку OpenWrt на роутер TP-Link TL-WDR3600

OpenWrt (Open Wireless RouTer) — это основанная на Linux открытая прошивка для беспроводных роутеров. В этой заметке будет рассмотрена установка OpenWrt на роутер TP-Link TL-WDR3600, также известный, как TP-Link N600. Роутер этот не новый, но довольно неплохой. К тому же, он числится среди рекомендуемых устройств для установки OpenWrt. Ставить OpenWrt на роутер интересно как минимум из соображений безопасности (в официальных прошивках часто много багов, не говоря уже о бэкдорах). Плюс к этому OpenWrt фактически превращает ваш роутер в маленький VDS, на котором можно выполнять какие-то задачи по cron’у, запустить rtorrent в screen, поднять Nginx, IRC-баунсер, и так далее.

Важно! Поисковые системы часто выдают в результатах поиска ссылки на сайт wiki.openwrt.org. Стоит иметь в виду, что на момент написания этих строк wiki.openwrt.org заморожен и может содержать устаревшие сведения. Актуальную информацию следует искать на openwrt.org.

Установка и настройка OpenWrt

Найти TP-Link TL-WDR3600 в магазине сейчас непросто, зато не составляет труда купить с рук. Так выглядит устройство, купленное мной на Avito за 1000 рублей (около 18$):

Fun fact! TL-WDR3600, как и многие другие роутеры, основанные на SoC производства Atheros, работают на архитектуре MIPS.

Прошивку качаем отсюда (если вы читаете заметку в далеком будущем, проверьте, нет ли в каталоге /releases/ более новых версий прошивки):

Fun fact! Эта конкретная версия прошивки на самом деле была сделана в рамках проекта LEDE (Linux Embedded Development Environment). LEDE — это форк OpenWrt, помимо прочего, предоставляющий более свежие и при этом стабильные версии прошивок. Для сравнения, последняя стабильная версия прошивки для TL-WDR3600 от OpenWrt версии 15.05.1 была выпущена два года назад, 16 марта 2016 года. Но прямо сейчас LEDE и OpenWrt снова сливаются в один проект. Этим объясняется lede- в имени прошивки, наличие у проекта OpenWrt двух форумов, и прочие странности, хотя по факту это уже один проект.

Сзади роутера зажимаем кнопку Reset, чтобы сбросить его к заводским настройкам. Затем подключаем к нему ноутбук по витой паре, заходим в веб-админку на 192.168.0.1, авторизуемся под именем admin с паролем admin. В админке находим раздел для обновления прошивки. У меня оказалась локализованная версия роутера, поэтому раздел назывался Системные инструменты → Обновление встроенного ПО. Загружаем через форму .bin файл с прошивкой OpenWrt.

После обновления новая админка будет доступа по адресу 192.168.1.1, авторизуемся под именем root с паролем root. Сразу меняем пароль в System → Administration. Там же можно сказать, на каких интерфейсах должен крутиться SSH и добавить свой id_rsa.pub. Добавление его с помощью команды ssh-copy-id почему-то не работает.

Для входа по SSH также используем имя пользователя root:

Что еще стоит настроить в веб-админке? Беспроводная сеть по умолчанию выключена. Включить ее можно в Network → WiFi. Убедитесь, что вы используете WPA2-PSK с сильным паролем. Кстати, если вы пропустили заметку Как ломают WPA/WPA2 сети с помощью aircrack-ng, ознакомиться с ней не повредит.

Вообще, должен сказать, что у OpenWrt довольно приятный веб-интерфейс. Останавливаться на нем подробно мы не будем, но вот пара скриншотов. Список сетевых интерфейсов:

Состояние беспроводной связи:

Графики, обновляемые в реальном времени, отображают объемы входящего и исходящего трафика:

Ну вот, остается только подключиться к роутеру по WiFi, воткнуть витую пару в порт Internet, и можно считать, что на этом первоначальная настройка роутера выполнена!

Управление пакетами

Управление пакетами в OpenWrt осуществляется при помощи утилиты opkg . Рассмотрим несколько примеров ее использования.

Обновляем список доступных пакетов:

Смотрим список установленных пакетов:

Список всех доступных пакетов:

Для каких пакетов есть обновления:

Установка новых пакетов (не перестарайтесь, место на роутере не резиновое!):

Подробности ищите на странице Opkg Package Manager официального сайта.

Монтирование внешних USB-носителей

Роутер имеет крайне мало дискового пространства, в связи с чем может возникнуть желание использовать внешний носитель. У меня под рукой оказалась флешка Kingston HyperX Predator на 512 Гб, вот такая:

… и я решил попробовать подключить ее.

По умолчанию OpenWrt идет без поддержки USB или каких-либо «нормальных» файловых систем, вроде FAT или Ext4. Поэтому нам понадобится установить недостающие модули ядра. При подключении данной конкретной флешки к моему ноутбуку в dmesg появляется:

… что как бы намекает нам, что устройство работает через слой SCSI, поддержки которого в OpenWrt из коробки, конечно же, тоже нет.

Читайте также:  Ветеран великой отечественной войны 1941 1945

В общем, после нескольких не вполне удачных экспериментов, я выяснил, что полный список необходимых пакетов выглядит как-то так:

То, что все работает, как надо, можно понять по появившемуся устройству /dev/sda, и тому факту, что команда:

… успешно монтирует раздел.

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

Заключение

Как видите, все оказалось довольно не сложно. В рамках одного поста, впрочем, нельзя рассмотреть абсолютно все, что можно сделать с OpenWrt. Например, можно управлять фаерволом при помощи утилиты iptables, настроить на роутере VPN, поднять HTTP-сервер, и так далее. Дополнительную информацию по этим и другим вопросам, как уже отмечалось, вы найдете на сайте openwrt.org.

А какие умопомрачительные применения OpenWrt приходят вам на ум? И вообще, полузуетесь ли вы OpenWrt, DD-WRT, или какими-либо другими открытыми прошивками для роутеров?

Игорь Осколков

28 июня 2012

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

Создание собственной версии альтернативной прошивки полезно лишь в том случае, когда вас не устраивает функциональность имеющихся сборок — отсутствуют необходимые компоненты, а вместо них есть что-то совершенно ненужное. При этом объём памяти в роутере относительно невелик, а установить дополнительное ПО на внешний накопитель не всегда возможно. В принципе, ничего сложного в создании своей прошивки нет. Для OpenWRT есть утилита Image Generator, которая как раз таки может удалять или добавлять пакеты программ в уже имеющуюся сборку. Можно воспользоваться ей, а можно пойти по другому пути — скомпилировать свою прошивку с блек-джеком и. ну, вы поняли. Общее описание процесса можно найти в вики проекта.

Итак, нам понадобится компьютер с Linux/*BSD/Mac OS на борту, порядка пяти гигабайт свободного места на жёстком диске и немножечко терпения. Собирать прошивку в виртуальной машине с подходящей ОС крайне не рекомендуется, так как процесс компиляции в этом случае может излишне затянуться. В качестве примера рассмотрим работу в Ubuntu 11.10. Первым делом надо установить дополнительные утилиты и библиотеки, которые потребуются в процессе сборки. Для других ОС и дистрибутивов список нужного ПО можно посмотреть здесь. Минимально необходимый набор в нашем случае ставится такой командой.

Теперь надо создать рабочую папку, куда будут сохранены исходные тексты прошивки, её настройки, готовые образы и так далее. В пути до этой директории не должно быть пробелов. После создания каталога скачиваем в него исходные тексты OpenWRT.

Тут есть два варианта — либо взять стабильную версию, которая хорошо протестирована и надёжна до определённой степени, либо воспользоваться версией для разработчиков, в которой имеется немало новых возможностей, но вместе с тем получить ненулевую вероятность падений прошивки на ровном месте. Текущий релиз называется Backfire, а тестовая версия всегда находится в trunk. Выполните одну из приведённых ниже команд скачивания исходников из SVN-репозитория и перейдите в соответствующую папку.

В файле feeds.conf.default находится список репозиториев с дополнительными пакетами программ. Если это необходимо, отредактируйте его. Раскомментируйте (уберите # в начале строки) пункты в списке или добавьте сторонние адреса фидов для какого-то специфичного ПО. Нам как минимум пригодится стандартный набор пакетов и веб-интерфейс LuCI (можно выбрать другой или оставить настройки по умолчанию), поэтому в этот файл можно вообще не лезть, оставив всё по умолчанию, а сразу же обновить списки пакетов.

Приступим к самому интересному — наполнению прошивки компонентами. Первым делом для тестовой сборки установим веб-интерфейс LuCI, чтобы лишний раз не настраивать роутер из консоли. Остальные программы ищутся тем же скриптом с параметром search и ключевым словом после него. В выводе будут имена пакетов с кратким описанием. Для установки используем ту же утилиту с параметром install. Все зависимости будут автоматически разрешены и недостающие пакеты, если таковые нужны выбранному пользователем компоненту, будут также установлены.

Для некоторых программ, возможно, захочется или придётся создать конфигурационные файлы. Для этого помещают их в каталог /files/etc/config, который надо создать в папке с исходниками. Вообще любые файлы из директории /files будут включены в прошивку. После этого можно переходить непосредственно к сборке. Выполним в консоли следующую команду.

Здесь переходим к пункту Target System (Enter) и выбираем платформу, для которой будет собрана прошивка. В списке совместимых устройств найдите вашу модель и посмотрите, какое у неё «железо». Для начала рекомендуется «потренироваться на кошках», то есть сделать x86-сборку с необходимым набором пакетов (учтите, что не для всех пакетов это удастся), а затем запустить её в виртуальной машине. А пока выходим в главное меню (Esc) и нажимаем Exit, не забывая сохранить новую конфигурацию. Чтобы получить базовые настройки для прошивки выполняем ещё одну команду.

Возвращаемся в главное меню и в Target Profile ищем свой роутер. Обратите внимание, что в некоторых моделях от версии к версии аппаратная начинка может заметно отличаться. Постарайтесь ничего не перепутать, а то в худшем случае вы получите «кирпич» вместо устройства. Если вы решили потестировать x86-сборку, то в Target Images отметьте пункты ramdisk и iso — на выходе получится загрузочный iso-образ.

А вот теперь самое муторное — ручной выбор необходимых компонентов. Установленные ранее пакеты надо включить в саму сборку, для чего придётся пройтись почти по всем разделам настроек. Для установки компонента перейдите к нему и нажмите пробел для его выбора. * означает, что он будет «вшит» в ядро, а M указывает на создание отдельного подгружаемого модуля. В ряде случаев активация компонента открывает доступ к дополнительным настройкам, связанным с ним.

В разделах Base system и Libraries находятся базовые программы и библиотеки. В Network и IPv6 помещено всё, что связано с работой в сети — Bittorrent- и VPN-клиенты, различные сервера, вспомогательные утилиты и многое другое.

В разделе LuCI настраиваются параметры веб-интерфейса, так как в качестве примера для x86-сборки был выбран именно он. Во-первых, его надо включить в Collections, а в Modules выбрать admin-core или admin-full. Подраздел Applications содержит модули для настройки тех или иных параметров роутера. Дополнительно надо установить локализации (Translations), поддержку настроек сетевых интерфейсов (Protocols) и базовые библиотеки (Libraries).

Раздел Kernel modules содержит в основном драйвера для «железа», файловых систем, различных подсистем и так далее. Здесь тоже полезно пробежаться по подразделам и включить, например, поддержку NTFS. К сожалению, какого-то универсального руководства к действию при настройке компонентов прошивки нет. Устанавливать дополнительные утилиты и библиотеки можно, но не стоит забывать о небольшом объёме накопителя в роутере. А вот удалять то, что по умолчанию было включено, надо с осторожностью. Ознакомьтесь хотя бы с краткой справкой по компоненту, нажав H, а ещё лучше погуглите.

После выбора всех нужных модулей и компонентов необходимо сохранить конфигурацию. Непосредственно перед сборкой полезно выполнить ещё одну команду, которая покажет недостающие утилиты или библиотеки. Их надо будет доустановить с помощью apt-get install или поискать пакеты, в которых они содержатся, и тоже установить.

Процесс сборки запускается очень простой командой:

Сборка прошивки длится довольно долго. Чем больше вы «напихали» в неё, тем дольше придётся ждать. Обладатели многоядерных процессоров могут чуть облегчить свою участь, добавив к команде make параметр -j x, где x=число ядер+1. На тестовой машине с CPU AMD Phenom II X6 базовая x86-прошивка с небольшими дополнениями компилировалась в несколько потоков примерно 10-15 минут. Впрочем, иногда использование нескольких процессорных ядер может привести к ошибке во время сборки.

Готовые файлы прошивок (trx, bin, iso и другие) будут лежать в папке bin. Процесс заливки прошивки зависит от модели роутера — ищите информацию в списке совместимости и вики. Для многих моделей генерируется сразу два файла: factory и upgrade. Первый нужен для замены стандартного ПО, а второй — для обновления уже установленной OpenWRT. Если вы создали тестовую x86-сборку, то её работоспособность можно проверить в виртуальной машине. VirtualBox для этого вполне подойдёт. Создайте новую ВМ, тип ОС выберите Linux 2.6, откажитесь от создания HDD. В качестве загрузочного CD используйте образ openwrt-x86-generic-rootfs-iso.img, у которого надо поменять расширение img на iso. Первый сетевой адаптер переключите в режим «Внутренняя сеть», а второй в режим NAT или моста.

Внутри второй ВМ можно запустить какой-нибудь Live-дистрибутив, предварительно переключив виртуальный сетевой интерфейс в режим «Внутренняя сеть». Ubuntu, например, или один из многочисленных вариантов WinPE. Эта машина должна автоматически получить IP-адрес по DHCP, а к псевдороутеру можно будет подключиться через веб-интерфейс или telnet. Если всё заработало так, как нужно, то можно приступать к сборке прошивки уже под конкретную модель роутера.

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

В общем, не так страшен чёрт, простите, пингвин, как его малюют. Хотя, надо признать, для рядового пользователя это не так уж просто. К сожалению, как и говорилось выше, какого-то универсального и простого руководства для сборки собственной прошивки нет. Мы постарались расписать наиболее общие шаги, но все нюансы и детали охватить просто невозможно. Ещё раз призываем наших читателей быть внимательнее во время сборки и предупреждаем, что неверные действия могут привести к «гибели» устройства и порой непростому восстановлению его работоспособности. Удачи!

Роутеры лишаются своих родных прошивок по разным причинам. Желание добавить функционал, припаять USB порт или просто добавить стабильности в работу роутера.

В моём случае роутер на последней стабильной родной прошивке при 1-5 WiFi и 1-2 Ethernet потребителях подвисал 1-2 раза в неделю. Это не очень страшно, но и перезагружать его надоело. Хотелось стабильности. После долгих поисков и чтения отзывов выбор пал на OpenWRT. В статье уже представлена пошаговая инструкция без проб и ошибок, которые мне пришлось пройти.

Шаг 0

Надеюсь взявшись за прошивку роутера вы понимаете, что на одном из шагов вы можете лишиться доступа в интернет. Так, что настоятельно советую полностью прочитать статью, заранее скачать все нужные файлы и уже после этого приступить к прошивке.

Шаг 1

Шаг 2

Далее необходимо выбрать версию прошивки OpenWRT.

Следует использовать именно тот файл, который согласуется с версией железа вашей модели. Не пренебрегайте этим правилом! Возможны два варианта файловой системы для загрузки: JFFS2 и SquashFS. Судя по отзывам стоит остановить свой выбор на SquashFS-файлах. Слово factory в названии файла значит, что такой файл вы должны заливать на ваше устройство поверх заводской (родной) прошивки. файл со словом sysupgrade применим только для обновления OpenWRT, т.е. заливается после factory прошивки.

Качаем factory прошивку и шьём обычным способом (System Tools -> Firmware Upgrade).

Шаг 3 или всё пропало

После успешной прошивки мы получаем рабочий роутер с выключеным web-интерфейсом. Поэтому зайти в настройки через браузер уже не получиться. Дальнейшие действия таковы:

Открываем PuTTY, выбираем Telnet протокол, адрес 192.168.1.1 порт 23, жмём «Соединение».

Входим на роутер. Изначально вы под пользователем root без пароля.
Набираем команду:

И два раза пишем новый пароль для пользователя root. Далее пишем:

Открываем WinSCP, выбираем SCP протокол, адрес 192.168.1.1 порт 22, User name: root, Password тот который задали раннее, жмём «Login».

На все смутные вопросы отвечаем да и видим окошко с файлами на вашем компьютере и на роутере. Далее берем вторую часть прошивки (та которая sysupgrade), переименовываем её в code.bin и забрасываем её на роутер в папку /tmp. Закрываем программу.

Открываем PuTTY, выбираем SSH протокол, адрес root@192.168.1.1 порт 22, жмём «Соединение». Набираем пароль который задали раннее для root. Входим в роутер и набираем команду для его прошивки:

Ждём пока роутер прошьётся и перезагрузится. Ориентируемся по лампочкам. Далее повторяем шаг:

Открываем PuTTY, выбираем Telnet протокол, адрес 192.168.1.1 порт 23, жмём «Соединение».

Входим на роутер. Изначально вы под пользователем root без пароля.
Набираем команду:

И два раза пишем новый пароль для пользователя root.

Эти две команды включают и ставят в автозагрузку web-интерфейс роутера.

Выключаем роутер, включаем роутер.

По адресу 192.168.1.1 вам доступен web-интерфейс LuCI. Заходим под пользователем root и паролем, который задали раннее для root.

UPD. После долгой эксплуатации замечен единственный глюк. При изменении MAC адреса на WAN порте, он через 1-2 дня сбрасывается на заводской. В остальном роутер проявляет чудеса стабильности.

Ссылка на основную публикацию
Что делать если отключился звук на компьютере
Мы зарегистрировали подозрительный трафик, исходящий из вашей сети. С помощью этой страницы мы сможем определить, что запросы отправляете именно вы,...
Фотографии купе в поезде
Интересный фотоотчет о поездке на одном из первых рейсов двухэтажных поездов. Смотрим далее, как все устроено внутри таких двухэтажных вагонов...
Фотография с самым большим разрешением в мире
Представляем вашему вниманию нашу подборку самых больших фотографий в мире. Для их просмотра вам будет необходим FlashPlayer. Его можно скачать...
Что делать если полетели драйвера видеокарты
Распространенная ошибка в Windows 7 и реже в Windows 10 и 8 — сообщение «Видеодрайвер перестал отвечать и был успешно...
Adblock detector