Делаем из роутера минисервер. Часть 1 — установка Optware.

DIR-320 + HDD + 3G-модем + принтер

Маршрутизатор D-Link DIR-320 является довольно универсальным устройством. При соответствующей настройке из него можно получить Web-сервер, NAS (сетевое хранилище), прокси-сервер, баннерорезку, медиасервер, можно возложить на него функции управления другой техникой и многое другое.

Итак, дано:

  • Роутер D-Link DIR-320 с прошивкой Tomato v1.27;
  • 3G-модем Huawei E173 (совсем недавно был Huawei E1550);
  • Принтер Samsung ML-1641;
  • Жёсткий диск Toshiba MK3265GSX 320Гб во внешнем боксе;
  • USB-хаб D-Link DUB-H7.
dscf2893

Установка Optware
Для установки Optware понадобится любой флэш-накопитель или внешний жесткий диск.

  1. Форматируем флэшку в файловую систему ext3. Это можно сделать любыми доступными вам средствами: из Linux, загрузившись с Linux LiveCD и т.д.
  2. После этого создадим в корне накопителя папку «Optware».
  3. В админке роутера перейдём в раздел «USB and NAS — USB Support» и поставим все галочки.
  4. Подключим флэшку к роутеру. После перезагрузки она должна автоматически примонтироваться к файловой системе роутера в /mnt/имя_раздела .
  5. Подключимся к роутеру через Telnet или по SSH (рекомендую для этого PuTTY).
    Подключение через telnet
    Подключение через telnet
    Введём команду «mount». Ищем подобную строчку:
  6. /dev/discs/disc0/part1 on /tmp/mnt/system type ext3 (rw,noatime,nodev)

    В данном случае system — это имя раздела накопителя.

  7. Добавляем в админке роутера в поле «Run after mount» следующую команду (system заменить на ваше имя раздела):
  8. mount -o noatime -t ext3 -obind /mnt/system/Optware /opt

    Теперь раздел автоматически будет монтироваться в директорию /opt , которая необходима для Optware.

  9. Перезагружаемся и проверяем, так ли это. Если нет, то смотрим где мы допустили ошибку.

  10. В качестве накопителя можно использовать microSD карточку, вставленную в картридер 3G-модема.
    dscf2970
    Для монтирования флэшки, в данном случае, в поле «Script hotplug» (USB and NAS — USB Support) необходимо вписать следующий скрипт:

    1
    2
    3
    4
    5
    
    mkdir -p /tmp/mnt/sd
    mount -o noatime /dev/discs/disc0/part1 /tmp/mnt/sd
    if [ -d /mnt/sd ]; then
      mount -o noatime -t ext3 -obind /mnt/sd/Optware /opt
    fi


    Если всё правильно, то настало время установить Optware. Для этого в консоли даём следующие команды:

    1
    2
    
    wget http://wd.mirmana.com/optware-install-ddwrt2.sh -O - | tr -d '\r' > /tmp/optware-install.sh
    sh /tmp/optware-install.sh
  11. Теперь Optware установлено. Для управления пакетами программ служит утилита ipkg-opt.

Список пакетов Optware установленных у автора на текущий момент можно посмотреть здесь.

Команды ipkg-opt
Обновление списка доступных программ:

ipkg-opt update

Обновление всех установленных пакетов до актуальной версии:

ipkg-opt upgrade


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

Просмотреть список всех пакетов:

ipkg-opt list | more

Просмотреть список всех установленных пакетов:

ipkg-opt list_installed | more

Установка пакетов:

ipkg-opt install название_пакета

Удаление пакетов:

ipkg-opt remove название_пакета

Скачать пакет (файл ipk):

ipkg-opt download название_пакета

Установить ранее скачанный пакет (ipk):

ipkg-opt install имя_файла.ipk

Получить информацию о пакете:

ipkg-opt info название_пакета
Рекомендуемые для обязательной установки пакеты
  • coreutils — набор основных unix утилит
  • diffutils — набор unix утилит для работ по сравнению строк, текстов и т.д. (пригодится при написании скриптов)
  • man — для чтения мануалов по командам
  • mc — файловый менеджер Midnight Commander
  • nano — текстовый редактор
  • thttpd — web-сервер
  • transmission — торрент-клиент


Например, установим файловый менеджер Midnight Commander:

ipkg-opt install mc

После этого необходимо задать переменные окружения. Для этого создадим (или отредактируем если он существует) файл /opt/etc/profile

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#
# Bash initialization script
#
 
#PS1="[\u@\h \W]$ "
export PATH=/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin:$PATH
LD_LIBRARY_PATH=/opt/lib:${LD_LIBRARY_PATH}
export HOSTNAME=`cat /proc/sys/kernel/hostname`
 
 
export SHELL="/opt/bin/bash"
export TERMINFO="/opt/share/terminfo" 
export TERM="xterm"
 
# Раскоментируйте следующие строки чтобы включить русское меню в MC.
# У меня русский язык нормально работал только при подключении через Telnet под убунтой.
 
#export LC_ALL="ru_RU.KOI8-R"
#export LANG="ru_RU.KOI8-R"
#export LANGUAGE="ru_RU.KOI8-R"
#export LC_CTYPE="ru_RU.KOI8-R"
#export LC_NUMERIC="ru_RU.KOI8-R"
#export LC_TIME="ru_RU.KOI8-R"
#export LC_COLLATE="ru_RU.KOI8-R"
#export LC_MONETARY="ru_RU.KOI8-R"
#export LC_MESSAGES="ru_RU.KOI8-R"

После этого разорвём Telnet/SSH соединение и зайдём снова. Попробуем запустить Midnight Commander:

mc
Midnight Commander

Во второй части статьи будет подробнее рассказано про скрипты.
Часть вторая

Похожие записи:

13 Комментарии “Делаем из роутера минисервер. Часть 1 — установка Optware.

  1. Добрый день, почему вы в описании указали USB-хаб D-Link DUB-H7, а на общем фото у вас находится D-Link DUB-E100?
    1) Могу ли я в качестве накопителя использовать внешний HDD Samsung G2 Portable 500GB? Будет ли он сильно перегреваться?
    2) Какая будет скорость передачи файлов с внешнего HDD на ПК по Wi-fi? Смогу ли я просматривать видео, музыку, фото с данного хранилища?

    1. Здравствуйте!
      Вы о чём? На фото именно D-Link DUB-H7, а то что вы написали «D-Link DUB-E100» — является Ethernet-USB контроллером.
      1) Можно использовать любой внешний жёсткий диск. Про нагрев ничего сказать не могу, это зависит от конкретной модели. Если жёсткий диск перегревается при обычной своей работе, то это плохой жёсткий диск.
      2) Скорость передачи данных составляет 2-3 Мбайт/сек

      1. А если у меня модем позволяет качает торренты около 8 Мбит/сек, то получаеться так, что на винчестер сможет поподать только 2-3 Мбит/сек?

          1. Извини, я полусонный был, поэтому написал не правильно. За D-Link DUB-H7 тоже извини, просто на фото у тебя указана старая модель и я его спутал! А с D-Link DIR 320 NRU можно сделать тоже самое, что указано выше в описании?

          2. Да ничего страшного)
            Про D-Link DIR 320 NRU не знаю. На него вроде ещё не создали альтернативные прошивки…

  2. Как вариант ipkg-opt update && ipkg-opt upgrade повесить на cron. Но для надежности лучше это обернуть в screen, чтобы в случае пакетов, требующих при установке вмешательства пользователя не возникало сюрпризов.

  3. Добрый день, я мало что понимаю в прошивках роутеров, нашел на одном ресурсе такую: DIR320-generic-2.0.130.bin, но возможно это ни о чем не говорит. С помощью ее я смог настроить подключение к Интернету через 3G модем, но вот телнет не хочет подключаться. Может есть смысл поенять прошивку на Tomato, можно узнать на ее ссылку?

    А вообще хочу видеть IP камеру через Интернет, подключенную к Dir-320, который выходит в сеть через 3G модем, это возможно? Пока у меня этого не получилось, даже если у камеры есть DDNS сервер.

    А в идеале, рулить освещением в доме с помощью ардуино через Интернет.

    1. Здравствуйте! Найти прошивку Tomato можно например здесь: http://dir-320.weebly.com/tomato-firmware.html
      Какую именно ставил я — не помню. Получить доступ к камере через 3G не получится, так как для этого нужен белый IP-адрес, который у сотовых операторов просто так не получить.

  4. Здравствуйте! Помогите, не могу поставить Optware! DIR-320 Tomato 1.28.8754 ND USB Std Флешка ext3 2Gb смонтирована. WARNING: Unable to remove temporary directory: /opt/ipkg-lq4G8M: No space left on device.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *