Как прошить роутер linux

Устанавливаем OpenWrt (основы)

OpenWrt не может быть установлена настолько просто и безопасно, как любой другой дистрибутив GNU/Linux. Установка на Flash-чип, впаянный в PCB карту, к сожалению, несколько более затруднительна, чем установка с диска DVD на жесткий диск. После того, как вы выбрали ваш метод получения прошивки (по-английски firmware image) уникальной для вашего устройства и иногда даже модели и версии, вам придется перезаписать оригинальную прошивку на чипе flash-памяти. На этой странице вы найдете описание того, как сделать это.

По сравнению со сборкой дистрибутива, установка файла с прошивкой OpenWrt иногда может быть самым непростым во всей процедуре, а иногда занимает пару минут. В зависимости от конкретной модели вашего устройства, вы можете ограничиться простой заливкой вашей новой прошивки через web-интерфейс; можете вручную заливать необходимую прошивку через tftp; или, если ваши дела совсем плохи, то вплоть до изменения структуры вашего устройства и подключения через JTAG доступ. Но в целом, основным вариантом установки является установка через вшитый загрузчик (Redboot, Uboot и проч.) или простое копирование на CompactFlash-карточку: все зависит от конкретной модели вашего устройства.

Warning!
This section describes actions that might damage your device or firmware. Proceed with care!

Заливка неверной версии файла прошивки не обязательно должна сломать ваше устройство, но вам придется пройти через некоторые трудоемкие процедуры, чтобы оживить его. Иногда, вам придется использовать модифицированный Serial кабель, и роутер может не заработать с первого раза.

Это HowTo ОЧЕНЬ общее. Вам не следует сразу приступать к работе, изучив только эту страницу, не адаптировав процедуру по установке OpenWrt для вашего конкретного устройства. Честно говоря, у нас просто нет столько людей, чтобы писать подобные объяснения для всех сотен поддерживаемых устройств. Поищите описание по установке для вашего устройства на странице поддерживаемых устройств. Если такого описания нет, продолжайте чтение.

В целом, у вас есть две опции: Залить OpenWrt в постоянную память, или запускать OpenWrt через сеть. Netbooting поддерживается не всеми вариантами загрузчиков, вшитых в устройства. Пожалуйста, ознакомьтесь с конкретной страницей wiki посвященой модели вашего роутера. Если ваши попытки установить OpenWrt провалились, статья о том, как оживить роутер поможет вам. Обязательный раздел к прочтению →flash.layout.

Четыре пути

Существует четыре способа установки OpenWrt на ваше устройство:

1. Из-под оригинальной прошивки

Откройте в вашем браузере Web-интерфейс оригинальной прошивки и установите файл OpenWrt через опцию “Firmware Upgrade”. Готово. Как правило, нужный файл прошивки OpenWRT содержит в названии подстроку “-factory”, например, openwrt-ar71xx-generic-wndr3800-squashfs-factory.img

Читайте также:  Baidu antivirus для windows

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

2. Через автозагрузчик и Ethernet порт

Чтобы провернуть такой вариант, а именно принудительно залить прошивку, можно воспользоваться тем, что большинство автозагрузчиков содержат встроенный функционал для таких целей. Некоторые содержат TFTP-client, другие — TFTP -server, третьи FTP-client, а некоторые даже FTP -server. Вам необходимо выяснить:

Как только вы получили ответы на все эти вопросы, вы можете продолжать:

Замечание: Иногда даже автозагрузчик не позволяет записать файл прошивки на flash память устройства, например, в Inventel DV4210 (AKA Livebox).

Методы установки

3. через автозагрузчик и Serial порт

4. через JTAG

Перезаливка с OpenWrt

Однажды установив и запустив OpenWrt, у вас появится множество удобных инструментов для перезаливки прошивки через интерфейс командной строки командой mtd . Указывайте интересующий вас раздел (пожалуйста, просмотрите flash_layout или flash_layout или flash_layout для обозначений.
И, конечно, самый простой вариант апгреда через Web-интерфейс так же возможен.

Чтобы перезаписать существующую флэш память рядом с разделом, где установлен автозагрузчик, а так же ту часть, которая содержит ART, в случае устройства WR1043ND и схожих с ним можно использовать:

Вы можете, хотя это не рекомендовано, установить прямой туннель для установки прошивки без копирования ее на временный раздел tmpfs flash-памяти роутера. В таком случае, вот ваши действия:

Последняя описанная процедура не рекомендована, но она может быть использована в случае, если у вас обнаружится дефицит памяти на устройстве.

Назад к заводской прошивке

→ generic.uninstall (используйте, только если персональная wiki страница не описывает процесс возврата на оригинальную прошивку)

Базовая конфигурация

Установив OpenWrt на ваше устройство, продолжите с базовыми настройками.

Безопасный режим

→ failsafe_and_factory_reset (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)

Системный апгрейд

→ generic.sysupgrade (используйте, только если персональная wiki страница не описывает процесс возврата на оригиналную прошивку)

Пояснения

Что такое Image File?

Image file (файл образа) — это побайтовая копия всех данных, используемых в файловой системе. Если вы установите GNU/Linux простым способом на один или несколько разделов вашего жесткого диска, а потом скопируете все содержимое байт за байтом с вашего жесткого диска в один файл:

то полученный файл /media/sdb3/backup-sda.dd и будет являться файлом образа (Вашего дискового тома /dev/sda).

Разница с OpenWRT лишь в том, что рабочие OpenWrt-Image-File так не создаются Они создаются специальной программой Image Generator (ранее называвшейся Image Builder). Вы можете прочитать больше:

  • Last modified: 2020/12/14 14:04
  • by tmomas

Self-registration in the wiki has been disabled.
If you want to contribute to the OpenWrt wiki, please post HERE in the forum or ask on IRC for access.

Читайте также:  Универсальный драйвер для принтера samsung mac os

Except where otherwise noted, content on this wiki is licensed under the following license:
CC Attribution-Share Alike 4.0 International

Источник

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

Openwrt — даже не прошивка, а операционная система linux для роутеров. Причин, для того, что бы ваш роутер был под управлением Openwrt много. Ведь перед вами хоть и урезанная, но система linux, с возможностью установки пакетов (приложений). Помните, перепрошивка роутера в openwrt лишает вас гарантии. Все действия, которые вы выполняете со своим роутером — вы делаете на свой страх и риск.

В первом повествовании не будем вдаваться во многие тонкости. Рассмотрим, как прошить роутер и настроить сеть через веб-интерфейс на примере TP-Link TL-WR740N v.5.

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

Шаг 1. Подготовка и прошивка

И так, первый шаг: заходим в админку роутера, смотрим модель и версию:

Далее идём на сайт OpenWrt https://openwrt.org/toh/views/start , выбираем Table of Hardware: Standard, all devices тут же можно посмотреть техническую информацию об этом роутере и о любых других, поддерживаемых:

Переходим на страницу нашего устройства, смотрим версию устройства и качаем ту прошивку, в которой присутствует слово factory. Прошивка Sysupgrade нужна для обновления уже установленной системы:

Скачали, в веб интерфейсе нашего устройства нажмите выберите файл. Выбираем то, что скачали, затем нажмите Обновить:

Роутер прошивается.. После прошивки — веб-интерфейс будет доступен по http://192.168.1.1

Шаг 2. Первоначальная настройка

Рекомендую сразу установить пароль и выбрать интерфейс «lan» для подключения по SSH:

Шаг 4. Настройка PPPOE

Теперь настроим подключение к интернету. Если ваш провайдер раздаёт интернет по DHCP, то этот шаг мы пропустим. По умолчанию WAN настроен на DHCP client. Если же pppoe, то идем далее:

Переходим в Network -> Interfaces -> Add new interface. Задаём имя интерфейса, протокол (PPPoE). Cover the following interface выбираем тот, который с wan. Вообще, в моём случае в роутере есть свич — eth0.1 и отдельно адаптер ethernet — eth1. В некоторых случаях нет адаптера, есть только свич eth0 и он разделен вланами — eth0.1 будет wan, а eth0.2 свич.

Нажав Submit мы попадаем далее, здесь нужно указать логин/пароль от PPPoE:

Не применяя настроек, переходим в Firewall Settings и выбираем зону WAN. Сохраняем, применяем.

Если все сделано правильно, то, перейдя в Network -> Interfaces видим, что наш pppoe подключился. Проверяем интернет, должен работать.

Шаг 5. Настройка WiFi

По умолчанию в Openwrt выключен WiFi, что бы включить, переходим в Network -> Wireless -> Edit:

Тут можно выбрать канал, на котором будет работать наша Wi-Fi сеть, либо оставить auto, тогда канал будет сам выбираться, в зависимости от загруженности.

  • Режим работы (mode) — выбираем Access Point (точка доступа), о других режимах, мы поговорим в следующих статьях.
  • ESSID — имя сети Wi-Fi.

Далее перейдите на вкладку Wireless Security:

  • Encryption — WPA2-PSK.
  • Key — желаемый пароль Wi-Fi.

Не рекомендуется ставить пароль просто из 8 цифр, такой пароль очень уязвим!После всех настроек нажимаем Enable.

Читайте также:  Windows get focused window

На этом пока всё. В дальнейших статьях мы рассмотрим конфигурационные файлы, логи, доступ через SSH, переназначение одного из LAN портов на WAN и так далее.

Источник

Стал у бедного админа виснуть роутер от D-Link, модель DIR-400.
И стал админ искать пути решения проблемы.
Погуглив полчаса наткнулся на прошивку от dd-wrt.com.
Поглядел на её возможности, обрадовался, и стал искать мануалов — как же всё таки эту прошивку залить (ибо стандартный прошивальщик, ребятами из D-Link писаный, не годится).

Нашёл мануал по заливке прошивки через DBG-console. Но вот беда — мануал на виндовых юзеров рассчитан, а винды под рукой нету, только Линукс праведный…
Ну, да ладно. Разобрался админ. Детали — под катом.

DBG-console

Есть у продутов от D-Link такая интересная фича — при включении железки в электросеть загрузчик на 2 секунды (значение по-умолчанию) поднимает сервер telnet на порту 9000.
Если за 2 секунды успеть залогиниться и послать железяке ‘^C’ — процесс загрузки остановится и мы получим доступ в инженерную консоль, в которой можно всякие интересные штуки делать — например, залить неофициальную похаченую linux-based прошивку. Приступим.

Подготовка

Немного теории:

Оговорюсь сразу — я дёргал питание роутера раз 20, с паузами 10-20 секунд, пока смог таки заставить железяку отдать мне инженерную консоль. В принципе это безопасно — достаточно дождаться полной загрузки роутера, и питание можно снова выдёргивать.
Ещё нюанс — линуховая версия telnet напрочь отказывается слать ‘^C’ по нажатию Ctrl-C вв момент подключения, пришлось включать моск — слать не один символ, а два, примерно так: при нажатом Ctrl жмём сначала V, потом C, отпускаем Ctrl.
И ещё — не бойтесь опечататься в инженерной консоли, все команды проходят валидацию, консоль просто не даст вам опечататься.

Приступим к практике:

Во-первых нам понадобится tftp сервер.
Ставим, кто как умеет (я юзал yum):

yum -y intall tftp-server

По-умолчанию tftp дёргается из xinetd, посему нужно немного подредактировать /etc/xinetd.d/tftp: выставить параметр disable = no и по вкусу отредактировать корневую директорию сервера (по-умолчанию — /tftpboot/, я её не менял).

Не забываем рестартануть xinetd.

Далее, идём сюда: dd-wrt.com/dd-wrtv3/dd-wrt/downloads.html
Там внизу — нечто вроде файлового менеджера, идём в директорию /stable/dd-wrt.v24 SP1/Consumer/Dlink/DIR-400 и качаем файлы linux.bin и dir400-firmware.bin в директорию /tftpboot/ (ну или на что вы там её изменили в конфиге).

Выдёргиваем из подопытного роутера все Ethernet-кабеля, отключаем всех WiFi-клиентов, втыкаемся в один из LAN-портов железки.
Назначаем своей машине статический IP 192.168.0.2, роутеру — 192.168.0.1.

Начинаем веселье

Дальнейшие действия требуют сосредоточенности.
Набираем в консоли

telnet 192.168.0.1 9000 (Enter пока не жмём, просто набираем для экономии времени — помните про 2 секунды?)

Выдёргиваем питание из роутера, ждём пару секунд, втыкаем питание, считаем до трёх, жмём Enter…
Далее идёт мой telnet session transcript, жирным выделено то, что я вводил в консоли, курсивом — мои комментарии.

Источник

Оцените статью