4

Можно ли установить небольшую программу на дешевый домашний маршрутизатор, на котором работает ядро Linux, и запустить его? Я имею в виду, могу ли я использовать маршрутизатор с ОС Linux в качестве небольшого компьютера для запуска произвольного кода на нем?

Я не пытаюсь причинить вред, мне просто любопытно, можно ли это сделать.

4 ответа4

4

Да, смотрите http://www.dd-wrt.com/site/index

DD-WRT - это альтернативная прошивка OpenSource на основе Linux, подходящая для большого количества маршрутизаторов WLAN и встроенных систем. Основной упор делается на обеспечение максимально простой обработки, в то же время поддерживая большое количество функций в рамках используемой аппаратной платформы.

1

Да, но это не так просто. Вы должны знать о драйверах устройств в Linux и иметь достаточно знаний для написания кода ядра (который является производным Linux на маршрутизаторе).

Системы Linux вносят изменения в свое ядро, которые модифицируются производителями машин (не важно, используются ли они для модемов, кодировщиков камер, компьютеров и т.д.). Да, это должен быть Bash, но это зависит от вас. Это не обязательно, но включает в себя все, что вы хотите, может быть, все, что вам нужно сделать, это задача выключить или перезагрузить его ...

0

Возможно, но непрактично - эти устройства имеют около 32 МБ ОЗУ (иногда меньше!) И практически не имеют вычислительной мощности. Гораздо проще получить один из этих "неттоп" дешевых и небольших компьютеров x86 и превратить его в беспроводной маршрутизатор (например, с помощью Voyage Linux).

0

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

В основном, относитесь к нему как к любому другому безголовому ПК.

Единственная проблема в том, чтобы получить командную строку, чтобы вы могли что-то установить, вам нужно загрузить собственную среду. И загрузчики этих маршрутизаторов обычно не настраиваются. Но все они позволяют прошивать новую прошивку². Таким образом, хитрость заключается в том, чтобы либо найти заранее изготовленную (неофициальную / кастомную) прошивку, которая позволяет вам ssh³ войти и повторно прошиться на случай, если вы хотите отменить все ... или создать / изменить собственный образ прошивки *.

Как только у вас есть какая-либо командная строка Linux, все остальное идет как обычно. Самый элегантный путь - установить Gentoo. Так как он, будучи мета-дистрибутивом, чрезвычайно адаптируем. В основном это сделано именно для этих случаев. И в процессе вы узнаете, как на самом деле использовать компьютер. Это очень важно. Потому что, если вы этого не сделаете (как в случае с Windows/OSX/Ubuntu/KDE) и столкнетесь даже с самой крошечной проблемой, на которой нет красочных кнопок, вы застряли. Убедитесь, что вы используете ту же конфигурацию ядра, драйверы и т.д., Что и в образе прошивки.

  • Вы также можете сделать образ прошивки с Gentoo, если решите создать свой собственный. Но в этом случае вы должны выяснить, из какого оборудования на самом деле состоит ваш маршрутизатор. Какой процессор, какие шины, какие контроллеры. Помимо уже имеющейся командной строки, единственный способ сделать это - открыть объект, посмотреть текст на чипах и найти их спецификации в Интернете. Но не пытайтесь его прошить, пока не будете уверены, что получите загрузочную систему с SSH или с поддержкой перепрошивки. Иначе ты не сможешь вернуться. Что довольно плохо, если вы мягко замуровали устройство. ;) (Если вы не хотите распаять чип флэш-памяти, припаяйте его на USB-накопитель с совместимым соответствующим контроллером и перепрограммируйте его таким образом, или что-то в этом роде. ;)

Но обычно вещи Lite Tomato lite (или его предшественника DD-WRT) избавляют вас от этого шага ... при условии, что у вас есть подходящий маршрутизатор.

Если у вас работает ядро Linux и доступна система управления пакетами (в каждом дистрибутиве), все ограничения исчезнут. Просто установите все, что вам нравится, и оборудование сможет справиться. :)


Gen www.gentoo.org/doc/en/handbook/#doc_chap1_sect3
² en.wikipedia.org/wiki/Firmware ³ en.wikipedia.org/wiki/Secure_Shell
En http://en.wikipedia.org/wiki/Tomato_%28firmware%29

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .