Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Сетевое оборудование (http://forum.oszone.net/forumdisplay.php?f=55)
-   -   Прошу помощи в настройке Wake-On-Lan (http://forum.oszone.net/showthread.php?t=297391)

SergeyABG 24-03-2015 10:54 2486810

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

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

mwz 25-03-2015 00:23 2487182

Цитата:

Цитата SergeyABG
А может и не в этом дело? »

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

Цитата:

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

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

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

SergeyABG 25-03-2015 11:35 2487277

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

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

SergeyABG 25-03-2015 11:53 2487288

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

mwz 25-03-2015 15:29 2487379

Цитата:

Цитата SergeyABG
пул внутренних адресов - 192.168.1.2 - 192.168.1.254 »

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

Цитата:

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

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

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

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

SergeyABG 25-03-2015 15:44 2487386

mwz, спасибо.
Очень доходчиво все объяснили. Теперь в голове все на свое место встало.
Вечером буду пробовать ваш совет. Отпишусь по результату.

CyberDaemon 25-03-2015 18:35 2487507

Цитата:

Цитата SergeyABG
Тогда то я и узнал про ARP таблицу у провайдера »

Не у провайдера, а у роутера.
Поскольку, как верно замечено:
Цитата:

Цитата mwz
не все роутеры могут рассылать внешние запросы на широковещательный адрес внутренней сети »

то можно попробовать временный (до первой перезагрузки роутера) выход из положения:

1)
Цитата:

Цитата SergeyABG
проброс порта 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 2487952

Вложений: 1
Ну в общем попробовал.
При таком раскладе как на картинках, комп не реагирует на магик пакет.

SergeyABG 26-03-2015 16:41 2487955

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

SergeyABG 26-03-2015 16:47 2487964

Цитата:

Цитата CyberDaemon
2) зайти телнетом на роутер и попробовать выполнить команду »

Как это сделать? Простите за ламерский вопрос.

CyberDaemon 26-03-2015 18:02 2488012

Открыть командную консоль (win-r -> cmd) и там ввести
Код:

telnet ip_адрес_роутера
должен спросить логин и потом пароль (пароль при вводе не отображается)
если все нормально - появится командная строка роутера

berton 26-03-2015 20:17 2488095

Цитата:

Цитата SergeyABG
Как это сделать? »

одна деталь - с Windows Vista компонент Telnet-клиент необходимо включать вручную в "Программы и Компоненты"

SergeyABG 26-03-2015 21:59 2488146

Пишет вот это:

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

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

SergeyABG 27-03-2015 00:08 2488188

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

SergeyABG 27-03-2015 00:34 2488209

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

SergeyABG 27-03-2015 10:20 2488305

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

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

CyberDaemon 27-03-2015 19:52 2488603

Цитата:

Цитата SergeyABG
Скажите только, могу я теперь в настройках роутера, Telnet перевести в позицию - OFF? »

Переведи. Хуже не будет. Если, конечно, ему не захочется для этого перезагрузиться :)
Цитата:

Цитата SergeyABG
Неужели только для того, что бы при включении, машине присвоился данный айпишник? »

Дыааа! ARP - это соответствие MAC-IP, а DHCP нужен чтобы "Этой машине - этот IP"
Цитата:

Цитата SergeyABG
Почему производителю роутеров не »

Широковещательные не пробрасываются "в целях безопасности".
WOL - он не всем нужен, зачем напрягаться, программировать... И так сойдёт.
Очистка ARP-таблицы - постоянные записи нужны только для случаев типа WOW (WOL из внутренней сети и так широковещательно пройдет), а ресурсы у роутера ограничены.
Цитата:

Цитата SergeyABG
пляшут с бубнами »

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

mwz 28-03-2015 13:35 2488831

Цитата:

Цитата SergeyABG
При [255.255.255.255] комп не реагирует на магик пакет »

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

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


PS

Цитата:

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

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

mwz 28-03-2015 18:10 2488914

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

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

Затем заходим на роутер по Telnet (на 23 порт; можно или штатным Telnet, или его аналогами; я использовал 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 2488938

Цитата:

Цитата mwz
и указывается проброс его по UDP на порт 9 для IP соответствующего компьютера. »

Необязательно на 9. Карте всё равно, на какой порт прилетит magic packet. Можно вообще не пробрасывать дополнительные порты, если какой-то UDP порт уже проброшен на нужную машину.

mwz 29-03-2015 00:17 2489056

Цитата:

Цитата CyberDaemon
Необязательно на 9. Карте всё равно, на какой порт прилетит magic packet. »

Ага! Это я знаю – а сделал просто для унификации и упрощения понимания при беглом взгляде через полгодика, зачем ты делал этот проброс.
Армейский принцип: "Чтобы всё было единообразно!" :)


Время: 21:21.

Время: 21:21.
© OSzone.net 2001-