Это развивающийся вопрос. Смотрите 2 правки внизу для последней версии. Я сохраняю здесь и оригинальный вопрос, поскольку он может оказаться полезным.
Итак, прежде всего извините за еще один вопрос Wake on Lan в интернете. Я гуглил много часов и всю ночь не спал, пытаясь понять это. Существует определенно много литературы по WOL, но я до сих пор не могу понять это.
Описание проблемы (проблема изменилась, см. Изменения ниже) довольно простое. WOL перестает работать только через секунду или две после выключения. Я оцениваю момент "выключения", когда все светодиоды выключаются и вентиляторы перестают вращаться на корпусе. Это действительно работает , если я посылаю волшебный пакет момент , когда он выключается. Иногда я могу ждать до 1 секунды (считая тысячу и один), и это будет работать. Дольше, чем это, и это никогда не будет работать снова.
Я слышал о том, что другие люди не могут сделать это через пару часов, а что нет. Но не несколько секунд.
Сведения о системе:
- Самодельный ПК с материнской платой Gigabyte (GA-Z68X-UD3H-B3)
- Использование сетевого адаптера Realtek, встроенного в материнскую плату
- Маршрутизатор TP-Link WR842ND (встроенное ПО по умолчанию обновлено до последней версии, рассматривается возможность установки на него OpenWRT или DD-WRT, но сейчас слишком много работы)
- Система двойной загрузки с Ubuntu и Windows 7 с использованием загрузчика GRUB2
Вещи, которые я сделал:
- Я следовал этому довольно официальному учебнику для Ubuntu.
- Кроме того, этот менее официальный вариант для Windows, который выглядел тщательным и, возможно, немного перегружен.
- Зашел в мои настройки BIOS и включил все, что звучало так, как будто это могло бы помочь (было несколько вещей, которые BIOS даже предупредил, что мне нужно отключить при использовании WOL, поэтому я оставил их отключенными)
- Я часами гуглял и подправлял вещи безрезультатно.
- Я также полностью сбросил настройки маршрутизатора и переконфигурировал его.
Конфигурация роутера:
- Я использую параметр "резервирование адреса", чтобы убедиться, что моему MAC-адресу сетевого адаптера realtek всегда назначается один и тот же IP-адрес.
- Я использую ARP Binding для привязки моего mac-адреса /IP-адреса
- Я использую переадресацию портов (виртуальные серверы) для переадресации портов 9 (WOL) и 22 (SSH).
- Раньше у меня был только мой компьютер в DMZ, но когда я сбросил все настройки, я не сделал этого и вместо этого использовал переадресацию портов. Я знаю, что переадресация портов работает, по крайней мере, для SSH, так как я смог войти на свою машину через WAN IP.
Учитывая тот факт, что моя машина успешно просыпается через волшебный пакет (хотя это возможно только на короткое время), я думаю, что конфигурация моего ПК (BIOS/ сетевой адаптер / ОС) в целом в порядке. Мне не нужно сбрасывать какие-либо настройки после загрузки, чтобы заставить WOL работать в следующий раз. Это работает каждый раз, когда я выключаюсь, только на секунду или две.
Мой тестовый пример только что использовал мой IP-адрес локальной сети (поэтому переадресация портов на этом этапе не должна быть проблемой). Я уверен, что если я смогу это сделать, то WAN сработает. Таким образом, мы говорим о довольно типичном случае использования WOL, но он не будет работать.
И последняя информация, в которой я не был уверен, куда еще поместиться в этом посте: Сетевой адаптер на материнской плате ПК остается включенным после выключения. Мой маршрутизатор показывает соответствующий индикатор, который активирован для подключения сетевого кабеля моего ПК. На моем маршрутизаторе подключены и отключены другие устройства, которые этого не делают. Так я имею в виду .... ЭТО ДОЛЖНО РАБОТАТЬ ПРАВИЛЬНО ?!
Я схожу с ума по этому. Пожалуйста, помогите, кто-нибудь. Надеюсь, что это именно тот "StackExchange", который будет публиковать это, есть только миллион на выбор.
ВАЖНОЕ РЕДАКТИРОВАНИЕ
ОНО РАБОТАЕТ!! Вид.... Мне нужно больше экспериментировать. Но, по сути, всю прошлую ночь я тестировал в своей локальной сети, используя свой локальный IP, и это было своего рода работа (на этот короткий момент). Сегодня, пока я все еще на работе, я решил просто отправить пакет на мой ПК со своего мобильного телефона, используя WAN (я использую freedns, чтобы дать мне имя DNS). И вот, через несколько мгновений я могу войти через ssh. Странно, правда? Возможно я только что оставил свой компьютер этим утром (хотя маловероятно). Отправил команду sudo shutdown -h now
чтобы выключить компьютер (и я не думаю, что он остановился или спал). Ждал на самом деле как час, пока я обедал. Попытался войти в систему через ssh, и время истекло, отправил волшебный пакет и через несколько секунд ssh работает.
Теперь вопрос в том, почему WOL работает через WAN, а не LAN?! Разве это не должно быть наоборот? Просто когда вы думаете, что знаете технологию, она идет и делает что-то вроде этого.
РЕДАКТИРОВАТЬ 2
Проверено. Определенно работает нормально, когда я отправляю пакет через WAN. Не работает через локальную сеть. Я все еще очень смущен. Возможно, вам стоит поискать эксперта по сетевым технологиям. Вот вопрос, хотя. Когда я отправляю по локальной сети, должен ли я отправлять что-то, кроме моего локального IP-адреса, для машины, которую я хочу разбудить (192.168.0.100)? Или я отправлю это на что-то еще? Я вижу, что некоторые люди отправляют его на что-то вроде маски подсети. Должен ли я сделать это? Я не понимаю, почему мой локальный IP не работает, хотя.