На прошлой неделе я установил Ubuntu и попытался заставить ее загрузиться с помощью Wake On Lan.
Я перенаправил все входящие пакеты на порт 9 на сервер. Когда это волшебный пакет, сервер загрузится. Все шло хорошо, пока я не попробовал на следующий день в другом месте. Это не сработает. Итак, я начал поиск в Google, провел несколько тестов и обнаружил, что сервер не отвечает на волшебный пакет через x минут.
У меня есть telnet-доступ к моему роутеру, если что-то там нужно изменить.
Если вы используете коммутатор или маршрутизатор корпоративного уровня, вам могут потребоваться следующие две директивы:
ip directed-broadcast
и
ip forward-protocol
Эти директивы в основном распространены на Cisco или других поставщиках, использующих Cisco-подобный CLI. В ip directed-broadcast
Директива указывает коммутатору / маршрутизатору пересылать любые пакеты, предназначенные для широковещательного адреса подсети, как если бы это был одноадресный пакет. Это означает, что ваш UDP-пакет, предназначенный для 192.168.1.255 (для подсети 192.168.1.0/24), будет перенаправлен в подсеть назначения 192.168.1.0/24, как если бы он был адресуем. Как только пакет достигнет узла (маршрутизатора / коммутатора), который напрямую подключен к 192.168.1.0/24, ваш ip forward-protocol
директива вступит во владение.
Поскольку 192.168.1.255 является широковещательным адресом, с ним не связан MAC-адрес. Следовательно, коммутатор придется взорваться MAC-адрес назначения в FF: FF: FF: FF: FF: FF. Это означает, что коммутатор / маршрутизатор должен будет отправить пакет на все рабочие порты коммутатора (т. Е. Широковещательная передача уровня 2). В ip forward-protocol
директива делает именно это. Это устраняет необходимость хранить статические записи ARP в таблице ARP вашего маршрутизатора / коммутатора. Обратите внимание, вы делаете не хочу использовать ip helper-address
директиву (если вам это не нужно), потому что она ограничена пересылкой нескольких распространенных протоколов udp, таких как NTP, NetBIOS и т. д. Wake-on-LAN не входит в их число.
Кроме того, у нас на рабочем месте возникали проблемы с настройками BIOS на машинах и различных сетевых адаптерах. В некоторых случаях WoL будет работать только один раз, а затем отказывать в последующие раз. Полное отключение ПК от стены (сеть и кабель питания), позволяя конденсаторам на материнской плате разрядиться, а затем повторное подключение этих ПК, казалось, решило проблему. Однако это не решение. В настоящее время мы находимся в процессе расследования этих аномалий с нашим поставщиком (Dell). Надеюсь это поможет.
Если ваш маршрутизатор настроен на пересылку пакета WOL на ваш спящий компьютер, он должен иметь возможность обнаруживать MAC-адрес компьютера на основе IP-адреса, что и делает протокол ARP. Однако при выключенном компьютере ARP не будет работать, поэтому, как только кеш ARP маршрутизатора устареет, соответствующая запись удаляется, и вам не повезло (в вашем случае это, по-видимому, занимает 20 минут).
Некоторые маршрутизаторы позволяют настраивать это сопоставление ARP статически или использовать статическую IP-конфигурацию в качестве сопоставления ARP, или содержат собственный инструмент WOL для выполнения этой работы (например, прошивки Tomato и DD-WRT) - вам нужно будет проверить свою чтобы узнать, поддерживается ли это.
Другой вариант - перенаправить пакет WOL на широковещательный адрес (например, 192.168.1.256, если это адрес вашей подсети), но это тоже поддерживается не всеми маршрутизаторами.
Некоторые маршрутизаторы не пересылают пакеты wake on lan в вашу локальную сеть, вам нужно будет проверить, будет ли ваш маршрутизатор