2

Моя проблема стала довольно специфичной, но, вероятно, довольно легко решаемой. Я следовал многочисленным руководствам в Интернете, чтобы настроить wake on lan, и мне удалось заставить его работать довольно хорошо, хотя у меня все еще есть одна проблема.

Я могу разбудить свой компьютер через локальную сеть и даже через 3G, но когда я отправляю через 3G, я могу отправлять сообщения только через минуту или две после выключения компьютера (может быть, дольше), но если это занимает намного больше времени, чем мой компьютер не загружается

В руководствах упоминалось, что маршрутизатор забыл мой MAC-адрес через некоторое время, но если это проблема, то должен ли он работать в частной сети? И как мне решить эту проблему?

Я установил DD-WRT на моем маршрутизаторе DIR-615. Компьютер, который я хочу разбудить, работает под управлением Windows 7 Ultimate.

1 ответ1

7

WoL работает путем отправки специально отформатированного пакета Ethernet на MAC-адрес вашего компьютера. Если вы находитесь в локальной сети (LAN), вы можете напрямую общаться с MAC-адресом вашего компьютера, и WoL работает все время довольно счастливо.

Из любой точки локальной сети вы полагаетесь на IP-маршрутизацию для пересылки пакетов, инкапсулированных в IP, по сети, чтобы добраться до вашего компьютера. Эта пересылка зависит от ARP (Address Resolution Protocol) на последнем переходе (ваш маршрутизатор к вашему компьютеру).

Ваш маршрутизатор ведет учет того, какие IP-адреса сопоставлены с какими MAC-адресами - таблицей ARP, - которые периодически удаляют устаревшие записи.

При нормальной работе сети маршрутизатор сначала отправляет пакет ARP WHOHAS всем компьютерам в сети (MAC-адрес ff:ff:ff:ff:ff:ff), запрашивая компьютер, на котором указан IP-адрес, указанный в пакете, чтобы ответить Пакет ARP HAS заявляет, что имеет рассматриваемый IP-адрес. Это кэшируется в таблице ARP в течение определенного периода времени.

Если компьютер переключен (или находится в спящем режиме), сетевой стек больше не может отвечать ни на что, поэтому запрос ARP WHOHAS никогда не выполняется, поэтому маршрутизатор не может определить, куда отправить пакет, и, следовательно, WoL завершается ошибкой.

Есть 2 возможных пути решения этой проблемы:

  • Настройте статическую запись ARP на маршрутизаторе

Это, безусловно, самое простое, если у маршрутизатора есть возможность постоянного сохранения сопоставления MAC-> IP. Это избавит ARP от необходимости определять MAC-адрес вашего компьютера.

  • Имейте другое сетевое устройство в локальной сети, которое никогда не спит и способно выполнить WoL для вас.

Кажется, на самом деле победить объект, но это может быть единственный способ сделать удаленный WoL.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .