OpenWRT, или что еще можно сделать со своим роутером

в 8:51, , рубрики: linux, OpenWrt, transmission, tutorial, метки: , ,

    Здравствуйте, на написание данной статьи меня натолкнула аналогичная, но в качестве сервера выступала Raspberry Pi. По моему мнению использовать эту маленькую, но при этом достаточно мощную платку в этих целях немного не целесообразно, у многих есть wi-fi роутер с USB портом, а следовательно зачем включать в розетку целый блок питания от компьютера давая при этом пускай и не большой, но все таки расход электроэнергии когда в розетку включено уже все что надо.
В данной статье рассмотрим установку торрентокачалки на практический любой роутер с USB и поддержкой OpenWRT прошивки. В наличии у меня имеется Linksys E3000, но конкретной разницы в установке и настройке OpenWRT нет. Что нам для этого будет нужно:

  • Непосредственно роутер с разьемом USB, в идеале конечно с двумя.
  • Флешка/ USB HDD произвольного объема под Ваши нужды чем больше тем лучше.
  • Буквально пол часа свободного времени чтобы все поставить и настроить.
  • Прямые руки.

Установка / настройка OpenWRT

    Прежде всего сразу оговорюсь что Вы все делаете на свой страх и риск, так как существует вероятность «окирпичивания» Вашего роутера. Проверяем есть ли Ваш роутер в списке поддерживаемых устройств, для этого заходим на сайт OpenWrt

OpenWRT, или что еще можно сделать со своим роутером

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

OpenWRT, или что еще можно сделать со своим роутером

    После этого переходим в вкладку «Downloads»

OpenWRT, или что еще можно сделать со своим роутером

    Тут стоит выбрать какую ветку использовать стабильную (Attitude Adjustment) или соответственно «trunk» в папке snapshots, сразу замечу если Ваш роутер более менее новой модели, то скорее всего в стабильной ветке вы его не найдете.

OpenWRT, или что еще можно сделать со своим роутером

    Переходим непосредственно к скачиванию прошивки.

OpenWRT, или что еще можно сделать со своим роутером

    После того как прошивка скачалась переходим к прошивки Вашего роутера. Для этого необходимо зайти в его вэб-интерфейс который обычно располагается по адресу 192.168.1.1 или 192.168.0.1 в зависимости от производителя роутера. Подробнее по процессу прошивки и настройки Wi-Fi и всего остального для конкретного роутера можете обратится в Google, а то эта статься может растянуться до неприличных размеров, мы же остановимся именно на установке и настройке Transmission.

Установка и настройка Transmission

     После прошивки роутера запускаем PuTTY если Ваша ОС Windows, если Linux то просто запускаете терминал. В поле адрес вбиваем 192.168.1.1 для PuTTY либо команду telnet 192.168.1.1 для Linux. После успешного подключения переходим к установке / настройке пакетов.

    Перед скачиванием пакетов следует маленькое отступление. Так как в роутере физической памяти достаточно мало, колеблется от 4 до 16 мегабайт в зависимости от продвинутости и цены Вашего роутера, нам следует заранее побеспокоится о его увеличении. Ведь мы в любом случае собираемся подключать к нему флешку или жесткий диск так почему бы нам не сделать чтобы роутер грузился непосредственно с раздела на нашем носителе? Давайте сделаем это! Перед всеми манипуляциями с роутером нужно «разбить» Ваш HDD/флешку на несколько разделов.

  1. Раздел под своп (100-200 МБ будет достаточно) * при использовании HDD, при использовании флешки не рекомендуется, так как имеется хоть и большой но все таки ограниченный запас циклов перезаписи
  2. Раздел с которой будет грузится роутер (на Ваше усмотрение от 50 МБ и выше) с файловой системой Ext3 или Ext4 * Вот тут то нам и может пригодится вторая флешка, куда лучше разместить загрузочную область и область для хранения закачек на разных устройствах чтобы безболезненно извлекать ее для скидывания информации без выключения роутера.
  3. Раздел под Ваши загрузки / хранилище все оставшееся место желательно тоже в Ext3/4 если хотите периодический использовать носитель на компьютере то NTFS но приготовьтесь к периодическим ошибкам, так как Linux с этим типом ФС «дружит» довольно посредственно, так же дополнительно придется установить еще один пакет ntfs-3g.

    Это все конечно можно было сделать и на роутере, но на компьютере это все происходит гораздо быстрее и можно воспользоваться программами с графическим интерфейсом, а не просто командной строкой терминала, что для новичка значительно ускоряет процесс. Как все это проделать на Windows и Linux опять же можно посмотреть на Google по той же причине что и первое обращение к этому источнику.

    Приступим. Вводим последовательно команды в терминале

opkg update
opkg install block-mount kmod-usb-core kmod-usb2 kmod-usb-ohci kmod-usb-storage kmod-fs-ext4

Этими командами мы обновили базу репозиториев на роутере и установили необходимые нам пакеты: модули ядра для поддержки USB и модули файловой системы

block info

И ищем наши разделы на флешке / HDD * Вы же не забыли подключить Вашу флешку / HDD к роутеру правда?

mount /dev/sdaX /mnt
mkdir /tmp/cproot
mkdir /home
mount --bind / /tmp/cproot
tar -C /tmp/cproot -cvf — . | tar -C /mnt -xvf — sync; umount /mnt
umount /tmp/cproot

Здесь взамен sdaX надо выбрать тот раздел с которого мы собираемся производить загрузку в дальнейшем. Все остальные команды предназначены для копирования загрузочного раздела роутера на флешку / HDD.

block detect > /etc/config/fstab

Данная команда записывает все найденные разделы для автоматического подключения в файл /etc/config/fstab. Дальше нам надо немого подредактировать этот файл к виду:

config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '0'
option check_fs '0'

config 'mount'
option target '/'
option uuid '7d3abfaf-493a-46bb-9730-1d793ecb9783'
option enabled '1'

config 'mount'
option target '/home'
option uuid '7d3abfaf-463a-46db-9730-1d793ecb4593'
option enabled '1'

config 'swap'
option uuid '76d36596-5710-4b77-a3a7-02a66d469750'
option enabled '1'

Открываем данный файл для редактирования:

vi /etc/config/fstab

Как пользоваться данным редактором можно посмотреть тут или опять же обратится в Google.
Перезагружаем роутер. Опять заходим в консоль и проверяем все ли правильно подмонтировалось:

root@OpenWrt:~# df
Filesystem 1K-blocks Used Available Use% Mounted on
rootfs 2758072 118004 2501828 5% /
/dev/root 2048 2048 0 100% /rom
tmpfs 63340 76 63264 0% /tmp
tmpfs 512 0 512 0% /dev
/dev/sda1 2758072 118004 2501828 5% /

Тут следует обратить внимание на то чтобы rootfs совпадал по параметрам с /dev/sda1, если это так то у нас все получилось. Переходим к следующему пункту.

Установка torrent клиента Transmission.

opkg update
opkg install transmission-daemon transmission-cli transmission-web transmission-remote
/etc/init.d/transmission enable

Открываем файл настроек клиента и редактируем под свои нужды:

vi /etc/config/transmission

config transmission
option enable 1 # непосредственно включает клиент
option config_dir '/etc/transmission' # расположение фалов настроек клиента
option alt_speed_down 50 # ограничение скорости
option alt_speed_enabled false
option alt_speed_time_begin 540
option alt_speed_time_day 127
option alt_speed_time_enabled false
option alt_speed_time_end 1020
option alt_speed_up 50
option bind_address_ipv4 '0.0.0.0'
option bind_address_ipv6 '::'
option blocklist_enabled false
option dht_enabled true
option download_dir '/home/' # директория для загрузок
option encryption 0 # шифрование
option incomplete_dir '/home' # директория для не завершенных загрузок
option incomplete_dir_enabled false # включение/выключение директории для незавершенных загрузок
option lazy_bitfield_enabled true
option lpd_enabled false
option message_level 2
option open_file_limit 32
option peer_limit_global 240
option peer_limit_per_torrent 60
option peer_port 51413
option peer_port_random_high 65535
option peer_port_random_low 49152
option peer_port_random_on_start false
option peer_socket_tos 0
option pex_enabled true
option port_forwarding_enabled false
option preallocation 1
option proxy ""
option proxy_auth_enabled false
option proxy_auth_password ''
option proxy_auth_username ''
option proxy_enabled false
option proxy_port 80
option proxy_type 0
option ratio_limit 2.0000
option ratio_limit_enabled false
option rename_partial_files true
option rpc_authentication_required false
option rpc_bind_address '0.0.0.0'
option rpc_enabled true
option rpc_password ''
option rpc_port 9091
option rpc_username ''
option rpc_whitelist '127.0.0.1,192.168.1.*'
option rpc_whitelist_enabled false
option script_torrent_done_enabled false
option script_torrent_done_filename ''
option speed_limit_down 100
option speed_limit_down_enabled false
option speed_limit_up 40
option speed_limit_up_enabled true
option start_added_torrents false
option trash_original_torrent_files false
option umask 18
option upload_slots_per_torrent 14
option watch_dir_enabled false
option watch_dir ''

Запускаем и проверяем:

/etc/init.d/transmission start

Запускаем браузер и вводим 192.168.1.1:9091 если все работает то на этом все.

Если данная статья кого то заинтересует готов так же рассказать о настройке «файлопомойки», поднятия VPN сервера, настройка IPTV на OpenWRT.

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

UPD: В этой статье не описана настройка подключения интернета от Вашего провайдера, так как слишком много нюансов настроек. Без подключения роутера к интернету естественно ничего не выйдет.

Автор: nightmare04

Источник


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js