Роутер в качестве качалки для торрента: Transmission в прошивках dd-wrt

Пусть правозащитники продолжают свой спор о том, являются ли торренты злом или средством обмена информацией. В данном обзоре, мы не будем настаивать ни на одной из точек зрения относительно этого. Рассмотрим другое. Каждый, имеющий USB-порт роутер торрент-клиентом – может стать. Просто, большинство «бюджетных» моделей, при этом — требуют установку альтернативной прошивки.

Роутер вид с зади

Итак, для чего нужен торрент-клиент на роутере? Чтобы не занимать ваш компьютер. Для чего нужно USB в роутере? Чтобы подключить к нему флешь или жесткий диск с USB-интерфейсом. Но, предупредим читателя сразу: если у вас роутер – не поддерживает BitTorrent в своей «заводской» прошивке, придется установить другую (от «dd-wrt», которую мы здесь рассмотрим). Процедура настройки сервиса, и установки дополнительного ПО – тоже, не для новичков. Поэтому – дважды подумайте, есть ли в этом необходимость (смена прошивки на «альтернативную» — лишает гарантии). Список моделей, поддерживающих торренты изначально:

  1. ZyXEL: Кинетик, Кинетик-Гига;
  2. ASUS: N16, N13U rev. B, N56U, и др.

У других фирм, тоже, такие роутеры – есть. Большинство же моделей, даже располагая портом USB, функцию торрента – по умолчанию, не поддерживают.

Прошивка dd-wrt

Хотите качать торрент через роутер, но вашей модели – нет в списке выше? Тогда, устанавливать альтернативную прошивку, вам придется в любом случае.

Для ASUS-ов, хорошие прошивки с поддержкой USB-опций, имеют название «от Олега». Мы же, рассмотрим «dd-wrt», как поддерживающие наибольшее число разных моделей.

Шаг первый. Идем на http://www.dd-wrt.com/site/support/router-database. Набираем номер модели роутера (например, dir 320, или n16). Смотрим список прошивок.

Прошивка ddwrt для роутера dir 320

Первый сюрприз – прошивок может быть несколько. Они отличаются по функционалу (mini, micro, standard). Старые – на ядре Линукса 2.4. Новые – на 2.6.

Функционал разных версий прошивок – вы смотрите уже здесь: www.dd-wrt.com/wiki/index.php/Что_такое_DD-WRT%3F. Например, здесь — становится ясно, что даже «Standard» на старом ядре 2.4 – USB-порт не поддерживает.

Другой пример: Linksys WRT-610N. Видим, что доступны и старые, и новые версии (K 2.6):

Прошивка ddwrt для роутера Linksys WRT-610N

Остановим свой выбор на Big-Generic. Поддержка USB (как можно убедиться из таблицы функционала версий) – есть и в других версиях, однако, нужна еще совместимость с jffs (поддержка файловой системы jffs). В общем, выбор у пользователя – не такой уж «обширный», об этом, надо было сказать в самом начале…

Примечание: обязательно, обращайте внимание на номер ревизии вашего роутера (различные ревизии, совместимостью – не обладают).

Разные ревизии

Перепрошивку, вы производите в соответствии с рекомендациями к вашему роутеру. Только – с помощью патч-корда (ни каких Wi-Fi)! Обязательно нужно сохранить «заводскую» версию, чтобы, в случае чего, вернуться к ней.

Внимание! Вы должны знать, как выполняется аварийное восстановление! А, перед установкой «dd-wrt», рекомендуется делать аппаратный сброс 30-30-30 (ознакомьтесь с DD-WRT Wiki по вашему роутеру).

Если процесс завершится успешно – вы сможете зайти в новый web-интерфейс, который имеет адрес IP: http://192.168.1.1. Имя-пароль: root-admin (для K2.4), или – просят придумать (для K2.6).

Так выглядит прошивка из нутри

Роутер с клиентом торрент – у нас появится, но только после установки еще одного дополнения.

Перед установкой Optoware

Софт Optoware (такая программа для Linux), мы сейчас установим на роутер. Вернее – на USB диск (который, предварительно нужно отформатировать, создав три «линуксовых» раздела).

Берем флешку, или USB-диск. Берем live-cd с Линукс (даже knoppix), или просто компьютер с linux/unix. Если вы знаете, как записывать CD-диск из Iso-образа, и как загрузить ПК с CD-рома, этого будет достаточно.

Загружаемся в Линуксе. Подсоединяем к компьютеру USB-флешку. Разделы нужны будут следующие:

  1. EXT2, примерно 320 мегабайт
  2. swap, 64 Mb
  3. EXT2, остаток свободного места

Воспользуйтесь программой GParted. В этой программе, обратите внимание: физический накопитель отображается в правом верхнем углу окна.

Подготовка флешки

Операции над существующим разделом – доступны по «правому» клику мышкой. «Размонтируйте» раздел (т.к. сначала, вы удаляете существующий). После удаления, создать новые — можно, кликая правой кнопкой на «неразмеченной области» (Новый/NEW).

Чтобы изменения «заработали», выберите в верхнем меню «Edit» -> «Applay All Operations» («Редактировать» -> «Применить все операции»). Подготовленную таким методом флешку, вы подключаете к роутеру. Выйдете из Линукс, перезагрузите ПК.

Дальнейшая настройка роутера для торрента – будет продолжена через его web-интерфейс. Нужно включить поддержку USB и поддержку JFFS. Второе – управляется вкладкой «Administration» –> «Management» (там есть «блок» JFFS). Ну а в «Services» — > «USB» — сделайте, как на рисунке:

Настройка USB. на роутере

То есть, не нужно включать «2.0», UCHI, автомонтирование.

На каждой вкладке, сохраняют настройки кнопкой «Save», а чтобы вступили в силу – нажимают «Apply Settings».

Теперь, на компьютере, включаем командную строку, и пишем: Telnet. В появившейся строке – пишем IP-адрес роутера (192.168.1.1, если не меняли):

Командная строка

После ввода логина (root) с вашим паролем, видим интерфейс командной строки управления:

Прошивка на ddwrt

Примечание: если не включается – тогда, проверьте в web-интерфейсе, разрешен ли сервис Telnet («Administration» -> «Services»).

В интерфейсе Telnet-а, пишем: dmesg.

Появится список, в котором – обязательно должно быть «/dev/scsi/host0/bus0/target0/lun0: p1 p2 p3».

Если – так, то через web-интерфейс, в «Administration» -> «Commands» — копируем следующее:

  • mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part1 /jffs
  • mount -o noatime /dev/scsi/host0/bus0/target0/lun0/part3 /mnt
  • mount -o bind /jffs/opt /opt
Монтируем флешку

После чего – жмем «среднюю» кнопку («Save Startup»), и — перезагружаем роутер.

Установка Optoware

В принципе, ничего особенного. Заходим на роутер (который только что перезагрузили) снова по Telnet.

Пишем команды:

  • mkdir /jffs/opt
  • (создаем директорию opt в разделе, который мы ранее «обозвали» «jffs»).
  • mount -o bind /jffs/opt /opt

Теперь, даем команду на скачивание скрипта:

  • wget http://www.3iii.dk/linux/optware/optware-install-ddwrt.sh -O — | tr -d «\r» > /tmp/optware-install.sh

И запускаем этот скрипт командой:

  • sh /tmp/optware-install.sh

Внимание! Установка может занять много времени (20-30 минут).

Теперь, осталось сменить пути «по умолчанию»:

  • export PATH=/opt/bin:/opt/sbin:$PATH

и

  • unset LD_LIBRARY_PATH

Последняя команда по установке:

  • /opt/bin/ipkg-opt update.

Установка Transmission (это и есть клиент торрента)

Команда для установки Transmission выглядит так: ipkg-opt install transmission. Конечно, ее вы запускаете из командной строки Telnet.

После установки Transmission, обязательно запустите ее один раз. Например, так: /opt/bin/transmission-daemon -g /jffs/torrents/.config/transmission-daemon

Подождите (минуты 2-3), и «выключите» ее:

  • killall transmission-daemon

Осталось только (через web-интерфейс) добавить в автозагрузку роутера такие команды:

  • export PATH=/opt/bin:/opt/sbin:$PATH

и

  • /opt/bin/transmission-daemon -g /jffs/torrents/.config/transmission-daemon -a «192.168.1.1» -p 9091 –w /mnt

Эта строка, будет в списке последней. После нажатия «Save Startup», роутер можно перезагрузить.

Примечание: настройка торрента через роутер, идет через web-интерфейс Transmission (порт 9091). Этот порт открыть можно командой /usr/sbin/iptables -I INPUT 1 -p tcp —dport 9091 -j logaccept (которую, вы можете добавить в список «Commands» первой).

Проброс порта для роутера

Как видите, мы не рассматриваем то, как в «dd-wrt» настроить соединение с интернет (также — маршрутизацию, сеть Wi-Fi…). Думаем, пользователь – сможет найти информацию самостоятельно.

Также, мы не рассматривали использование раздела SWAP (аналогичен «файлу подкачки» Виндовз). Актуально это для роутеров с ОЗУ менее, чем 32Мб. А, использовать «твердотельные» флешь – в этих целях, не рекомендуют (подробная инструкция по USB-SWAP есть здесь: http://www.dd-wrt.com/wiki/index.php/Linux_SWAP).

Программа Transmission Remote

Качать программу – нужно отсюда (http://code.google.com/p/transmisson-remote-gui/). В секции «Downloads», видим, что она – кроссплатформенная (и потому, качаем один exe-файл).

Программа, как можно понять из названия, является «оболочкой» для Transmission. И устанавливается – на компьютере (чтобы управлять торрент-качалкой, то есть Transmission, удаленно).

Использование Transmission Remote позволяет «без проблем» добавлять и удалять торренты (ее интерфейс – очень схож с uTorrent). Но сначала — рассмотрим, как настроить торрент через роутер дополнительно (задать «лимит скорости», и т.п.).

Итак, устанавливаем и запускаем (ниже – рассмотрим программу для Windows, но для других ОС, функционал – тот же). Перед нами возникнет окно:

Интерфейс программы Transmission Remote

Оно же доступно в «Инструменты» – «Параметры соединения». Transmission у нас – на 192.168.1.1: 9091 (что мы и задали), а пароль и логин – как для Telnet-сессии. Нажимаем «ОК», и переходим к настройкам торрент-клиента:

Настройка transmission Remote

Основное – это «отменить» DHT. Число пиров, если роутер не очень «мощный» — должно быть 30-40, не больше.

Это мы выставили в закладке «Сеть». А вот на закладке «Скорость» — самое важное:

Выставляем скорость

Лимит скорости – не стоит делать слишком большим. Все же, роутер – не персональный компьютер.

Надеемся, с этой программой – понятно. Программу можно закрыть, удаленный ПК – выключить, но торрент – все равно будет упорно работать (без какого-либо участия пользователя).

Дополнительная настройка роутера под p2p

В пиринговых сетях, используется диапазон портов (1024-65535), отличающийся от HTTP. Это – верно, если даже вы просто работаете в uTorrent с ПК. В сетях p2p роутер – видит все порты, но работает с ними – по-разному (с сетью пирингов – более медленно).

Заходим в «NAT / QoS» -> «QoS»:

Настройка для p2p

Должно быть, «Start QoS» — «Enable». Также, выставьте скорость (именно, Uplink!) на 80-90% от максимально возможной (или же, меньше).

Жмем «Add/Edit Services». Добавляем 2 сервиса так:

Добавляем сервис p2p

Главное: в «P2PTCP» должно быть «TCP»; в «P2PUDP» — «UDP».

Жмем «Save». Применяем изменения («Apply Settings»).

Остался последний шаг. Выставляем приоритет сервисам («Bulk»).

Выставляем приоритет

Снова жмем «Save», «Apply Settings».