Домашний беспроводной роутер как ПК

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

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

4 ответа

Решение

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

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

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

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

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

Конечно вы можете. Но вы можете сделать с ними столько же, сколько и с компьютером, имеющим те же характеристики. Посмотрите архитектуру процессора вашего маршрутизатора 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

Другие вопросы по тегам