Войти

Показать полную графическую версию : Прошу помощи в настройке Wake-On-Lan


Страниц : [1] 2

SergeyABG
24-03-2015, 10:54
Всем привет!
Исходные данные:
Есть кабель в квартиру от интернет провайдера, к нему подключен роутер ASUS RT-N12VP, к нему подключены две машины, дочки и моя. Интернет есть, все работает.
Дальше, в настройках DHCP роутера ставлю статическое присвоение IP своей машине, делаю проброс порта 9 на 9 UDP IP моей машины.
Выключаю комп, беру смартфон с установленным приложением WOL. Посылаю магический пакет на внешний IP и на мак адрес своей машины. Комп нормально включается, и это радует.
Теперь самое интересное. Проходит ночь и наступает утро. Беру смартфон, посылаю пакет на пробуждение компа, а реакции нет!!!!!!!

Слышал про то, что когда оборудование долго выключено и не отвечает на запросы, то происходит очищение какой то ARP таблицы, но куда копать не знаю. А может и не в этом дело? Не силен я в сетях.
Помогите настроить это пожалуйста.

mwz
25-03-2015, 00:23
А может и не в этом дело? »

Скорее всего именно в этом.

делаю проброс порта 9 на 9 UDP IP моей машины »

Сделайте проброс на порт 9 не конкретного, а широковещательного адреса вашей внутренней сети (в пределе – 255.255.255.255): пакет пойдёт на все устройства сети, а уж "господь отберёт своих".

Правда, не со всеми роутерами срабатывает; а Linksys у меня вообще все адреса, заканчивающиеся на 255, относил к недопустимым – даже если это была середина диапазона адресов, раздаваемых им по DHCP.

SergeyABG
25-03-2015, 11:35
mwz, спасибо.
А можете конкретно указать как правильно?
В настройках DHCP роутера указан пул внутренних адресов - 192.168.1.2 - 192.168.1.254.
Вот какой указать?
Прошу прощенья за дурацкий вопрос. Нуб я полный в этом деле.

И кстати, может кто ни будь на пальцах объяснить, каким образом и почему роутер обнуляет ARP таблицу если машинам в сети вручную присвоены статичные IP?
Вчера вечером сразу полез в настройки роутера. IP были на своем месте как я их и прописал. Куда они деваются из роутера после выключения компов?

SergeyABG
25-03-2015, 11:53
Еще вспомнил. Информация к размышлению.
Когда у меня еще не было роутера, и единственный комп был подключен напрямую к кабелю провайдера, я тоже пытался реализовать WOL.
Но история та же самая, через несколько минут комп на маг. пакет не реагировал. Тогда то я и узнал про ARP таблицу у провайдера которая чистится если мой комп не отвечает на запросы. выключен ведь.
Я надеялся что с покупкой роутера проблема исчезнет, т.к. он постоянно подключен и по питанию и к WAN. Таблица у провайдера в этом случае не должна очищаться.
Я прав? Или не так все понял?

mwz
25-03-2015, 15:29
пул внутренних адресов - 192.168.1.2 - 192.168.1.254 »

Значит широковещательный адрес (это специальный адрес, равный максимально возможному адресу данной сети, который не имеет право иметь ни одно устройство в сети: пакеты, пришедшие на него, рассылаются на вообще все устройства внутренней сети) у вас будет 192.168.1.255, но должен срабатывать и глобальный широковещательный адрес, который я упомянул: 255.255.255.255. Однако, о чём я говорил, не все роутеры могут рассылать внешние запросы на широковещательный адрес внутренней сети.

IP были на своем месте как я их и прописал. Куда они деваются из роутера после выключения компов? »

Коммутатор, стоящий в роутере (или дополнительный коммутатор, подключаемый к его выходу) держит динамическую таблицу соответствия MAC устройства и того выхода, к которому это устройство подключено.
При пропадании ответов от устройства (когда устройство выключено или находится в режиме исключительно ожидания при выключенном компьютере) эта таблица имеет право очищаться.

Т.е. грубо говоря роутер знает, что устройство с данным MAC может существовать в сети – но при его неактивности забывает, к какому из LAN-разъёмов оно подключено, и при следующем появлении этого устройства в сети снова разрешает ему использовать то же адрес и записывает, к какому разъёму подключено это устройство в данном сеансе.

Широковещательный же запрос поступает одновременно на все разъёмы LAN.

SergeyABG
25-03-2015, 15:44
mwz, спасибо.
Очень доходчиво все объяснили. Теперь в голове все на свое место встало.
Вечером буду пробовать ваш совет. Отпишусь по результату.

CyberDaemon
25-03-2015, 18:35
Тогда то я и узнал про ARP таблицу у провайдера »
Не у провайдера, а у роутера.
Поскольку, как верно замечено: не все роутеры могут рассылать внешние запросы на широковещательный адрес внутренней сети »
то можно попробовать временный (до первой перезагрузки роутера) выход из положения:

1) проброс порта 9 на 9 UDP IP моей машины » Или любого другого, но тогда и WOL/WOW-пакет нужно будет слать на соответствующий порт;
2) зайти телнетом на роутер и попробовать выполнить команду ifconfig Если сработает - посмотреть по IP, какой интерфейс смотрит во внутреннюю сеть;

3) после выполнения п. 2 попробовать выполнить команду ip neigh add IP_адрес_компа dev имя_интерфейса_определенного_в_пункте-2 lladdr MAC_адрес_компа nud permanent либо ip neigh change IP_адрес_компа dev имя_интерфейса_определенного_в_пункте-2 lladdr MAC_адрес_компа nud permanent

Если сработает, то роутер должен будет "помнить" соответствие MAC-IP, но только до первой перезагрузки роутера. Работоспособность способа зависит от того, насколько сильно порезан на нём линукс.

SergeyABG
26-03-2015, 16:39
Ну в общем попробовал.
При таком раскладе как на картинках, комп не реагирует на магик пакет.

SergeyABG
26-03-2015, 16:41
А реагирует только на такой расклад.
Это реальный IP машины.
Причем засекал время. Через 1 минуту после выключения он включается по команде, а через 2 минуты уже нет.

SergeyABG
26-03-2015, 16:47
2) зайти телнетом на роутер и попробовать выполнить команду »
Как это сделать? Простите за ламерский вопрос.

CyberDaemon
26-03-2015, 18:02
Открыть командную консоль (win-r -> cmd) и там ввести
telnet ip_адрес_роутера
должен спросить логин и потом пароль (пароль при вводе не отображается)
если все нормально - появится командная строка роутера

berton
26-03-2015, 20:17
Как это сделать? » одна деталь - с Windows Vista компонент Telnet-клиент необходимо включать вручную в "Программы и Компоненты"

SergeyABG
26-03-2015, 21:59
Пишет вот это:

Подключение к ip_192.168.1.1...Не удалось открыть подключение к этому узлу, на п
орт 23: Сбой подключения

Попробовал включить свой комп с компа дочки. Зашел на роутер в системные утилиты, там есть WOL. Набрал MAC своего компа. Комп врубился, хотя был выключен больше 30 минут.
Может кто-то объяснить что происходит с пакетом при WOL по локалке? Значит роутер помнит мак моего компа раз правильно отсылает маг пакет по нужному адресу?
Я запутался.

SergeyABG
27-03-2015, 00:08
Так, с телнетом разобрался. В итоге cmd выдало то что на картинке.
Как тут понять имя нужного интерфейса?

SergeyABG
27-03-2015, 00:34
Так, вообще со всем разобрался.
Запись - ip neigh change IP_адрес_компа dev имя_интерфейса lladdr MAC_адрес_компа nud permanent успешно прописалась.
Команда ip neigh show показывает PERMANENT.
Буду пробовать будить комп.
Всем пока.

SergeyABG
27-03-2015, 10:20
Всем привет!
И огромное спасибо за участие и помощь. Все получилось. После ночной спячки, комп утром успешно проснулся от магик пакета.
Скажите только, могу я теперь в настройках роутера, Telnet перевести в позицию - OFF? Или это сотрет сделанные мной изменения? Как это с точки зрения безопасности? Типа атаки, взломы и пр.

З.Ы. И все таки я не понимаю, для чего в DHCP прописывается намертво IP к маку, если через две минуты после выключения компа, роутер эту запись все равно теряет.
Неужели только для того, что бы при включении, машине присвоился данный айпишник?
Ведь telnet куда то прописал запись на постоянной основе (хоть и до перезагрузки). Почему производителю роутеров не сделать эту простейшую возможность в софте своего устройства? Многих бы юзеров избавили от головной боли. Я смотрю, интернет завален жалобами что WOL у всех перестает работать через какое то время. И все ищут пути решения, пляшут с бубнами, и в большинстве случаев не находят их.
Ладно, это все лирика.
Еще раз всем спасибо. И удачи.

CyberDaemon
27-03-2015, 19:52
Скажите только, могу я теперь в настройках роутера, Telnet перевести в позицию - OFF? »
Переведи. Хуже не будет. Если, конечно, ему не захочется для этого перезагрузиться :)
Неужели только для того, что бы при включении, машине присвоился данный айпишник? »
Дыааа! ARP - это соответствие MAC-IP, а DHCP нужен чтобы "Этой машине - этот IP"
Почему производителю роутеров не »
Широковещательные не пробрасываются "в целях безопасности".
WOL - он не всем нужен, зачем напрягаться, программировать... И так сойдёт.
Очистка ARP-таблицы - постоянные записи нужны только для случаев типа WOW (WOL из внутренней сети и так широковещательно пройдет), а ресурсы у роутера ограничены.
пляшут с бубнами »
Можно слить с роутера образ файловой системы, распаковать его, найти куда можно прикостылить возможность автоматического выполнения команды при загрузке, пихнуть туда эту команду, запаковать файловую систему обратно, и залить на роутер. Тогда не придется после каждой перезагрузки лезть на него телнетом. Но это гиковский подход :)

mwz
28-03-2015, 13:35
При [255.255.255.255] комп не реагирует на магик пакет »

Значит с точки зрения безопасности в роутере запрещён перевод внешнего запроса в широковещательный внутренний.
У меня из 4 роутеров только один какой-то старый простенький разрешал это... Роутеры же ZyXEL, LinkSys и ASUS, те что среднего класса, резали.

CyberDaemon, пойду-ка своего Зухеля телнетить (если дастся) – а то надоело через промежуточный дистанционный доступ к серверу 24/7 во внутренней сети запускать, когда нужно, остальное. :)


PS

найти куда можно прикостылить возможность автоматического выполнения команды при загрузке, пихнуть туда эту команду, запаковать файловую систему обратно, и залить на роутер »

А в конфигурационный файл (у Зухеля – текстовый Sartup config) не засунуть?
И , насколько понимаю, вместо включения Telnet в Windows можно воспользоваться Putty.

mwz
28-03-2015, 18:10
Итак – результат с роутером ZyXEL Keenetic Giga II (и аналогичными), у которого команды в CLI (Command Line Interface) отличаются от команд роутеров ASUS: управление ближе к Cisco.

Заходим на WEB-страницу управления роутером и сохраняем на всякий пожарный StartupConfig (Система -> закладка "Конфигурация").

Затем заходим на роутер по Telnet (на 23 порт; можно или штатным Telnet, или его аналогами; я использовал portable версию (http://portableapps.com/apps/internet/putty_portable) Putty-0.64), вводим логин и пароль и попадаем в командную оболочку управления с приглашением (config)>.

Здесь прописываем постоянную таблицу arp, введя команду:
(config)> ip arp IP_нужного_компьютера МАС-адрес_его_сетевой_карты, например:
ip arp 192.168.0.55 12:32:56:78:90:abи жмём Enter.

Повторяем для остальных компьютеров (если их несколько) – с их индивидуальными IP и MAC

Настройку проброса портов можно сделать здесь же (описание работы с CLI есть на сайте Zyxel), а можно на привычной WEB-странице управления роутером. На каждый компьютер, который надо будить по WOL, выделяется индивидуальный внешний порт (например, 60001 для первого, 60002 для второго и т.д.), и указывается проброс его по UDP на порт 9 для IP соответствующего компьютера.

Сохраняем текущую конфигурацию RunningConfig (или из CLI, или там же где сохраняли StartupConfig: Система -> закладка "Конфигурация" ) и сравниваем с сохранённым StartupConfig. Если ошибок не сделали, то увидим разницу только в добавленных строках с arp и добавленных или изменённых – с пробросом портов. После чего заменяем StartupConfig (Система -> закладка "Конфигурация" -> щёлкнуть по нему) на сохранённый RunningConfig. Перезагружаем роутер (хотя и не обязательно: до перезагрузки будет действовать текущий RunningConfig, а после перезагрузки – он же в новой ипостаси StartupConfig).

После этого можно будить первый комп послав соответствующий ему магический пакет на порт 60001 внешнего IP нашей сети, второй – соответствующим магическим пакетом на её порт 60002 и т.д.

Вернуть роутер в исходное состояние, отменив все эти изменения, можно загрузив сохранённый StartupConfig. Вот тут уже перезагрузка роутера обязательна.

Спасибо SergeyABG за грамотные постановку задачи и заданные вопросы, а также за практическое подтверждение реализуемости метода – и, разумеется, CyberDaemon за разъяснения и практические советы, позволившие первым же движением поймать сороку за хвост, несмотря на различия в системах команд. :)

CyberDaemon
28-03-2015, 19:10
и указывается проброс его по UDP на порт 9 для IP соответствующего компьютера. »
Необязательно на 9. Карте всё равно, на какой порт прилетит magic packet. Можно вообще не пробрасывать дополнительные порты, если какой-то UDP порт уже проброшен на нужную машину.




© OSzone.net 2001-2012