Как установить дополнительное программное обеспечение на вашем домашнем маршрутизаторе (DD-WRT)

Оглавление:

Как установить дополнительное программное обеспечение на вашем домашнем маршрутизаторе (DD-WRT)
Как установить дополнительное программное обеспечение на вашем домашнем маршрутизаторе (DD-WRT)

Видео: Как установить дополнительное программное обеспечение на вашем домашнем маршрутизаторе (DD-WRT)

Видео: Как установить дополнительное программное обеспечение на вашем домашнем маршрутизаторе (DD-WRT)
Видео: Умная куртка Flexwarm: одежда с климат-контролем— умная одежда, управляемая со смартфона/Kickstarter - YouTube 2024, Апрель
Anonim
Вы когда-нибудь хотели иметь дополнительные функции, такие как электронная почта, бит-торрент или даже MySQL прямо на вашем маршрутизаторе? Возможно, теперь вы можете это сделать. How-To Geek погружается в установление программного обеспечения Opkg на DD-WRT.
Вы когда-нибудь хотели иметь дополнительные функции, такие как электронная почта, бит-торрент или даже MySQL прямо на вашем маршрутизаторе? Возможно, теперь вы можете это сделать. How-To Geek погружается в установление программного обеспечения Opkg на DD-WRT.

Изображение Жан Спектора и Авиада Равива

Если вы еще этого не сделали, будьте уверены и ознакомьтесь с предыдущими статьями в серии:

  • Превратите свой домашний маршрутизатор в супермощный маршрутизатор с DD-WRT
  • Как удалить рекламу с помощью Pixelserv на DD-WRT

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

Несчастья

Недавно я купил новый Buffalo WZR-HP-AG300H, который поставляется с ремаркетированной версией DD-WRT. Из-за того, что у этого маршрутизатора есть USB-порт, я сразу же подключил HD и попытался использовать руководство по виртуализации «Optware, The Right Way». К сожалению, я быстро обнаружил, что маршрутизатор, который у меня есть, основан на Atheros и сценарий с этой вики-страницы, не поддерживает его. Поэтому я начал копать (как всегда) и наткнулся на несколько руководств (1, 2, 3 и 4), которые призваны объяснить, как заставить Opkg работать вручную. Хотя их вклад (среди других источников в Интернете) в этот справочник был неоценим, некоторые из инструкций (ИМХО) просто недостаточно прямолинейны. Например, вы даете вам «lib» файлы рыбы, но не учите, как их ловить из источника. Также необходимо использовать HD-форматированный в формате Linux или, по крайней мере, раздел одного (который на самом деле даже не работает на прошивках, которые я тестировал с помощью). Именно поэтому я почувствовал необходимость в создании краткой, простой в использовании и воспроизводимой процедуры для работы менеджера пакетов OpenWRT Opkg на таких маршрутизаторах.

Обновление. Возможность монтирования разделов была повторно введена в ремаркетированную версию альфа-сборки 17798.

Что такое Opkg?

Opkg - это менеджер пакетов, такой как apt / aptitude и yum. Он выступает в качестве замены для диспетчера пакетов Ipkg и может быть использован для установки программного обеспечения, такого как: Демон передачи BitTorrent, отправителя электронной почты ssmtp и Knockd, который выполняет сценарии после определенной последовательности запуска порта, чтобы назвать несколько. С сайта OpenWRT:

The opkg utility (an ipkg fork) is a lightweight package manager used to download and install OpenWrt packages from local package repositories or ones located on the Internet.

Opkg

попытки разрешить зависимости с пакетами в репозиториях - если это не удается, оно сообщит об ошибке и прекратит установку этого пакета.

Поэтому, используя Opkg, мы можем установить такие вещи, как мы с Ipkg, в руководстве «Unleash even More Power from Your Home Router». Основные отличия:

  1. Чтобы привести примеры SSMTP и Knockd, вам действительно нужно было выяснить зависимости вручную. Процедура для этого вручную является назойливой и не очень прямой. Opkg делает это автоматически.
  2. На этот раз мы будем добавление программное обеспечение поверх прошивки, которое находится на месте, а не заменяет его. При замене это была отличная тренировка, она была без сомнения: опасная, подверженная проблемам, необратимая и худшая из всех специфических роутеров. Излишне говорить, что это проще и безопаснее.

Предпосылки

Чтобы завершить это руководство, обратите внимание на следующее:

  1. Как было указано выше, это руководство было создано и протестировано на Buffalo WZR-HP-AG300H с прошивкой Buffalo «Pro» версии 17135. Оно должно работать на любых маршрутизаторах Atheros (ar71xx) с любой версией DD-WRT той же версии или выше, но ваш пробег может очень.
  2. Вам нужно будет включить SSH на маршрутизаторе, а также установить и использовать WinSCP для подключения к нему. Это было объяснено в руководстве «Как удалить рекламу с помощью Pixelserv on DD-WRT». Фактически, предполагается, что вы можете делать все, что объясняется в этом руководстве.
  3. Вы должны иметь возможность подключиться к маршрутизатору с помощью терминала (рекомендуется SSH). Некоторые указатели на то, как это сделать, находятся в вики DD-WRT.
  4. Пространство для JFFS и около 4 МБ постформатного пространства для базовой настройки. Пространство JFFS является не только обязательным условием, это пробная пробка. Это связано с тем, что если ваш маршрутизатор не имеет, по крайней мере, упомянутого выше 4 МБ пространства, отформатированного после форматирования, вы не получите никакой реальной выгоды от этого руководства, и вам будет лучше использовать «Unleash Even More Power от вашего домашнего маршрутизатора», руководство по установке пакетов Ipkg непосредственно в прошивку или установку пакетов Ipkg вручную. Следуйте инструкциям в руководстве «Как удалить рекламу с помощью Pixelserv on DD-WRT», чтобы включить JFFS, и посмотрите, сколько свободного места у вас на самом деле после он отформатирован.

Замечания: Это можно сделать только с 2 МБ места для установки, но тогда мы потеряем результат «/ etc», который станет доступен для чтения и должен будет вызвать Opkg, указывая каждый раз файл конфигурации вручную … что sooo lame …

Позволяет растрескиваться

На этом этапе вы должны включить JFFS и сможете использовать SSH / WinSCP в маршрутизаторе.

  1. Откройте сеанс терминала на маршрутизаторе.
  2. Создайте временную директорию, в которой мы будем работать:

    mkdir /tmp/1 cd /tmp/1

Используйте Ipkg для установки Opkg Хотя мы собираемся заменить Ipkg в качестве менеджера пакетов, мы будем использовать его для ручной установки пакета установки Opkg.

  1. Для этого загрузите установочный пакет Opkg для архитектуры ar71xx из соединительной линии OpenWRT:

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages/opkg_618-2_ar71xx.ipk

    Note1: На момент написания этой статьи 618 является последней версией, это может быть изменено в будущем, поэтому соответствующим образом отрегулируйте. Заметка 2: Возможно, единственная разница в том, что это руководство будет работать для других архитектур, - это установить установщик Opkg из применимой архитектуры для вашего маршрутизатора … однако это не проверено вами по-настоящему.

  2. Вызовите Ipkg, чтобы вручную установить Opkg, используя:

    ipkg install opkg_618-2_ar71xx.ipk

    Замечания: Вы можете, если хотите, установить каждый пакет в репозитории вручную таким образом. Однако это будет означать, что вам придется самостоятельно решать свои зависимости … и что было бы забавно в этом?

Получение файлов динамической библиотеки («lib») Необходимые файлы «lib» для работы Opkg являются частью дистрибутива OpenWRT. Чтобы получить их, нужно извлечь их из «Корневой файловой системы» указанного дистрибутива.

  1. Чтобы сделать это, загрузите последнюю базовую «Корневую файловую систему» для раскрытия openWRT, которая содержит требуемые «lib» из соединительной линии OpenWRT:

    wget https://downloads.openwrt.org/snapshots/trunk/ar71xx/openwrt-ar71xx-generic-rootfs.tar.gz

  2. Извлеките его, используя:

    tar xvzf openwrt-ar71xx-generic-rootfs.tar.gz

  3. Скопируйте файлы «libs» из «rootfs», которые мы извлекли выше, в каталог «libs» на нашей JFFS, сохраняя при этом их атрибуты и символические ссылки:

    cp -Pp /tmp/1/lib/* /jffs/usr/lib/

    Замечания: Вы получите сообщения о том, что подкаталоги опущены. Поскольку нам не нужны ничего, кроме файлов «lib», это нормально, и вы можете спокойно игнорировать эти сообщения.

Фиксация LD_LIBRARY "PATH" Нам нужно сообщить маршрутизатору, где искать общие библиотеки (lib), которые мы только что «установили», и что это нужно сделать до те, которые поставляются с прошивкой.

  1. Для этого вручную установите переменную среды LD_LIBRARY (пока), чтобы сделать так, чтобы место, где мы скопировали новые файлы lib, будет первым в «PATH»:

    export LD_LIBRARY_PATH=/jffs/usr/lib:$LD_LIBRARY_PATH

Чтение "/ etc" Мы собираемся скопировать «/ etc» в JFFS, а затем создать обычную точку монтирования «/ etc», указать на нее. Таким образом, оба откроют мир возможностей, потому что «/ etc» станут доступными для чтения (которые я лично ждал, чтобы получить или взять 7 лет) и включить пакеты, которые ожидают, что это поведение будет работать правильно.

  1. Создайте каталог, который будет содержать «/ etc»:

    mkdir -p /jffs/geek/etc

  2. Рекурсивно скопировать все «/ etc», сохраняя все подкаталоги, атрибуты файлов и символические ссылки.

    cp -a /etc/* /jffs/geek/etc/

  3. Вручную (на данный момент) «привязать монтирование» к директории «/ etc» в JFFS:

    mount -o bind /jffs/geek/etc/ /etc/

Установите каталог Optware («/ opt») Opkg от OpenWRT, ожидается, будет использоваться при построении прошивки маршрутизатора. Поскольку в такое время FileSystem еще не входит в маршрутизатор и, тем не менее, может быть изменена, нет никакой проблемы с установкой в любое место в FileSystem. Вот почему файл конфигурации Opkg указывает пакеты для установки на «root» (/) файловой системы. Однако мы используем Opkg после прошивка была построена и установлена на маршрутизаторе, и поскольку мы не можем изменить корень файловой системы, которую нужно читать, мы укажем все установки, которые будут установлены под «/ opt». Однако в настоящее время «/ opt» также указывает на доступное только для чтения место на прошивке маршрутизатора. Чтобы преодолеть это, мы сделаем «/ opt» точкой для JFFS, которая доступна для чтения.

  1. Для этого создайте каталог, который будет содержать пакеты Optware:

    mkdir -p /jffs/opt

  2. Вручную (на данный момент) «привязать монтирование» к директории «/ opt» в JFFS:

    mount -o bind /jffs/opt/ /opt/

    Примечание. Несмотря на то, более продвинутые пользователи могут захотеть изменить эту точку монтирования, чтобы указать на HD.

Настройка файла конфигурации Opkg Мы хотим, чтобы файл конфигурации Opkg был там, где Opkg его по умолчанию ищет («/ etc») и настроен для установки на «/ opt».

  1. Для этого переместите файл конфигурации opkg, установленный пакетом Opkg, в папку «/ etc», доступную для записи:

    mv /jffs/etc/opkg.conf /etc/

  2. Измените пункт назначения для установок Optware на «/ opt» вместо «root» (/). Для этого с помощью редактора «vi» или WinSCP перейдите к «/ etc /» и внесите содержимое файла «opkg.conf»:

    vi /etc/opkg.conf

    Сделайте это так:

    src/gz snapshots https://downloads.openwrt.org/snapshots/trunk/ar71xx/packages dest root /opt dest ram /tmp lists_dir ext /var/opkg-lists option overlay_root /overlay

    Замечания: Вы можете изменить директиву «lists_dir», чтобы указать на местоположение, которое не находится в ОЗУ, а скорее на JFFS. Хотя это избавит вас от обновления списков, прежде чем вы сможете установить дополнительное программное обеспечение (если ваш маршрутизатор будет перезагружен с последнего раза), вы потеряете около 1,5 МБ ограниченного пространства JFFS, и вы будете усугубляться его эрозией.

Привет, малыш Вы должны уметь видеть, что Opkg работает, выпуская обновления и перечисляя команды.

  1. Если все пойдет хорошо, вы должны убедиться, что списки Opkg обновлены без ошибок, и вы готовы реализовать сценарий на следующем шаге:

    opkg update; opkg list

  2. Потратьте время, чтобы начать изучение пакетов, доступных в репозитории ….

Сценарий StartUp Теперь нам нужно сделать так, чтобы вся необходимая установка и путь выполнялись автоматически при загрузке маршрутизатора. С этой целью мы создали для вас этот скрипт инициализации geek-init.

  1. Загрузите, затем извлеките его и поместите его под «/ jffs / geek / etc /». (Подумайте об этом с помощью WinSCP).
  2. Сделайте скрипт исполняемым, перейдя в его свойства с помощью WinSCP или выполнив:

    chmod +x /jffs/geek/etc/geek-init.sh

  3. Сделать сценарий выполняется при запуске маршрутизатора, используя WebGUI. В разделе «Администрирование» -> «Команды» в текстовом поле введите:

    /jffs/geek/etc/geek-init.sh web-gui

    Нажмите «Сохранить запуск».

Удар шин Если все пойдет хорошо, вы должны теперь перезагрузить маршрутизатор и по-прежнему использовать диспетчер пакетов Opkg. То есть для обновления, списка и установки приложений. Давайте проверим, что все работает, установив команду «netstat», которая по некоторым причинам была исключена из сборки DD-WRT в последнее время. Прежде чем мы это сделаем, выполните команду netstat в терминале, и вы увидите, что вы терпите ошибку из оболочки, сказав: «-sh: netstat: not found».

  1. Ваш первый шаг всегда будет, чтобы обновить списки Opkg, чтобы иметь список последних пакетов из репозитория:

    opkg update

  2. Если вы не знаете, какой пакет содержит команду «netstat», вы можете фильтровать результаты с помощью.

    opkg list | grep netstat

  3. И теперь установите «netstat», используя:

    opkg install net-tools-netstat

    И теперь, когда вы снова выполняете команду netstat, она работает … аккуратно?:)

До тех пор, пока в будущих статьях, в которых мы будем устанавливать и настраивать пакеты программного обеспечения, используя этот метод, вы можете испытать огромное удовольствие от изучения огромного количества программного обеспечения, которое теперь находится прямо на ваших кончиках пальцев.

Если такая машина является виртуальной невозможностью, она должна логически быть конечной невероятностью. Так что все, что я должен сделать, чтобы сделать это, - это выяснить, насколько точно это невероятно, передать эту фигуру в генератор конечной невероятности, дать ей новую чашку действительно горячего чая и включить ее … … …… ……. Единственное, что им действительно не нравится, это «Смарт-жопа».

Рекомендуемые: