Должен поделиться опытом.
Встала задача: удаленно включать сервер.
Теория проста: посылать из любого интернета «магический» (Wake On Lan) udp-пакет на IP-адрес DLink'a, работающего в режиме «роутер». А DLink должен переправить в сеть широковещательный пакет и «разбудить» комп с заданным MAC-адресом.
Практика оказалась кровавее:
1) заходим в админку DIR-300: http://192.168.1.1 (имя admin, пароль по умолчанию пустой)
2) переходим в рубрику «ADVANCED-Port forwarding»
3) включаем новое правило: имя «WOL», все порты - 4009, протокол «udp», IP-адрес «192.168.1.255»
4) жмем «Save settings» и ВНЕЗАПНО «Invalid IP address !»
5) вводим в адресную строку браузера java-патч:
javascript:function is_valid_ip2(ipaddr, netmask){return true;};
жмем Enter в конце этого текста, он исчезает
6) снова жмем «Save settings», ждем 5 сек и.. СЛАВА ВСЕВЫШНЕМУ! Настройки сохраняются!
Ну а дальше дело техники.
== На сервере делаем так:
aptitude install ethtool
ifconfig (в этом месте запишите на бумажку HWaddr, т.е. MAC)
ethtool eth1
ethtool -s eth1 wol g
poweroff
Уезжаем в Мухосранск.
== В Мухосранске на ноутбуке делаем так:
aptitude install wakeonlan
wakeonlan -p 4009 -i 222.222.222.222 aa:33:bb:44:cc:55
где последние два значения - внешний IP роутера и MAC сервера.
После чего, если повезет, сервер включается ;-)
*** Если у вас другая модель D-Link, то функцию java-скрипта, проверяющего broadcast адрес, можно поглядеть в браузере «Просмотр HTML кода» на странице «ADVANCED PORT FORWARDING RULES». Например, можно было бы дать такой более жесткий хак:
javascript:function check(){return true;};