Моя проблема стала довольно специфичной, но, вероятно, довольно легко решаемой. Я следовал многочисленным руководствам в Интернете, чтобы настроить wake on lan, и мне удалось заставить его работать довольно хорошо, хотя у меня все еще есть одна проблема.
Я могу разбудить свой компьютер через локальную сеть и даже через 3G, но когда я отправляю через 3G, я могу отправить только через минуту или две после выключения компьютера (может быть, дольше), но если это занимает гораздо больше времени, чем мой компьютер не загружается
В руководствах упоминалось, что маршрутизатор забыл мой MAC-адрес через некоторое время, но если это проблема, то должен ли он работать в частной сети? И как мне решить эту проблему?
Я установил DD-WRT на мой маршрутизатор DIR-615. Компьютер, который я хочу разбудить, работает под управлением Windows 7 Ultimate.
источник
Ответы:
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 возможных пути решения этой проблемы:
Это, безусловно, самое простое, если у маршрутизатора есть возможность постоянного сохранения сопоставления MAC-> IP. Это избавит ARP от необходимости определять MAC-адрес вашего компьютера.
Кажется, на самом деле победить объект, но это может быть единственный способ сделать удаленный WoL.
источник