DLINK Dir-300 перепрошивка. OPENWRT настройка
Значит так есть роутер dir-300, есть интернет и есть пиво — хотим улучшить возможности железки.
Есть в сети такой линукс — называется OpenWRT — это 2 метровый AirOS с возможностью установки доп модулей и прочей билеберды — главное, что он позволит сделать все задачи связанные с маршрутизацией. Что мы имеем в начале — dir-300 может получать в wan порт интернет и натить его для lan-портов и wifi сети + есть возможности подключится к pptp серверу как клиент или pppoe клиентом стать. Есть также безсмысленный telnet который не позволит ничего сделать так как запись на устройство запрещена почемуто — кому интересно:
login: Alphanetworks
password: wrgg19_c_dlwbr_dir300
Зачем можно перепрошить этот девайс на openwrt — ну например надо влепить на железку pptpd сервер или требуется потдержка vlan-ов или комуто понадобился например RIP или OSPF, в общем на openWRT есть все что умеет любой Linux — если функционал железки позволяет сделать задачи поставленные вами — то баловаться не стоит но если все таки захотелось получить за 350 грн мегадевайс то вперед.
Итак нам надо:
1.Выход в сеть
2.Пиво
3.Linux машина
4.D`link DIR-30
Качаем с сети такой файлик «dir300-flash.sh» лежит тут (http://x-alina.freifunk-potsdam.de/downloads/dir300-flash/).
Ставим tftpd, netcat — если вдруг нету ip ставим и его
Распаковываем dir300-flash и в каталоге с распакованными файлами пишем
тянем с сети саму прошивку http://downloads.openwrt.org/kamikaze/8.09. s-root.squashfs
http://downloads.openwrt.org/kamikaze/8.09. os-vmlinux.lzma
ВНИМАНИЕ ТЯНУТЬ ТОЛЬКО С ОФФИЦИАЛЬНОГО САЙТА В ДРУГОМ МЕСТЕ МОЖЕТ БЫТЬ БИТАЯ — САМ НА ЭТО НАПАРОЛСЯ
openwrt-atheros-root.squashfs и openwrt-atheros-vmlinux.lzma ложим рядом со скриптом dir300-flash.sh
— втыкаем провод одним концом в комп а вторым в девайс в WAN. порт
— выключаем девайс (вынимаем провод питания)
запускаем $ dir300-flash.sh eth0 (ну или eth1 смотря куда засунули кабель)
и сразуже втыкаем провод питания в железку обратно
идем курить)
возвращаемся если все хороше то нам напишут Happy hacking! иначе чтото там страшное про способ востановить родную прошивку
после прошивки система будет доставляться – минут от 3 до 15
перетыкиваем кабель в LAN порт — ставим себе ип 192.168.1.2/24
пишем в броузере 192.168.1.1 и пьем пиво
после того как установите пароль на девайсе будет работать ssh
в интерфейсе веб морды разобраться не сложно — и с неё можно ставить модули — тыкаем обновить список модулей и выбираем что доставить — мне надо были mc, pptpd, tc, ip, mini-snmpd — всё это влезло
Есть минус — пропадает кудато WAN порт — или я не могу его настроить. Ну это не страшно — пишем алиасами несколько адресов на lan, заходим по ssh и в скрипт /etc/init.d/firewall пишем в секцию старта чтоб было гдето так — вобщем уже зависит от уровня извращенности ума.
start() <
. /lib/firewall/uci_firewall.sh
fw_init
iptables -I INPUT -s 172.16.0.0/16 -p tcp —dport 80 -j DROP
iptables -I FORWARD -s 192.168.1.0/24 -j ACCEPT
iptables -t nat -I POSTROUTING -d 172.16.0.0/16 -j SNAT —to 172.16.22.85
iptables -t nat -I POSTROUTING -s 192.168.1.10 -j MASQUERADE
>
stop() <
. /lib/firewall/uci_firewall.sh
fw_stop
>
Все замечания и вопросы по почте asad@online.ua Александр Туткевич.
Прошивка OpenWRT 15 на wifi роутер D-Link DIR300NRUB7
Сегодня прошьем на WIFI роутер D-Link DIR300NRUB7 который постоянно зависает и глючит прошивку OpenWRT последней на данный момент 15 версии.
Сохраняем скачиваемую прошивку на компьютер:
Подключаем роутер к компьютеру, предварительно для сетевой карты указываем айпи 192.168.0.2, и далее используем инструкцию с официального сайта OpenWRT по прошивке роутера через Веб интерфейс режима Emergency room. У этого режима разные названия, но суть одна: через этот режим вы всегда сможете восстановить свой роутер после экспериментов, установить openwrt, dd-wrt и восстановить стандартную прошивку.
Выключаем роутер, вынимаем все остальные кабели, подключаем компьютер к роутеру (для b1 рекомендуется использовать синий кабель из комплекта.)
Устанавливаем на компьютере IP вручную 192.168.0.2, подсеть 255.255.255.0, шлюз 192.168.0.1.(Если не сработало то 192.168.1.2, подсеть 255.255.255.0, шлюз 192.168.1.1)
Видим веб-интерфейс восстановления прошивки, в открывшемся окне кликаем на кнопку Обзор и выбираем скачанный файл прошивки:
После автоматической перезагрузки получаем openwrt, адрес админки 192.168.1.1(не забываем сменить настройки сетевухи на автоматические):
- Если возникают проблемы с загрузкой образа, то поэкспериментируйте с разными браузерами и их старыми версиям.(firefox 13, ie8).
- Если возникают проблемы с загрузкой образа на b5,b6,b7, и у вас стоит одна из последних прошивок d-link, то, скорее всего, вам придется понизить версию u-boot.
После установки прошивки, заходим в веб интерфейс OpenWRT 15 указав логин root без пароля, и на скриншоте ниже видим, что веб интерфейс напоминает, о том, что пароль пользователя root отсутствует и необходимо обязательно установить сложный пароль, а так же настроить безопасность WIFI сети со сложным паролем:
Сегодня мы установили прошивку OpenWRT 15 на wifi роутер D-Link DIR300NRUB7, буду рад, если Вам понадобится данный материал.
Сделаем небольшой перерыв и посмотрим интересное видео о самодельном циклоне из ведра:
[OpenWRT] Навернул роутер dir-300 A1
Процесс прошивки шел гладно, единственный косячок был на этом шаге:
Enter script, terminate with empty line >> fis load -l vmlinux.bin.l7 >> exec >> Boot script timeout (1000ms resolution): 5
Вместо 5 был нуль. Далее, когда подошел к самому концу
. Program from 0x80ff0000-0x81000000 at 0xbffe0000: .'' DD-WRT>reset
модем вроде как даже не перезапустился, но из телнета выкинуло. На всякий случай выждал около 5-6 минут и попробовал подключиться к нему через телнет. Не вышло. Пробовал перезапустить ресетом — не работает. Выдернул/заткнул кабель питания — включается, запускается (все кнопки мигают, как и должно быть при запуске) но телнетом не выходит подключиться. Так же не получается подключиться через web-интерфейс 192.168.1.1
Пробовал подключиться телнетом к этим адресам: Gateway IP address: 192.168.1.1, 192.168.1.10, 192.168.1.228 и безрезультатно.
Повеситься на Serial port и повтыкать на процесс загрузки.
Да вот хотелось бы пока без развинчивания какими-нибудь способами.
#!/bin/bash # functions die() < echo "$@" exit 1 >set() < echo "setting for $1. " if [ "`whoami`" = "root" ]; then ifconfig $1 down ifconfig $1 192.168.0.10 netmask 255.255.255.0 up 2>/dev/null || die "Ошибка настройки сетевого интерфейса. (ifconfig $1 192.168.0.10 netmask /8 up fail - ret $?)" route add default dev $1 gw 192.168.0.1 2>/dev/null || die "Ошибка настройки сетевого интерфейса. (route add fail - ret $?)" else which sudo >/dev/null 2>/dev/null && echo "Введите Ваш пароль, если потребуется.." || die "Критическая ошибка - вы не root, а sudo не найден в вашей системе" sudo ifconfig $1 down sudo ifconfig $1 192.168.0.10 netmask 255.255.255.0 up 2>/dev/null || die "Ошибка настройки сетевого интерфейса. (ifconfig $1 192.168.0.10 netmask /8 up fail - ret $?)" sudo route add default dev $1 gw 192.168.0.1 2>/dev/null || die "Ошибка настройки сетевого интерфейса. (route add fail - ret $?)" fi > try() < ping -c 1 -w 1 192.168.0.1 >firmware="$1" # welcome echo "==================================================================" echo "Добро пожаловать в D-Link Flasher!" echo "==================================================================" [ -r "$firmware" ] && echo -n "Укажите сетевой интерфейс, к которому подключен ваш роутер: " || die "Не найден указанный файл прошивки ($firmware)" read iface echo if ! ifconfig $iface >/dev/null 2>/dev/null; then die "Неверный интерфейс $iface" fi echo "Настрока сетевого интерфейса. " set $iface; echo; echo -n "Загрузить $firmware в ваш роутер? Нажмите Enter для продолжения и Ctrl+C для отмены." read echo # flashing echo "*** Отключите питание роутера ***" echo "[ пауза 5 сек. ]" sleep 5 echo "*** Включите питание роутера ***" try while [ "$?" != "0" ] ; do try done echo "**** Начинаю загружать прошивку. **** " atftp --no-source-port-checking -p -l "$firmware" 192.168.0.1 echo "Прошивка успешно загружена!"
Очевидно, что без serial или jtag кина не будет, т.к. ты ее заставил думать, что бутскрипт выполняется 0 секунд. И поэтому оно не загружается.
Эх блин. таки прийдется че-то мастерить.
Говорят через нокиевский кабель как-то можно эту беду подключить через usb. Только вот не помню какой конкретно и как.
под «нокиевским кабелем» обычно подразумевают любой usb2com адаптер, на чипах коих собрано большинство кабелей телефонных из начала 2000ых, обычно это какой-нить PL2303.
> Пробовал подключиться телнетом к этим адресам: Gateway IP address: 192.168.1.1, 192.168.1.10, 192.168.1.228 и безрезультатно.
нафиг-нафиг телефонные шнурки. max232 и в RS232 порт
Этот адрес там вообще никоим образом не фигурирует. Но попробую на всякий.