The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Пробуждение компьютера по сети с помощью D-Link DIR 300 (320) NRU
Задача: 

Осуществить возможность пробуждения (Wake on Lan) из интернета удаленного
компьютера, находящегося дома за роутером марки D-Link (DIR-300, DIR-320).

Решение:

Использование команды ip, имеющейся в стандартных сборках BusyBox'a в роутерах D-Link.
  
Предисловие:

Дома стоит роутер D-Link DIR-320/NRU ревизии B1, а до этого был DIR-300/NRU
ревизии B5, для которых (на данный момент) нет альтернативных готовых прошивок
(в том числе и горячо всеми любимой DD-WRT). На роутере стоит BusyBox 1.12.

Проблема состояла в том, что встроенное в веб-интерфейс средство переброса
пакетов не позволяют переадресацию в широковещательный канал - broadcast
(x.x.x.255), а хитровыделанный D-Link обновляет arp-таблицу каждые 15-30
секунд, так что непосредственно в выключенный длительное время компьютер Magic
Packet тоже не перебросить. Тайваньские ребята решили отказаться от компиляции
arp, sudo и прочих печенюшек в BusyBox, поскольку iptables тоже не позволяет
POSTROUTING на широковещательный канал.

Решение после недели напряженного поиска было найдено случайно на ныне
почившем форуме сборки линукса для старых компьютеров под роутер.

Пример:

Для начала настройте BIOS вашей материнской платы (в разделе настроек питания
есть пункт о пробуждении из выключенного состояния) и вашей сетевой карты (уже
из операционной системы в свойствах карты). Для проверки выключите компьютер и
посмотрите, если индикация сетевого разъема мигает, значит все в порядке.

1. Подключаемся  telnet-ом к роутеру (логин и пароль те же, что и для веб-интерфейса):

   Dlink-Router login: admin
   Password:
   Welcome to
   	 _______          ___     __  ____   _  _   ___
   	|  ___  \\        |   |   |__||    \\ | || | /  /
   	| |   | ||  ___  |   |__  __ |     \\| || |/  /
   	| |___| || |___| |      ||  || |\\     ||     \\
   	|_______/        |______||__||_| \\____||_|\\___\\
   
   					 = Ebuilding Networks for People =
   
   
   
   BusyBox v1.12.1 (2011-05-13 14:42:48 MSD) built-in shell (ash)
   Enter 'help' for a list of built-in commands.
   
   #
   
2. Если компьютер в данный момент присоединен к роутеру, то ищем его mac-адрес, набираем:
  
   # ip neigh show

   <Внешний_ip> dev eth2.5 lladdr 01:23:45:67:AB:CD DELAY   ! Внешний адрес
   192.168.0.50 dev br0 lladdr 11:22:33:44:55:66 REACHABLE  ! Настольный компьютер 
   192.168.0.90 dev br0 lladdr 77:88:99:00:AA:BB REACHABLE  ! Ноутбук

3. Поскольку в данный момент уже уже есть запись для нашего mac-адреса, то мы
не добавляем, а просто изменяем текущую:
  
   # ip neigh change 192.168.0.50 lladdr 11:22:33:44:55:66 nud permanent dev br0
   
4. Смотрим результат, снова набираем:
  
   # ip neigh show

   <Внешний_ip> dev eth2.5 lladdr 01:23:45:67:AB:CD DELAY   ! Внешний адрес
   192.168.0.50 dev br0 lladdr 11:22:33:44:55:66 PERMANENT  ! Настольный компьютер 
   192.168.0.90 dev br0 lladdr 77:88:99:00:AA:BB REACHABLE  ! Ноутбук
  
После этого уже заходим на веб-интерфейс нашего роутера и в разделе "межсетевой
экран" в пункте "Виртуальные серверы" добавляем проброс 9 (или 7, в зависимости
от вашей сетевой карты) порта роутера на порт ip вашего компьютера.

Послесловие: 

Совет: настройте через веб-интрефейс роутера DHCP для mac'а вашего компьютера
статический IP (по умолчанию DIR-300(320)/NRU выдает их в диапазоне от
192.168.0.2 - 192.168.0.100)

Дополнительные ссылки:
  • Немного о линуксовых командах в пределах BusyBox: http://noted.org.ua/1727
  • Чуть подробнее про команду ip: http://linux-ip.net/html/tools-ip-neighbor.html
  • Для проверки работоспособности можно воспользоваться сайтом: http://wakeonlan.me/
  • Особая благодарность русскоязычному форуму D-Link'a, оказавшую неоценимую помощь и моральную поддержку: 1, 2, 3
  •  
    27.12.2012 , Автор: jPump
    Ключи: wol, wake, busybox, dlink, router, ip, iproute2 / Лицензия: CC-BY
    Раздел:    Корень / Администратору / Система / Загрузка, однопользовательский режим

    Обсуждение [ Линейный режим | Показать все | RSS ]
  • 1.1, jPump (ok), 10:26, 27/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Здравствуйте, знатоки После добавления статической записи в ARP таблицу роутера... текст свёрнут, показать
     
     
  • 2.2, Аноним (-), 16:02, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Что примечательно сразу после перезагрузки все приобретает первоначальный вид.
    > И вот дальше я продвинуться не смог. sudo в распоряжении нет; rcS
    > вроде бы доступен для разных непотребств, а все равно не выходит
    > (каменный цветок).

    Ну так все правильно - корень хранится в упакованном виде во флеше в каком-нибудь SquashFS и знать ничего не знает о том, что в распакованном в RAM корне что-то поменяли.
    В вашем случае, я так подозреваю, используется родная прошивка от DLink. На сколько мне не изменяет мой склероз, в ней нет возможности менять чего-либо не предусмотренное разработчиком. Если у Вас одна из предыдущих аппаратных ревизий, то выходом может быть установка какого-нибудь dd-wrt или openwrt - в них есть возможность задавать дополнительные стартовые скрипты. Для двух последних ревизий *wrt недоступны - SoC другой.

     
     
  • 3.3, Аноним (-), 16:07, 29/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Для двух последних
    > ревизий *wrt недоступны - SoC другой.

    По поводу ревизий - уже три. B5, B6, B7.

     
  • 3.4, jPump (ok), 08:36, 30/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Цитата:
    Дома стоит роутер D-Link DIR-320/NRU ревизии B1 для которого (на данный момент) _нет_ альтернативных готовых прошивок (в том числе DD-WRT).

    Если я понял вас правильно, то роутер каждый раз при включении разворачивает систему из упакованного внутри образа, изменить который можно только перепрошивкой, да?
    А те изменения в настройках веб-интерфейса которые я внес, где хранятся они? Потому что даже после перезагрузки они остаются на месте. Значит есть инструмент изменения образа системы, при том предусмотренный разработчиками, вот только как до него добраться и как им пользоваться для своих целей?

     
     
  • 4.5, p5er6 (?), 05:04, 01/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Вы несовсем правильно представили себе...
    Там чип ппзу с парай метров... При записи образ разварачивается в ром. При этом область делится на так скажем зоны, и настройки шьются в специальную зону. Как правило это nvram, но могут применять и другой инструмент.
    Длинки самое паршивое... Как народ такое покупает. Есть замечательная поговорка "дешева рибка - х... юшка" (укр.)... Линксис - для дома самое то, на крайняк тп-линк
     
     
  • 5.8, ABATAPA (ok), 10:04, 06/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Вы несовсем правильно представили себе...
    > Там чип ппзу с парай метров... При записи образ разварачивается в ром.

    Ну, во-первых, там 4M, во-вторых, Flash Memory - это не просто ППЗУ, а тогда уж ЭСППЗУ.
    Ибо главное тут - "электрически стираемое".

    > Длинки самое паршивое... Как народ такое покупает. Есть замечательная поговорка "дешева
    > рибка - х... юшка" (укр.)... Линксис - для дома самое то,
    > на крайняк тп-линк

    Я бы сказал, что "на крайняк" как раз "Линксис", и уж тем более "тп-линк".
    А так - Asus (как самые удачные, надёжные, "раскуроченные", производительные), Zyxel (с их очень удачными Keenetic).
    D-Link покупают из-за их дешевизны - или "простые обыватели", или те, кто знает, что им нужно, и эти люди, как правило, тут же прошивают их альтернативными прошивками.

     
     
  • 6.12, p5er6 (?), 18:50, 13/01/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чувак, явно хочешь офтопа Главное тут, перепрограммируемое - т к в кустарных... текст свёрнут, показать
     
     
  • 7.14, jPump (ok), 17:19, 14/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >>D-Link покупают из-за их дешевизны...
    > а потом хотят, что-то еще и выжать... ну купи себе оку с
    > целью проапгрейдить до мерседеса. А теперь лезут вопросы... как сделать -
    > то, что производитель не задумал :)
    > длинк, комплектуют самыми дешевыми и низкотехнологичными комплектующими и модулями.

    Мне даже как-то стыдно стало =)
    Да, купил ОКУ, но намерения сделать из нее реактивный самолет с искусственным интеллектом нет.
    Есть простая (на мой взгляд) задача - добавить строку в автозагрузку.
    Сейчас прозвучит бредово, но: производитель не является конечной инстанцией в вопросах возможностей своего оборудования, так что если есть возможность что-то допилить, исправить, добавить в имеющийся маршрутизатор "из коробки" при минимальном усилии - почему я должен себе отказывать в этом удовольствии.
    Все чего я прошу - помочь с советом в незнакомой мне операционной системе.

     
  • 4.7, ABATAPA (ok), 09:57, 06/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > роутер D-Link DIR-320/NRU ревизии B1 для которого (на данный момент) _нет_ альтернативных готовых прошивок (в том числе DD-WRT).

    Не совсем так.
    Работают над OpenWRT: https://sat-forum.info/index.php/topic,9961.1380.html (требуется регистрация)
    Есть и другие сборки.
    DD-WRT я на нём сейчас пытаюсь запускать, но пока проблемы с ядром.

     

  • 1.6, ABATAPA (ok), 09:54, 06/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть решение проще.
    См. http://wl500g.info/showthread.php?4262-Wake-On-Lan-%28WOL%29-%
    (последние страницы)
     
     
  • 2.9, jPump (ok), 10:54, 09/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Интерес вызывает настройка динь-ди-линка "из коробки", потому что ревизии постоянно обновляются, и не всегда пользовательские сборки поспевают за новыми маршрутизаторами.

    Попробовал варианты из ссылки, которую вы дали, но проблема с доступом на запись и создание файлов в /bin. К сожалению, линукс для меня в новинку, так что многое делается по наитию. Был бы очень благодарен за персональную помощь в настройке шелла бизибокса.

    По поводу того, что Д'Линк фигня, настоящие мужики покупают циски, асусы и вообще разруливают пакеты силой мысли - это ненужный холивар, здесь он не к месту.

    Теперь поподробнее про ситуацию:
    Любой touch, echo >> и прочее обрываются пермишшн динайед.
    Как я уже писал выше sudo, su не присутствуют в сборке.
    ro system переводился ломом:
    mount -o remount / -rw

    Насколько я понял принцип такой: добавляем в шелл свою команду, именуем ее типа playmymacro, сохраняем на встроенной ЭСППЗУ и при перезагрузке каждый раз заново вызываем.
    Что требуется: автоматическое добавление arp записи при старте системы.

    Опять таки буду благодарен за любой адекватный совет на данную тему.

     
     
  • 3.10, p5er6 (?), 00:25, 13/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    nvram show
    nvram show |grep rc_sturtup
    nvram set rc_sturtup="команды"
    nvram commit
    reboot
     
     
  • 4.11, p5er6 (?), 00:26, 13/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > nvram show
    > nvram show |grep rc_sturtup
    > nvram set rc_sturtup="команды"
    > nvram commit
    > reboot

    *rc_startup

     
  • 4.13, jPump (ok), 08:30, 14/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    # nvram show
    sh: nvram: not found
     

  • 1.15, p5er6 (?), 18:56, 14/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    fis
    ?
     
  • 1.16, p5er6 (?), 19:04, 14/01/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    дожились... длинк уже прошивки в исходники выкладывают...
    ftp://ftp.dlink.ru/pub/Router/DIR-320_NRU/Source/
     
  • 1.17, mayskiy86 (?), 14:00, 19/05/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    огромное спасибо!!заработало все как только поставил  
    сетевушку pci.на встроеной все молчало,индикаторы в том числе.мать gigabyte p55m-ud2
    роутер dir 300 a1, сетвуха dlink dfe 520tx.делал все по инструкции.запускаю комп удаленно через смарт на андройде спец прогой.включается быстро даже если интернет еле ловит (edge)
     
  • 1.18, mayskiy86 (?), 21:40, 01/06/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    заметил косячек ,что если роутер выключить из сети перманент ай пи слетает и надо заново все делать...может есть выход??
     
     
  • 2.19, jPump (ok), 16:02, 17/06/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Увы, здесь я бессилен, не хватает знаний в область nix систем. Как только найду ответ, обязательно обновлю статью.
     

  • 1.20, Slava (??), 20:50, 22/12/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Спасибо автору,действительно работает...
     
  • 1.21, Игорь (??), 17:54, 13/01/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А не легче ли реализовать переадресацию в широковещательный канал, воспользовавшись этим советом? http://batafan.blogspot.com/2012/09/wol-wake-on-lan-d-link-dir-300-ipod.html
     


     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру