Я уже писал как-то о том “как выбрать роутер для дома”, для себя я выбрал роутер TP-Link TL-WR1043ND. Отличная, модель, но имеет один минус, стандартная прошивка значительно уступает по функционалу, семейству прошивок DD-WRT.
Отличие DD-WRT прошивки от заводской
Во-первых стоит отметить, что DD-WRT прошивка представляет из себя операционную систему основанную на ядре Linux. Даже с настройками по умолчанию имеет очень широкий функционал, значительно шире чем в заводской прошивке. Встроены такие компоненты как, FTP сервер, Samba, WOL и многое другое. Через Веб интерфейс доступна подробная статистика и нагрузка на каналы локальной, беспроводной сети и интернета, так же можно увидеть нагрузку на процессор и память роутера.
Если настроить роутер на установку дополнительных пакетов, можно превратить ваш роутер в домашний медиа-сервер. Подключенный жесткий диск с установленным торрент клиентом, вещание ITPV по протоколу HTTP, для просмотра по wi-fi. Если у вас есть телевизор с поддержкой стандарта DLNA, есть возможность подключить телевизор к роутеру и просматривать IPTV, а так же смотреть фильмы с жесткого диска.
Как прошить роутер
С помощью данной инструкции можно прошить любой роутер на чипе Atheros, к примеру TP-Link TL-WR1043ND, WRT160NL, D-Link DIR-825, Netgear WNDR3700 и другие.
Что-бы прошить роутер DD-WRT прошивкой, нужно скачать две прошивки с FTP сервера dd-wrt. Заходим по ссылке, выбираем нужную модель роутера, скачиваем 2 файла прошивками, factory-to-ddwrt.bin и tl-wr1043nd-webflash.bin (имя файла для каждой модели роутера разное).
Сначала мы будем прошивать роутер прошивкой factory-to-ddwrt, которая специально предназначена для перехода с заводской прошивки на прошивку dd-wrt. Для этого выполняем следующие действия:
- В адресной строке браузера набираем http://192.168.1.1, вводим данные для авторизации (стандартные данные для авторизации на tp-link роутерах login: admin, password: admin
- В меню роутера выбираем “System Tools”,в подменю выбираем пункт “Firmware upgrade”. Нажимаем на кнопку “выбрать файл” и указываем прошивку factory-to-ddwrt.bin, которую скачали ранее. Нажимаем на кнопку “Upgrade”, начнется процесс обновления ПО.
- Роутер через некоторое время уйдет в перезагрузку, после вы увидите обновленный интерфейс. На главной странице при первом запуске нужно указать логин и пароль для администрирования.

- Выбираем в меню dd-wrt прошивки пункт “Administration”, далее “Firmware Upgrade”, “ в After flashing, reset to” ставим “Don’t Reset”, ниже выбираем файл прошивки в моем случае “tl-wr1043nd-webflash.bin” и нажимаем кнопку “Upgrade”
- Стабильная прошивка dd-wrt установлена, можно приступать к настройке.
Настройка DD-WRT
На вкладке “Setup” настраиваем локальную сеть, в соответствии с данными выданными провайдером.
На вкладке “Wireless” указываем настройки wifi
На вкладке “Services” активируем “SSH” и “Telnet”
- Вкладки “USB” и “NAS” настраиваем, как на картинках ниже.
- На вкладке “Security ставим “SPI Firewall” в положение “Disable”.
Как подключить внешний жесткий жиск или флешку к роутеру
Приступаем к подготовке подключения внешнего устройства.
- Скачиваем и устанавливаем бесплатную программу для работы с жесткими дисками EaseUS® Partition Master Home Edition.
- Подключаем к компьютеру внешний жесткий диск или флешку, которая в последствии будет подключена к роутеру.
- Запускаем программу, находим в списке нужный диск. Нажимаем правой кнопкой мыши, выбираем “delete partition” и нажимаем ок.

- По удаленному разделу нажимаем правой кнопкой мыши, выбираем пункт “Create Partition”, устанавливаем “Create As” в положение “Primary”, “File System” ставим “EXT3”.

- В главном окне программы нажимаем “Apply”. Ждем завершения операции.

- Подключаем внешний жесткий диск или флешку в USB порт роутера и перегружаемся.
Для того чтобы проверить, смонтировался ли жесткий диск заходим по адресу http://192.168.1.1/USB.asp и смотрим Disk Info. Если есть строка “Status: Mounted on /mnt” значит все ок.
Установка дополнительных пакетов и программ
Теперь подготовим роутер к установке дополнительных пакетов optware, для этого нужно скачать:
PuTTY - Telnet\SSL клиент
WinSCP – Файловый менеджер с поддержкой любых протоколов.
OpenWRT-Lib – Библиотеки от OpenWRT прошивок
Запускаем PuTTY. В “Host Name” указываем ip-адрес роутера 192.168.1.1, “Connection type” ставим “SSH” и нажимаем “Open”. Логин всегда Root, пароль – который указывали после прошивки роутера.
Поочередно копируем следующие команды:
cd /mnt mkdir etc opt root touch optware.enable chmod 755 etc opt root mkdir opt/lib chmod 755 opt/lib cp -a /etc/* /mnt/etc/ mount -o bind /mnt/etc /etc mount -o bind /mnt/opt /jffs
Вставка в PuTTY производиться правой кнопкой мыши.
Устанавливаем и запускаем WinSCP
Нажимаем New. Host name – 192.168.1.1, port 22, User – root, Password – такой же как и в PuTTY, File protocol – SCP и жмем Login.
Заходим в каталог /mnt/opt/lib и копируем туда все файлы и архива OpenWRT-Lib
WinSCP не закрываем, возвращаемся в PuTTY и выполняем следующие команды:
ls /jffs/lib chmod a+x /jffs/lib/*
cd /tmp wget <a href="http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/opkg_576-1_ar71xx.ipkipkg">http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/opkg_576-1_ar71xx.ipk ipkg</a> install /tmp/opkg_576-1_ar71xx.ipk
В WinSCP заходим в каталог /etc, создаем файл,для этого в меню выбираем Files – New – File (либо нажимаем Shift+F4). Вводим opkg.conf и копируем туда:
src/gz snapshots <a href="http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/dest">http://downloads.openwrt.org/backfire/10.03.1-rc4/ar71xx/packages/ dest</a> root /opt dest ram /tmp lists_dir ext /tmp/var/opkg-lists
Сохраняемся.
Заходим в http://192.168.1.1/Diagnostics.asp
В поле Commands вставляем:
sleep 2 if [ -f /mnt/optware.enable ]; then mount -o bind /mnt/etc /etc mount -o bind /mnt/root /tmp/root mount -o bind /mnt/opt /opt else exit fi if [ -d /opt/usr ]; then export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib' export PATH='/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin' else exit fi
Жмем “Save Startup”
Перезагружаемся, для этого в PuTTY выполняем команду Reboot.
Снова запускаем PuTTY и выполняем команды:
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib' export PATH='/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin' opkg update
Ставим следующие пакеты.(копируем команды в PuTTY):
opkg install libc opkg install libgcc opkg install uclibcxx opkg install libncurses opkg install busybox
Снова запускаем WinSCP. Заходим в каталог /mnt/root и редактируем файл .profile, если такого файла нет то создаем. Вставляем следующее содержимое:
export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib:/opt/usr/local/lib' export PATH='/sbin:/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/usr/bin:/usr/sbin:/opt/usr/local/bin' export PS1='\[\033[01;31m\]\u@\h \[\033[01;34m\]\W $ \[\033[00m\]' export TERMINFO='/opt/usr/share/terminfo'
Сохраняем файл и перезагружаемся командой Reboot.
После перезагрузки в PuTTY выполняем команду:
opkg update
Конфигурирование роутера для установки пакетов закончено. Можно устанавливать пакеты.
Выполняем команду:
opkg install mc
для установки файлового менеджера Midnight Commander на роутер.
IPTV через HTTP для просмотра по wifi
Если Ваш провайдер предоставляет услуги трансляции IPTV, так как Multicast вещание довольно сильно загружает канал, для просмотра iptv чезер Wifi нужно преобразовать udp трафик в http, для этого выполним следующие действия:
Заходим http://192.168.1.1/Diagnostics.asp
Редактируем Startup
Добавляем комманду:
cd /tmp wget <a href="http://files.0day.triolan.net.ua/triolan.ua/dd-wrt/atheros/udpxy">http://files.0day.triolan.net.ua/triolan.ua/dd-wrt/atheros/udpxy</a> chmod +x udpxy /tmp/udpxy -a ip_адрес_роутера -p 4760 -m Ваш_внешний_Ip -B 1Mb -M 30
ip_адрес_роутера – если вы не меняли, то адрес 192.168.1.1
Ваш_внешний_Ip – Постоянный Ip-адрес предоставляемый провайдером.
В итоге полный Start скрипт должен быть примерно такой:
cd /tmp wget <a href="http://files.0day.triolan.net.ua/triolan.ua/dd-wrt/atheros/udpxy">http://files.0day.triolan.net.ua/triolan.ua/dd-wrt/atheros/udpxy</a> chmod +x udpxy /tmp/udpxy -a 192.168.1.1 -p 4760 -m 178.151.85.67 -B 1Mb -M 30 sleep 2 if [ -f /mnt/optware.enable ]; then mount -o bind /mnt/etc /etc mount -o bind /mnt/root /tmp/root mount -o bind /mnt/opt /opt else exit fi if [ -d /opt/usr ]; then export LD_LIBRARY_PATH='/opt/lib:/opt/usr/lib:/lib:/usr/lib' export PATH='/opt/bin:/opt/usr/bin:/opt/sbin:/opt/usr/sbin:/bin:/sbin:/usr/sbin:/usr/bin' else exit fi
После конфигурирования нажимаем “Save Startup”
Теперь для просмотра потока в IPTV Player нужно настроить сетевой интерфейс:
192.168.1.1:4760
Можно наслаждаться просмотром iptv по wifi , без торможений, в высоком качестве.
Настройка Transmission
Transmission — это торрент клиент с помощью которого можно закачивать, совершенно любые файлы, на флешку или жесткий диск, которые подключены к вашему роутеру, даже когда ваш компьютер выключен.
Для того чтобы установить transmission на роутер с прошивкой dd-wrt, нужно выполнить команду:
opkg install transmission-webДля первоначальной настройки, требуется запустить transmission на несколько секунд, для этого выполняем команду:
transmission-daemonЖдем около двадцати секунд и выполняем команду:
killall transmission-daemonТеперь запускаем WinSCP и идем в каталог /mnt/root/.config/transmission-daemon и открываем для редактирования файл settings.json (если этот файл отсутствует, создаем).
Удаляем все содержимое и вставляем следующий текст, предварительно отредактировать параметры: «rpc-username» и «rpc-password».
{ "alt-speed-down": 50, "alt-speed-enabled": false, "alt-speed-time-begin": 540, "alt-speed-time-day": 127, "alt-speed-time-enabled": false, "alt-speed-time-end": 1020, "alt-speed-up": 50, "bind-address-ipv4": "0.0.0.0", "bind-address-ipv6": "::", "blocklist-enabled": true, "blocklist-url": "http://www.example.com/blocklist", "cache-size-mb": 2, "dht-enabled": true, "download-dir": "/mnt/share/torrents", "download-limit": 100, "download-limit-enabled": 1, "encryption": 2, "idle-seeding-limit": 30, "idle-seeding-limit-enabled": false, "incomplete-dir": "/mnt/share/incomplite", "incomplete-dir-enabled": false, "lazy-bitfield-enabled": true, "lpd-enabled": false, "max-peers-global": 35, "message-level": 2, "open-file-limit": 32, "peer-limit-global": 240, "peer-limit-per-torrent": 60, "peer-port": 25000, "peer-port-random-high": 65535, "peer-port-random-low": 49152, "peer-port-random-on-start": false, "peer-socket-tos": 0, "pex-enabled": true, "port-forwarding-enabled": true, "preallocation": 1, "ratio-limit": 2, "ratio-limit-enabled": false, "rename-partial-files": true, "rpc-authentication-required": true, "rpc-bind-address": "0.0.0.0", "rpc-enabled": true, "rpc-password": "придумать пароль", "rpc-port": 9091, "rpc-username": "придумать логин", "rpc-whitelist": "", "rpc-whitelist-enabled": false, "script-torrent-done-enabled": false, "script-torrent-done-filename": "", "speed-limit-down": 100, "speed-limit-down-enabled": false, "speed-limit-up": 100, "speed-limit-up-enabled": false, "start-added-torrents": true, "trash-original-torrent-files": false, "umask": 18, "upload-limit": 200, "upload-limit-enabled": 1, "upload-slots-per-torrent": 14 }
Сохраняем файл. Через WinSCP создаем каталоги:
mnt/share
mnt/share/torrents
mnt/share/incomplite
Сюда будут скачиваться файлы.
Помещаем transmission в автозагрузку, для этого заходим на http://192.168.1.1/Diagnostics.asp , добавляем в старт скрип следующее:
source /mnt/root/.profile
killall transmission-daemon
sleep 2
transmission-daemon -g /mnt/root/.config/transmission-daemon/Запускаем WinSCP, идем в каталог /mnt/root/, открываем файл .profile, в самый конец добавляем строчку:
export TRANSMISSION_WEB_HOME='/opt/usr/share/transmission/web/'
Теперь разрешаем входящие соединения на transmission. Через веб-интерфейс заходим в http://192.168.1.1/Diagnostics.asp в Commansds вставляем строку:
iptables -I INPUT -p tcp --dport 25000 -j ACCEPTНажимаем «Save Firewall»
Теперь перезагружаем роутер.
Проверяем в браузере работу веб-обвязки по ссылке http://192.168.1.1:9091, будет запрос на ввод логина и пароля, вводим те что указывали в файле settings.json
Для удобства можно воспользоваться бесплатной утилитой transmisson-remote-gui
Настройка transmisson-remote-gui
Настройки элементарные. На вкладке «подключение» указываем:
Узел: 192.168.1.1
Порт: 9091
Пользователь и пароль те что указывали в конфиге transmission
Переходим на вкладку «Пути» и вставляем следующую строку:
/mnt/share/torrents=\\192.168.1.1\Public\share\torrents
Все.
