Openwrt для Dlink Dir-615 e4 — прошиваем роутер альтернативной прошивкой

После использования Dir-615 целый год, решился на его прошивку, так как постоянное отпадание skype и прочих приложений порядком надоело. По советам бывалых и откликов на разных форумах, выбор пал на Openwrt — альтернативная прошивка для сетевых устройств.

На самом деле это обычный linux со всеми своими функциями, а openwrt некий дистрибьютив. Небольшая выдержка из Википедии:

OpenWrt — прошивка, основанная на Linux, для домашних маршрутизаторов (роутеров). Изначально поддержка ограничивалась серией Linksys WRT54G, но сейчас расширилась и включает в себя чипсеты других производителей, в том числе и x86. Наиболее популярными является серия Linksys WRT54G и Asus WL500G. OpenWrt в основном использует интерфейс командной строки, но одной из опций является веб-интерфейс. Техническая поддержка осуществляется с помощью форума и IRC канала.
Разработка OpenWrt стала возможной благодаря использованию производителем программного обеспечения лицензии GNU General Public License (GNU GPL), которая требует от разработчиков публиковать все производные продукты под той же лицензией.

Одна из особенностей, это то, что у Openwrt является полная поддержка файловой системы JFFS2, которая позволяет использовать для управления пакетами менеджер пакетов ipkg (в новых версиях opkg). Всё это делает OpenWrt легко настраиваемой и адаптируемой системой для каждого конкретного случая.

Я решил ставить чистую систему, только с основным функционалом (таким как firewall и etc). Все необходимое мы сможем установить уже после удачного прошивания.

Хотелось бы обратить ваше внимание на то, что после прошивки нужен будет интернет на роутере, чтобы обновить список пакетов и поставить дополнительные инструменты управления.

Установить альтернативную прошивку openwrt на роутер Dlink Dir-615 E4:



Пожалуй приступим. Скачиваем прошивку для Dir-615 E4 (openwrt-ar71xx-generic-dir-615-e4-squashfs-factory.bin). Пробуем загрузить её из веб-интерфейса, но маловероятно, что роутер захочет её скушать. Посему будем прошивать по жесткому :)

Воспользуемся этой инструкцией и вместо оригинальной прошивки, зальем нашу Openwrt. У меня дошло до 100% и на этом все остановилось. Не пугайтесь, все хорошо. Возвращаем все на место.

После прошивки выставляем автоматические настройки для нашего сетевого соединения и перезагружаем роутер с уже воткнутым wan и lan шнурками.

После загрузки у меня не ходило из lan в wan, что-то не так было с конфигом firewall. Но при этом с роутера локальная сеть(wan) пинговалась отлично. Первым дело необходимо задать пароль для root:

1. Подключаемся к роутеру telnet 192.168.1.1
2. Меняем пароль:
passwd

и два раза вводим новый пароль.

После чего, мы можем закрыть cmd и перейти в putty подключившись по ssh.
Директория конфигов находится в /etc/config/. Тут и лежит нужный нам файл firevall. Конфигурация, которая приведена ниже для тех, у кого нет доступа из lan в wan:

vi /etc/config/firewall
config 'defaults'
        option 'syn_flood' '1'
        option 'input' 'ACCEPT'
        option 'output' 'ACCEPT'
        option 'forward' 'REJECT'

config 'zone'
        option 'name' 'lan'
        option 'network' 'lan'
        option 'input' 'ACCEPT'
        option 'output' 'ACCEPT'
        option 'forward' 'REJECT'

config 'zone'
        option 'name' 'wan'
        option 'network' 'wan'
        option 'output' 'ACCEPT'
        option 'forward' 'REJECT'
        option 'masq' '1'
        option 'mtu_fix' '1'
        option 'input' 'ACCEPT'

config 'forwarding'
        option 'src' 'lan'
        option 'dest' 'wan'

config 'rule'
        option 'name' 'Allow-DHCP-Renew'
        option 'src' 'wan'
        option 'proto' 'udp'
        option 'dest_port' '68'
        option 'target' 'ACCEPT'
        option 'family' 'ipv4'

config 'rule'
        option 'name' 'Allow-Ping'
        option 'src' 'wan'
        option 'proto' 'icmp'
        option 'icmp_type' 'echo-request'
        option 'family' 'ipv4'
        option 'target' 'ACCEPT'

config 'rule'
        option 'name' 'Allow-DHCPv6'
        option  'src' 'wan'
        option 'proto' 'udp'
        option 'src_ip' 'fe80::/10'
        option 'src_port' '547'
        option 'dest_ip' 'fe80::/10'
        option 'dest_port' '546'
        option 'family' 'ipv6'
        option 'target' 'ACCEPT'

config 'rule'
        option 'name' 'Allow-ICMPv6-Input'
        option 'src' 'wan'
        option 'proto' 'icmp'
        list 'icmp_type' 'echo-request'
        list 'icmp_type' 'destination-unreachable'
        list 'icmp_type' 'packet-too-big'
        list 'icmp_type' 'time-exceeded'
        list 'icmp_type' 'bad-header'
        list 'icmp_type' 'unknown-header-type'
        list 'icmp_type' 'router-solicitation'
        list 'icmp_type' 'neighbour-solicitation'
        option 'limit' '1000/sec'
        option 'family' 'ipv6'
        option 'target' 'ACCEPT'

config 'rule'
        option 'name' 'Allow-ICMPv6-Forward'
        option 'src' 'wan'
        option 'dest' '*'
        option 'proto' 'icmp'
        list 'icmp_type' 'echo-request'
        list 'icmp_type' 'destination-unreachable'
        list 'icmp_type' 'packet-too-big'
        list 'icmp_type' 'time-exceeded'
        list 'icmp_type' 'bad-header'
        list 'icmp_type' 'unknown-header-type'
        option 'limit' '1000/sec'
        option 'family' 'ipv6'
        option 'target' 'ACCEPT'

config 'include'
        option 'path' '/etc/firewall.user'

#Этот конфиг дает доступ на наш веб-интерфес из wan. Кому необходима такая конфигурация, то необходимо раскомментировать все приведенное ниже
#config 'redirect'
#        option 'target' 'DNAT'
#        option 'src' 'wan'
#        option 'dest' 'lan'
#        option 'proto' 'tcp'
#        option 'src_dport' '80'
#        option 'dest_ip' '192.168.1.1'
#        option 'dest_port' '80'
#        option 'name' 'WEB'


и перезапускаем наш фаерволл
/etc/init.d/firewall restart
теперь, по идее, все должно работать, приступим к установке веба.

В openwrt используется легковесный менеджер пакетов opkg, при помощи которого мы будет устанавливать, обновлять или еще чего делать с нашей системой. Затем я решил обновить список пакетов и установить веб-интерфес Luci:

добавляем репозиторий
vi /etc/opkg.conf

src luci http://downloads.openwrt.org/kamikaze/8.09.2/ВАША_АРХИТЕКТУРА/packages


обновляем список пакетов
opkg update

и устанавливаем LuCI
opkg install luci

пришло время включить и запустить веб-сервер
/etc/init.d/uhttpd enable
/etc/init.d/uhttpd start


Openwrt LuCI — альтернативная прошивка для Dlink

теперь мы можем управлять нашим роутером с помощью веб-интерфейса по локальному адресу http://192.168.1.1/. С помощью opkg вы можете поставить любой пакет, начиная от nano и заканчивая каким нибудь transsmission. Так же в интернетах полно информации, как можно вывести usb порт и подключить к нему тот же винт. Вообще, у кого какие цели, а моя была, побороть постоянное падания skype и etc, что и удалось сделать.

25 комментариев

avatar
OpenWRT отличная прошива, сам юзаю на TP-Link TL-WR1043ND никаких нареканий нету.
avatar
Получилось на 30% ну или около того.
Вот что я делаю и что получается.
Роутер прошил, telnetom пароль сменил(хотя думаю что не все и до этого дойдут, нужен более дательный минуал.
Подключил putty(окно похоже на окно CMD, так и должно?)
И тут началось(нет ни знаний ни опыта)
После редактирования vi /etc/config/firewall как сохранить и продолжить дальше? Да и если у меня конфигов больше чем у Вас в посте, это нормально?
при открытии vi /etc/opkg.conf репозитарий уже добавлен с архитектурой ar71xx! здесь тоже вопрос так и должно??? или у меня архитектура atheros??
И вот тут опять засада, как роутер выйдет в интернет если у меня статический IP а сам роутер не настроен как я обновлю пакет и установлю LuCI???
я думаю если я все это пройду, дальше вопросов не будет.
Самый лучший минуал это видео минуал, уважаемый linux нет ли у Вас возможности записать виде инструкцию по блогу.
avatar
1. Putty это консоль управления сервером на основе linux, unix — команд куча и все не описать. Лучше всего делать так:
Вы хотите узнать как есть ли другой редактор, скажем так, альтернатива vi — в гугле так и пишите: альтернатива vi linux.
Это будет наилучший способ научится и разобраться, не в обиду конечно же.

2. У вас интернет приходит на роутер? Я звонил своему провайдеру и просил его на время дать мне инет по ip. Но до этого я мучился несколько дней ставя пакеты вручную. До этого я сначала подключался на роутер, начинал инсталить нужный пакет, потом появлялся список зависимостей, я переключал кабель, качал их все и заливал на роутер.

Попробуйте переговорить со своим провайдером, чтобы он на время сделал вам авторизацию по ip/mac, чтобы не поднимать vpn/pppoe, так как их еще тоже нету и надо устанавливать.

3. vi — я тоже с ним не дружу, посему сразу же поставил nano. Но все же с ним надо знакомиться. Попробуйте просмотреть это

4. Про репу — у вас же E4 ревизия, если да, то все правильно)

5. Для обновления списков пакетов и установки LuCI читаем пунк 2.

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

я думаю если я все это пройду, дальше вопросов не будет.
Надеюсь, что их будут тысячи ;)
avatar
Интернет на роутер не проходит, и провайдер не сделает даже на время настройку по мак. Есть альтернатива дать роутеру интернет без помощи провайдера?
avatar
Если у вас есть две сетевые карты, до да.
На крайний случай качайте все необходимые пакеты+зависимости в ручную, но это сведет вас с ума)

А как вы получаете интернет?
avatar
Статический IP
Сейчас выкачиваю все по адресу downloads.openwrt.org
попытаюсь через денвер сделать локальный доступ.
Подскажите через лан подключение, роутер подтянит с локального адреса???
avatar
Для 1043 вообще все просто, даже в консоль лезть не прийдется, качаем downloads.openwrt.org/backfire/10.03.1/ar71xx/openwrt-ar71xx-tl-wr1043nd-v1-squashfs-factory.bin и прошиваем через вебку TP-Link-a. Перезапускается уже со всем готовенькими по 192.168.1.1 уже висит веб (Luci).
avatar
Все хорошо, наигрался я с OpenWrt и решил обратно вернуть родную прошивку и веб морду соответственно.
Прошивал при помощи «аварийного» встроенного загрузчика в итоге прошивка встала все хорошо, но видимо настройки firewall'а остались в памяти роутера, так как пробросить порты не получается совершенно, и к тому же роутер нашел линк и начал раздавать вафлю без настроек вообще=) создается впечатление что работает роутер на прошивке openwrt с мордой от DLinka люди добрые помогите пожалуйста вернуть в заводское состояние мой DIR-615. Буду очень признателен если быстро ответите.
avatar
К тому же еще сразу смутило то что в вебморде выглядит вот так: Hardware Version: �������. То есть там вопросики в квадратиках (???????). =(
avatar
Думаю, что стоит повторить процесс аварийного восстановления и поставить последнею бетку.

А что заставило вернуться обратно?
Уже почти год использую openwrt на dir 615 и никаких, вообще никаких проблем не возникло. А в сентября обновился на новую бетку.
avatar
Откуда качали прошивку dlink'a? Какую версию dlink ставили,beta или stable?
avatar
Само собой с ftp официального, для моей ревизии E4 все прошивки с пометкой beta как бы это ни было забавно =) ставил все по очереди. Начиная с самой старой.
Сам openwrt мне понравился тоже, даже стабильнее стала связь, скорость у меня 40 мегабит но с родной постоянные провалы почему-то в зависимости от удаленности серверов… К тому же на openwrt даже через веб морду не смог таки пробросить порты, для торрент трекера нормально встало а для DC++ ни в какую не кидаются, закрыты порты и все, даже русский язык поставил думал что упустил.
Есть идея по telnet закинуть прошивку еще…
Лично я совсем не чайник=) да и с детства с PC дружу, но с таким геморроем не сталкивался еще. в данный момент ситуация еще ухудшилась, openwrt пытается назначить DHCP клиентам на вафлю на пару с Длинковской прошивкой в итоге связь тупо отваливается каждую секунду по вафле. само странное что даже если статик прописать все равно не пашет больше 1 устройства.
avatar
Аварийное восстановление проводил уже 3 раза…
Видимо надо как-то бутлоадер заменить на родной… а как сделать это я уже точно не бум бум без точных инструкций.
Получается сейчас в роутере я даже в папку tmp залил прошивку но толку и от этого 0.
Есть еще тараканы о том чтобы залить обратно OpenWRT и почистить память устройства, помоему там это сделать можно даже через веб морду
avatar
Как вариант, так как других я не могу предложить. Не сталкивался с такой ситуацией. В прошлый раз, когда просто экспериментировал, поставил dd-wrt, потом вернулся на заводскую, поставил openwrt (погонял её чуток) и вернулся на заводскую (все этот делал для тестов). Процессы проходили успешно, да и вроде все работало на заводской, но я толком не гонял её (когда возвращался с dd и openwrt).

Может, стоит вернуться на openwrt и попробовать еще раз поиграться с портами?
avatar
Могу ли я нагло попросить вас через TeamViewer помочь пробросить порты?))) Потому что по этому поводу у меня уже голова болит, но это после экзамена уже завтра после завтра.
Буду очень признателен тем более что у вас есть опыт работы с OpenWrt =)
avatar
Конечно) Пришлете ЛС данные и какие порты необходимо открыть.
avatar
Для сведения пример конфига для firewall openwrt:

config redirect
        option target 'DNAT' 
        option src 'wan' — источник
        option dest 'lan' — пункт назначение 
        option proto 'tcp udp' — протоколы
        option src_dport '2710' — порт источника 
        option dest_ip '192.168.1.140' — ip адрес компа на который пробрасываете
        option dest_port '2710' — на какой порт пробрасываете
        option name 'udp_rutorg' — название правила
avatar
Может кому то поможет мой опыт.
Попросили настроить DIR-615 E4. Регулярно резко падала скорость интернета либо вообще не мог открыть страницы. Помогала перезагрузка, иногда требовалось перезагрузить несколько раз. Причем интервал нормальной работы мог быть от нескольких минут до 3-х суток. Греется слабо, но радиаторы все-равно приклеил. Не помогло.
Поменял прошивку на последнюю версию d-link — не помогло.
Прошил dd-wrt, прописал в ней регулярную перезагрузку — тот же результат.
Решил пробовать openwrt. Вот тут самое интересное: как сбросить dd-wrt. Обычные инструкции — нажать ресет, включить, держать ресет пока не замигает индикатор питания — не помогли. Войти не получалось ни с WAN ни с LAN ни с 192.168.0.1 ни с 192.168.1.1, а после выключения и включения питания dd-wrt была на том же месте.
Помог следующий порядок:
1) Выключить питание
2) Нажать ресет
3) Не отпуская ресет включить питание
4) Дождаться пока замигает индикатор питания (примерно 5-10 сек), отпустить ресет
5) И вот тут (!) повторно нажать ресет на 10 сек. и отпустить.
6) Настроить на компе IP-адрес 192.168.0.2, маска 255.255.255.0, шлюз 192.168.0.1
7) Подключить LAN порт к компу — появился аварийный загрузчик (у меня именно на LAN порту)
8) Выбрать файл прошивки openwrt и начать загрузку.
При этом у меня не было индикатора загрузки в процентах, на экране оставалась та же страница, как-будто она не может обновиться. Я просто подождал минут 5, потом выключил и снова включил питание роутера.
Всё! Появился веб-интерфейс openwrt на LAN-порту.
В линуксе я не разбираюсь, но уж веб интерфейс настроить по минимуму могу, всего то надо Protocol dhcp-client, clone mac-address, шифрование wi-fi, ну еще добавил в задачи ежедневную перезагрузку в 5 утра. (Scheduled Tasks--> 0 5 * * * reboot)
Пока прошли только сутки, о результате говорить рано, посмотрим…
avatar
Не помогла однако openwrt… На третьи сутки дважды отвалился интернет. Вот логи: disk.tom.ru/h4zempn
Кто может сказать в чем дело? Такое впечатление что DIR-615 E4 в принципе не способен работать без отваливаний!..
avatar
В логе видно, что линк отваливается. Проверь работу сети, подключи напрямую шнур и мониторь работоспособность подключения и сети. Если дело не в ней, то в роутере — возможно брак какой-то или перепад напряжения где либо. Да что угодно может быть.
avatar
Спасибо за ответ! Попробую еще навесить электролиты по питанию роутера…
Что касается работы сети — никогда раньше не замечал отваливаний при прямом подключении…
Действительно видно что несколько раз то link down, то link up. Причем логи заканчиваются записью link up и на этом роутер успокаивается, однако доступа в интернет при этом нет. Хотя иконка в трее windows7 показывает что доступ есть. А как windows7 определяет что доступ есть, по какому признаку? Это какой-то отдельный пинг на сайт майкрософт? И какой критерий у самого роутера, как он определяет что уже link up и можно больше не переподключаться? Может можно ужесточить этот критерий, например заставить его делать 3 проверки подключения вместо одной?
avatar
Повторно выложил логи, а то те уже удалились: disk.tom.ru/rf2hnlb
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.