Обзор альтернативных прошивок домашних роутеров
Содержание статьи
Возможности стандартных прошивок часто не удовлетворяют всем требованиям пользователей. Кому-то надо качать торренты, кому-то необходим DLNA/VoIP/принт-сервер, а кто-то просто любит экспериментировать. Во всех этих случаях можно поставить ту или иную прошивку, а если ни одна из них не подходит, то и собрать ее самому.
Введение
SOHO-роутеры у большинства обычных пользователей, как правило, ставятся по принципу «настроил и забыл». Основное их предназначение в раздаче интернета для домашней сети, однако в отдельных случаях возникает необходимость в чем-нибудь более экзотическом, к примеру — в файловом сервере. В стандартных прошивках таких возможностей может и не быть. Но, поскольку ПО абсолютного большинства современных роутеров для домашнего использования (исключая, быть может, Huawei, где используется ОС собственной разработки) основано на ядре Linux, а некоторые фирмы в свое время даже открыли часть исходников, не исключено, что для твоего роутера существуют и кастомные прошивки, в одной из которых может найтись столь желанная возможность — как знать? А если даже и не найдется, то при некоторых усилиях ты можешь эту возможность добавить самостоятельно.
WARNING
Будь внимателен! Неправильная прошивка роутера может превратить его в бесполезный кусок железа и пластмассы.
На данный момент наиболее популярными прошивками считаются следующие:
Разумеется, в списке упомянуты не все прошивки, но их настолько много, что всех и не упомнишь. Дальше я буду рассматривать роутер TP-LINK TL-WDR4300 и прошивку OpenWRT, как наиболее гибкую.
Прошивка TP-LINK TL-WDR4300 из «родного» firmware
Хакер #176. Анонимность в интернете
Установка и начальная конфигурация OpenWRT
Но вот ты прошил роутер и при этом умудрился его не окирпичить. Заходи по Telnet (адрес по умолчанию 192.168.1.1) и настраивай WAN. У меня он довольно долго не подключался, и пришлось разбираться с этим вопросом. Оказалось, что некоторые провайдеры (в частности, ТТК, к которому я подключен), кроме проверки по MAC-адресу, требуют еще и совпадения с этим MAC-адресом ClientID. В итоге я использовал следующие команды (здесь и далее, чтобы не путаться, где именно исполнять команды — на компе или на роутере, роутер будет обозначаться как openwrt#):
Вернемся к командной строке. Что делают первые три команды, в общем-то, ясно: первая устанавливает протокол (возможно выбрать статический IP, PPP, PPPoE, L2TP и еще несколько менее используемых вариантов), вторая устанавливает флаг broadcast в пакете dhcp, третья устанавливает MAC-адрес для интерфейса. Четвертая команда устанавливает поле ClientID в пакете dhcp (option 61) равным MAC-адресу. Последние две команды используются для сохранения изменений и перезапуска сети.
После этого (и после обязательной проверки работоспособности) я бы посоветовал поставить веб-интерфейс, так как базовые настройки с ним реально проще рулить. Для OpenWRT таковых существует как минимум две. Поставим LuCI — де-факто стандартный веб-интерфейс:
И ставим пароль root.
Замечу, что после установки пароля ты уже не сможешь использовать Telnet, только SSH. Теперь зайди в веб-интерфейс и настрой необходимые тебе параметры.
В общем-то, на этом настройку роутера можно и закончить. Однако я не нахожу особого смысла перешивать роутер, если ты не будешь использовать дополнительные возможности прошивки. Поэтому идем дальше…
Веб-интерфейс OpenWRT
Создание extroot
Extroot необходим для того, чтобы у роутера было больше свободного места, — разумеется, за счет подключения внешнего накопителя, такого как флешка. Существует два типа создания extroot — перемещая на накопитель только оверлей и перемещая корень целиком. Сказать по правде, во втором варианте смысла мало — оверлей в роутере в любом случае используется, поэтому будем разбирать первый метод. Но и у него есть две версии. Поскольку я рассматриваю наиболее свежую стабильную версию OpenWRT, то и способ тоже будет соответствовать. На более старых ревизиях он, однако, может не работать. Ставим пакеты:
Запиши текущий вывод команды mount — он тебе еще пригодится в дальнейшем.
После этого подготовь и подмонтируй флешку (ее ты можешь отформатировать в ext3 как на настольном Linux, так и в самом OpenWRT) и клонируй на нее текущий оверлей:
После этого перезагрузись. Если тебе необходимо вернуть все обратно, ты находишь в ранее записанном выводе команды mount оригинальное устройство с оверлеем, монтируешь его и ставишь в файле etc/config/fstab на смонтированном старом оверлее option enabled в 0.
Редактирование файла /etc/config/fstab для включения extroot
Качаем торренты и настраиваем Samba
Раз уж роутер практически не выключается и места для установки стороннего ПО в нем теперь достаточно, грех не использовать его в качестве загрузчика торрентов. Но сперва нужно настроить файлообмен. Поскольку сеть у меня гетерогенная, выбор пал на Samba.
В задачи статьи не входит детальное описание настройки Samba, а с веб-интерфейсом ты способен разобраться и сам. Несколько замечаний, однако, стоит сделать. Во-первых, на вкладке Edit template вместо «security = user» стоит написать (хотя бы для начала) «security = share», во-вторых — дай гостевой доступ к расшаренным папкам, в-третьих — смени владельца расшариваемого каталога на nobody и, наконец, не забудь запустить саму службу:
Теперь перейдем к настройке торрент-клиента. В качестве его будет выступать transmission — не в последнюю очередь из-за того, что он поддерживает веб-интерфейс. Установка его стандартна:
Рассмотрим наиболее важные опции файла конфигурации /etc/config/transmission :
После этого ставим его в автозапуск и стартуем.
Заходим в веб-интерфейс, по умолчанию находящийся на порту 9091, грузим торрент-файл и наслаждаемся.
ФС, используемые в роутерах
Из-за особенностей (и, как правило, малого объема) флеш-памяти, в основном и применяемой в роутерах, для них не подходят ФС для настольных компьютеров. Поэтому кратко опишу различия двух основных файловых систем, в них используемых.
В случае OpenWrt эти две ФС разнесены по разным mtd-разделам и монтируются хитрым образом. Сперва SquashFS монтируется в /rom, а JFFS2 в /overlay. Затем с помощью overlayfs эти две ФС объединяются в одну и при попытке изменения файла в SquashFS изменяет его в JFFS3, обеспечивая таким образом поддержку не только чтения/записи, но и возможность загрузки в безопасном режиме для восстановительных работ.
Краткий обзор DD-WRT
Чтобы включить доступ к optware (дополнительному ПО), придется повозиться. Замечу, что в некоторых версиях прошивки есть раздел JFFS2, а в некоторых нет, так что лучше для этой цели использовать флешку. DD-WRT подходит тому, кто хочет быстро получить доступ к отдельным функциям, которые в большинстве роутеров отсутствуют, но не желает заморачиваться с установкой дополнительного ПО. В общем-то, его возможности покрывают процентов 90 пользователей альтернативных прошивок. Те же, у кого потребности слишком специфичны или кто желает получить больший контроль над роутером, вполне могут разобраться и с другими прошивками.
Веб-интерфейс DD-WRT
Настройка DLNA-сервера
В принципе, после этого minidlna можно уже запускать, предварительно скопировав медиафайлы в нужные папки.
Однако есть небольшой нюанс. Захотел ты добавить музыку или видео, скопировал — а на плеере она не появилась. Дело здесь в том, что по умолчанию minidlna использует inotify, который по загадочным причинам в нем не работает. Чтобы обновить список, необходимо остановить запущенный демон и произвести ручное сканирование, набрав следующую команду:
Сборка своего собственного образа OpenWRT
Если тебя по какой-то причине не устраивает стандартный образ OpenWRT, то можно собрать свой, для чего необходимо получить тулчейн и OpenWRT Buildroot. Прежде всего установим соответствующие пакеты:
Собирать мы будем текущую нестабильную версию OpenWRT и материалы (feeds). Скачаем их.
После этого проверим зависимости — мало ли, вдруг какой-нибудь необходимый для сборки пакет не установлен.
Сборка необходимых инструментов
Если все нормально, можем конфигурировать образ. Для чего вводим
И выбираем, точно так же, как и при конфигурации ядра, нужные тебе вещи. Единственное отличие от «ядерного» menuconfig — звездочка означает, что объект будет встроен в образ, а M — что будет доступен в виде пакета ipk, который позже можно будет установить отдельно. Сильно увлекаться, однако, не советую — помни о том, что места на внутренней флеш-памяти не просто мало, а очень мало.
В основном процесс конфигурирования включает в себя следующие шаги:
Выбор опций при сборке кастомной прошивки
Учти, что если ты потом сделаешь очистку, то конфиг ядра не очистится. Для его очистки набери
После всего этого можешь смело набирать команду
для сборки образа. Это займет длительное время, по истечении которого в каталоге bin/ появятся файлы образа.
Существует несколько путей для того, чтобы залить прошивку. Самый легкий из них — через веб-интерфейс, и описывать его я смысла не вижу. Второй способ — использовать утилиту scp на хостовом компьютере вкупе с mtd на роутере для залития образа и его прошивки. Поскольку сейчас стоит уже OpenWRT, то можно прошивать как factory-, так и sysupgrade-образ. В моем случае команды были такими:
Вторая команда шьет (write) свежескачанную прошивку в раздел, именуемый firmware, и вслед за этим роутер перезагружается (-r). В случае обновления OpenWRT со стабильной версии до текущей я бы советовал не восстанавливать сохраненную конфигурацию, а настроить все заново — у меня по каким-то причинам старые конфиги не подошли к свежескомпилированной версии.
Копирование прошивки в роутер
Безопасность альтернативных прошивок
В плане безопасности со стороны всяческих атак на сервисы из интернета роутеры нынче защищены по умолчанию. Тем не менее расслабляться не следует. Опишем несколько возможных векторов атак на роутеры с альтернативной прошивкой.
В общем-то, некоторыми из этих потенциальных уязвимостей страдают и стоковые прошивки роутеров. Тем не менее разработчикам альтернативных прошивок стоит озаботиться данным вопросом — думается, что подобные цели могут стать наиболее вкусными для разработчиков малвари из-за их слабой защищенности.
Всевозможная документация по OpenWrt: wiki.openwrt.org/doc/start
Заключение
Альтернативные прошивки дают большую свободу для пользователей. Некоторые из них, такие как DD-WRT, Tomato, прошивка от Олега, заточены под нужды большинства — в них есть поддержка NAS, VPN, есть принт-серверы… Другие же (Open/LibreWRT) содержат минимально необходимые возможности, но при этом позволяют их расширять и затачивать под свои нужды. Возможно, прочитав эту статью, ты захочешь стать одним из разработчиков прошивок, благо область довольно новая и толком до конца не освоенная. Дерзай.
Как перепрошить Wi-Fi роутер? Краткое руководство
Прошивка роутера — это действительно страшные слова для многих пользователей, столкнувшихся с необходимостью данного действия впервые. На абсолютно всех Wi-Fi маршрутизаторах установлено определенное программное обеспечение, благодаря которому устройство функционирует должным образом, т.е. подключается к сети провайдера, производит раздачу Wi-Fi сигнала и тому подобное. Вы можете спросить: а зачем вообще выполнять обновление прошивки?
Обычно, пользователи прибегают к перепрошивке своего Wi-Fi маршрутизатора просто по той причине, что его производитель выпустил новую версию прошивки. Как правило, новая версиях ПО содержит в себе многочисленные улучшения, нововведения и исправление всевозможных ошибок или проблем, которые наблюдались на предыдущих версиях прошивки. Проще говоря, обновить прошивку Wi-Fi роутера — это как обновить операционную систему.
Помимо прочего, пользователям порой приходится прибегать к перепрошивке маршрутизатора из-за того, что тот стал вести себя крайне нестабильно, например, обрывать вещание Wi-Fi сигнала или и вовсе закрывать доступ к Интернету на некоторых устройствах. Перейдя на другую версию прошивки, даже на более старую, можно избавиться от этих проблем с роутером. Еще одна причина, по которой нужно прошивать роутер, — это последствия прошлой, не самой удачной попытки перепрошить устройство, но такие случаи требуют отдельного рассмотрения.
В данном материале мы рассмотрим с вами общий процесс обновления прошивки роутера на примере модели Netis wf2419e. Стоит заметить, что на каждом роутере обновление прошивки выглядит практически идентично, так что вы можете применять нижеизложенную информацию и к другим роутерам. Вы убедитесь, что прошивка Wi-Fi маршрутизатора — это крайне простой и, что не менее важно, быстрый процесс, занимающий от силы минут пять-десять.
Краткое руководство по обновлению прошивки Wi-Fi роутера
Итак, с чего бы нам с вами начать…Давайте начнем наше руководство с того, что вы как следует ознакомитесь со своим маршрутизатором: осмотрите его поверхность, запишите некоторую информацию, также не забудь посмотреть на поверхность коробки. Например, на роутерах компании TP-Link указывается версия аппаратного обеспечения, которая играет роль при перепрошивке. Ознакомились? Ок, тогда давайте посмотрим, что же вам нужно сделать.
Важные моменты во время прошивки
Обновление прошивки — процесс простой и быстрый, как мы уже неоднократно указали, но он все же требует от пользователя некоторой подготовки и дополнительных действий. Прежде всего, вам нужно понять следующее: прошивка роутера производится только при его подключении к компьютеру посредством LAN-кабеля! Верно, можно осуществить прошивку устройства и по Wi-Fi, но это крайне ненадежный метод, который может сделать из роутера буквально кирпич. Так что если задумали обновлять прошивку — только компьютер и только кабель!
Еще один важный момент — вы должны использовать прошивку, подходящую исключительно для вашего маршрутизатора. Если вы попытаетесь установить на него прошивку от другого устройства, то вы, наверняка, выведите его из строя. В крайнем случае, вам потребуется проводить крайне занудную процедуру по восстановлению работоспособности роутера, которая даже не обеспечит вам положительного результата.
Дальше — отключите во время процесса перепрошивки от роутера кабель своего провайдера. Конечно, перепрошивка может удачно завершиться и при подключенном кабеле, но огромное множество владельцев уведомляют, что это привело к крайне неприятным последствиям, который порой не удается исправить.
Вот, в принципе, и все, что вам требуется знать о предосторожностях при обновлении прошивки для маршрутизатора. Давайте теперь посмотрим непосредственно на сам процесс. Как уже было указано ранее, пример обновления прошивки мы будем рассматривать на бюджетной модели Netis WF2419. Итак, первое, что вам нужно сделать — это загрузить на свой компьютер корректную для роутера прошивку. В случае Netis — достаточно просто скачать последнюю версию для WF2419.
Процесс прошивки Wi-Fi роутера на примере Netis WF2419
Итак, давайте по порядку — зайдите на официальный сайт Netis и перейдите на страничку Поддержки. Далее перейдите в раздел загрузок и выберите нужную модель роутера. В нашем случае — это Netis WF2419, который находится в разделе однодиапазонных Wi-Fi роутеров.
Заметка: для этой модели роутера и его ее родственников выбирать версию аппаратного обеспечения нужды нет, но на других это может быть обязательной процедурой перед выбором прошивки. Чтобы определить версию аппаратного обеспечения, установленной на вашем роутере, вам нужно, как правило, просто посмотреть на нижнюю часть корпуса самого устройства.
Опуститесь немного ниже на странице — и вы увидите список всех выпущенных разработчиком версий прошивок для Netis WF2419. Рядом с каждой прошивкой можно почитать, чтобы было исправлено или добавлено в новую версию. В данном случае, выбирать версию ПО нам не придется. Просто нажмите на значок загрузки, после чего на вашем компьютере окажется архивный файл. Например, последняя на данный момент прошивка — V2.2.36123. Как только вы ее скачаете, вам нужно извлечь из архива файл под названием netis(WF2419)-V2.2.36123.bin(это файл прошивки).
Теперь самое главное — отключаем от Wi-Fi роутера кабель провайдера и подключаем его к компьютеру посредством сетевого кабеля. Далее открываем пользовательскую панель управления(адрес — 192.168.1.1) и переходим в продвинутые настройки Wi-Fi маршрутизатора. Теперь открываем вкладку Система и кликаем на подвкладку Обновление программного обеспечения. Все, что осталось сделать — это нажать на кнопку Обзор, выбрать прошивку, загруженную ранее, и кликнуть на кнопку Обновить. Далее в панели управления появится полоска прогрессии установки новой прошивки. По окончанию перепрошивки роутера возникнет сообщение об успешном завершении обновления ПО.
Загрузили прошивку — нажали пару кнопок. Многие пользователи думают, что перепрошивка роутера — это какой сверхусложненный процесс, требующий невероятно глубоких знаний в сфере сетевых технологий. Однако, данный процесс упрощен и автоматизирован до такой степени, что с ним справится даже «чайник». Вы все еще чувствуете себя некомфортно? Ок, давайте тогда посмотрим на этот процесс на другом роутере — TP-Link TL-WR841N.
Процесс прошивки Wi-Fi роурера на примере TP-Link TL-WR841N
Прошивка TP-Link TL-WR841N — и любого другого роутера — ничем не отличается от прошивки Netis WF2419. Единственное отличие, с которым вам придется столкнуться, — это сверка с аппаратным обеспечением роутера. Опять таки, как мы уже говорили, переверните свой роутер и посмотрите на доступную информацию на его нижней части(дне). Например, версия ПО нашего TL-WR841N соответствует V10. Все, что осталось сделать — это перейти на официальный сайт TP-Link и загрузить на свой компьютер нужную прошивку.
Пройдем на официальный сайт и перейдем в раздел с загрузками. Смотрим на список Wi-Fi маршрутизаторов — выбираем TL-WR841N. Обратите внимание на ниспадающее меню с выбором аппаратного обеспечения для роутера; модель роутера в наших руках имеет аппаратное обеспечение десятой версии. Следовательно, выбираем из ниспадающего меню V10 и нажимаем на кнопку Прошивка. На данный момент, последней версией прошивки является TL-WR841N_V10_151216_RU.
Готово. Как и в случае с предыдущим роутером, для обновления прошивки нужно, если так можно выразиться, подобрать нужные инструменты и нажать парочку кнопок. Такой же порядок действий применяется и в случае с другими роутерами. Мы еще раз настоятельно рекомендуем вам не выбрасывать из свои головы важные моменты, описанные в самом начале материала, а именно: подбор корректной прошивки, отключение кабеля провайдера с WAN-порта перед перепрошивкой, не пытаться обновить ПО через Wi-Fi. Ну и, разумеется, не отключайте питание от Wi-Fi маршрутизатора во время обновления прошивки, иначе вы, скорее всего, лишитесь устройства.
Прошивка DD-WRT на домашнем роутере
Прошивка DD-WRT на домашнем роутере
Это обзорная статья о том, какие возможность существуют у пользователя обычного домашнего роутера, и как этими возможностями воспользоваться.
Рано или поздно каждый пользователь интернета покупает себе домой роутер, поскольку количество устройств, требующих интернета, растёт. А у многих растут дети, которые тоже требуют подключения к интернету 🙂 Но мне больно и обидно видеть, что люди не всегда понимают, что можно и нужно делать для достижения максимального комфорта.
Небольшой дисклаймер (не знаю как это по-русски).
Я буду употреблять слово «правильно» в том смысле, что я сам считаю правильным для себя. Пройдя путь от «нуба» в Линуксе до уровня «могу советовать другим», я считаю, что мои советы по крайней мере не хуже других советов, которые можно встретить на различных форумах.
Речь пойдёт о прошивке роутера на основе известного дистрибутива DD-WRT. Это прошивка, превращающая роутер в «обычный» линукс-сервер с весьма жёсткими ограничениями памяти и быстродействия. Несмотря на это, функционал такого сервера может получиться весьма богатым.
1) Выбор оборудования
2) Прошивка роутера
Прошивка — это совсем не больно! Это на самом деле простая операция, ну такая как перректальное удаление гланд… Нет, правда ничего сложного.
При самой первой смене прошивки потребуется чуть больше усилий, зато каждая следующая пойдёт всё легче и легче.
Не следует опасаться, что смена прошивок будет происходить регулярно. Выбрав для себя набор программ, входящих в одну из готовых прошивок, можно на этом успокоиться и наслаждаться жизнью. Если понадобится дополнительный функционал — всегда можно установить новые программы отдельно, для этого существует специальный механизм. Но на первых этапах может случиться так, что выбор прошивки окажется неудачным, например в прошивке не окажется такой нужной возможности как поддержка SAMBA. Не беда, скачиваем другую прошивку, 2 движения мышкой — вуаля!
Некоторые модели роутеров (в частности Asus) перед прошивкой на DD-WRT требуют специальных действий (очистка памяти или что-то в этом роде). Внимательно следуйте инструкциям на конкретную модель роутера! Особенно внимательно нужно отнестить к требованиям «выждать 5 минут после окончания прошивки». Я был немного самоуверен и, перепрошивая своему коллеге роутер, слегка поторопился выключить питание после окончания прошивки. Результат — процедура восстановления и всё по-новой.
Если сказано «подождите 5 минут» — возьмите песочные часы на 5 минут и ждите! Это серьёзно.
Я не буду рассматривать сам процесс перепрошивки (tftp, смена адреса на 192.168.0.1, интерфейс и т.д.) — это всё изложено на форумах DD-WRT.
Но, наконец, вы закончили с прошивкой, и перед вами — чудесный новый WEB-интерфейс вашего роутера. Что дальше?
3) Подготовка к установке OPTWARE
Базовый функционал вы уже получили, выбрав версию прошивки. Осталось настроить параметры подключения к вашему провайдеру (DHCP, PPTP etc), и уже можно начинать бороздить просторы вселенной. Многим домашним пользователям этого уже будет достаточно.
Настройки параметров безопасности, управление маршрутеризацией и прочие стандартные для роутеров «фишки» я также описывать не буду. Без этого всё равно не обходится ни один «нормальный» роутер.
Но ведь можно же сделать ещё лучше! Продолжим процесс.
Все дополнительные программы объединены общим понятием Optware. (они ставятся в каталог /opt, который автоматически создаётся роутером и всегда доступен для записи). Однако сам каталог /opt пуст и фактически расположен в RAM — то есть, там очень мало места и всё, что туда попадает, будет потеряно при перезагрузке. Что же делать?
Выход следующий: нам нужно постоянное место на каком-нибудь «диске». И хотя описываемые хранилища не имеют формы диска в геометрическом смысле (скорее это кристаллы кремния в пластиковых корпусах с металлическими выводами), будем всё же называть их дисками.
Если flash-память роутера достаточно большая, а размер прошивки меньше общего размера flash-памяти, то оставшееся место можно использовать для хренения данных. Если выбрать прошивку с поддержкой JFFS, то в зависимости от версии, можно получить от 0.5 до 3Mb «диск» прямо внутри роутера. Такой диск будет автоматически примонтирован как /jffs при старте.
Главной неприятностью при работе с flash-дисками является их быстрая деградация при записи. Если количество перезаписей сектора «диска» превысит некий порог (от 10 до 100 тысяч циклов), то диску придёт конец. Всё плохо… 🙁
Если с внутренним диском произойдёт такое, действительно будет плохо. Но если это внешний USB диск, то лёгким движением руки заменяем USB-флешку на новую — и снова в бой. Ведь USB-флешки давно уже расходный материал, не так ли? Тем более что достаточна флешка объемом 1 или 2Gb. Главное, как обычно, вовремя делать бекапы.
Как вы уже поняли, основным местом установки Optware является внешний USB диск. Важно иметь в виду, что USB должен быть определённым образом отформатирован перед установкой в роутер. Как минимум, должен присутствовать первичный раздел, отформатированный как ext2 или ext3.
Чтобы всё заработало, достаточно в настройках роутера в разделе CIFS указать сетевой адрес и логин/пароль для доступа к расшаренной папке, и при следующей перезагрузке роутер автоматически примонтирует сетевой диск в папку /tmp/smbshare.
SD/MMC
Предположим, что у нас нет ни свободного места в flash-памяти роутера, ни USB, ни сервера. А нам очень нужно установить Optware. Что же делать?
Как обычно, «у нас с собой было» (это мой любимый девиз). Если совсем ничего нет, то придётся немного поработать напильником.
Для некоторых моделей (среди которых WRT-54GL) доступен так называемый SD/MMC mod. Достаточно приклеить куда-либо SD или MMC карту и припаять 6 проводков, и можно получить место для установки Optware и хранения пользовательских данных.
Именно такой мод я в конце концов и сделал, чтобы из старого роутера получить автономную точку доступа под WiFi Hotspot Chilli. Это — тема отдельного поста, возможно скоро соберусь и даже сделаю мини-сайт. Если кого-то ещё эта тема интересует, напишите в приват.
4) Определение точки монтирования, startup, shutdown
В зависимости от выбранного «диска» точка монтирования будет разной. Для внутренней flash-памяти это будет /jffs, для USB это будет /mnt (если разрешить автоматическое монтирование), для CIFS это будет /tmp/smbshare, для SD/MMC это будет /mmc.
Если выбран вариант USB, то следует запретить автоматическое монтирование — мы сами будем это делать «правильным» образом.
Как я уже сказал, Optware устанавливается в строго определённое место — каталог /opt. Этот каталог уже есть, нужно только примонтировать к нему реальный «диск».
Монтирование можно (нужно) делать в процессе начальной загрузки роутера. Для автоматизации в роутере предназначены несколько предопределённых скриптов, которые выполняются при старте и завершении работы.
Для начала надо разрешить доступ к роутеру по telnet или по SSH протоколу.
Рекомендую настроить доступ по SSH, так как это безопаснее и просто удобнее (можно настроить авторизацию по ключевому файлу и даже не вводить каждый раз пароль при доступе). А доступ нам понадобится неоднократно, чтобы устанавливать программы и смотреть, WTF, почему они не хотят правильно работать.
Сервер SSH уже присутствует и работает во всех версиях прошивок роутера. Нужно только создать пару ключей, один из которых (публичный) загрузить в роутер, а другой (приватный) положить на ноутбуке рядом с программой Putty и WinSCP. Про ключи тоже писать не буду, везде это достаточно подробно расписывается.
telnet router
cd /opt
echo «OK» >opt.ok
cat opt.ok
если получилось «OK» — значит всё ОК, если нет — значит что-то не так… Гуглим, ищем где ошибка, повторяем…
5) Установка Optware — первый шаг
Ну вот, всё позади, у нас в сети — роутер с возможностью установки Optware. Приступим.
Т.к. у меня на ноутбуках Windows, я использую Putty (telnet или SSH) для доступа к консоли роутера и WinSCP для копирования и редактирования файлов.
Подключаемся через WinSCP к роутеру и создаём в папке /tmp следующий скрипт:
opt-inst.sh
Подключаемся через Putty к роутеру и выполняем скрипт:
6) Установка первых пакетов
Для начала установим какой-нибудь совсем простой пакет, например rsync. Он нам пригодится в дальнейшем для настройки резервного копирования.
cd /opt
ipkg-opt update
ipkg-opt install rsync
Если всё прошло успешно и нет никакой ругани в консоли, то можно продолжить установку.
7) Окончательная настройка
Тут следует сделать некоторые замечания. В разных версиях прошивок процедура запуска и останова почему-то отличается, причём в существенной части, а именно — запуск пользовательских скриптов из init.d.
В более новом роутере (версия прошивки 13972) пользовательские скрипты
/opt/etc/init.d/S* автоматически вызываются после завершения работы системного .rc_startup, и аналогично, /opt/etc/init.d/K* перед запуском .rc_shutdown. Поэтому для запуска и оснанова нужных сервисов достаточно, чтобы их соответствующие S* и K* скрипты находились в папке запуска /opt/etc/init.d
Однако и тут (по крайней мере в моём случае) не обошлось без «подводных граблей» (чьё-то меткое выражение). По законам жанра, запуск скрипта S* должен быть с параметром start, а запуск K* — с параметром stop. Но DD-WRT почему-то не передаёт start при старте, хотя и передаёт stop при останове. Пришлось делать некий work-around:
Системный скрипт .rc_statup (создаётся при запуске в /tmp и запускается силами процесса init) выглядит примерно так (некоторые подробности опущены, полный код доступен здесь):
# 4: Закончить работу, далее запустятся скрипты /opt/etc/init.d/S*
exit
Каждый S* и K* скрипт содержит примерно такой код:
case «$OP» in
start) # bla-bla
;;
stop) # bla-bla
;;
esac
Системный скрипт .rc_shutdown (создаётся при перезагрузке в /tmp и запускается по команде reboot) выглядит примерно так (некоторые подробности опущены, полный код доступен здесь):
# 1: Скрипты /opt/etc/init.d/K* уже отработали
# 4: Закончить работу, далее будет перезагрузка роутера
echo «*** Shutdown ***
В более старом роутере (версия прошивки 13064) S* и K* скрипты вообще не вызываются автоматически, поэтому пришлось делать так:
А уже optware-скрипт /opt/.startup делает всё остальное, а именно — запускает S* скрипты.