5

Я борюсь с настройками WOL на моем Ubuntu box в данный момент. Идея состоит в том, чтобы HTTP/SVN-сервер мог спать, когда он не используется, и просыпаться при обращении к нему. Пока wake-on-LAN работает и активируется при запуске:

Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: pg
        Wake-on: pg
        Current message level: 0x0000003f (63)
        Link detected: yes

Как видите, я также установил флаг wol p («пробуждение от физической активности»). Мое предположение состояло в том, что я мог убедить устройство проснуться не только на магических пакетах, но и на любом доступе к сети. Это, однако, кажется неправильным.

Что означает этот флаг, и: (Как) я могу неправильно использовать это для своих злых планов?

2 ответа2

3

Примечание: вопрос 4+ года крест сообщение от сюда. Не уверен, почему он получает награду более чем через 4 года, но, вероятно, он получил пакет wol ;-)

Руководство по ethtool гласит:

wol p|u|m|b|a|g|s|d...
          Set Wake-on-LAN options.  Not all  devices  support  this.   The
          argument  to  this  option  is a string of characters specifying
          which options to enable.
          p  Wake on phy activity
          u  Wake on unicast messages
          m  Wake on multicast messages
          b  Wake on broadcast messages
          a  Wake on ARP
          g  Wake on MagicPacket(tm)
          s  Enable SecureOn(tm) password for MagicPacket(tm)
          d  Disable (wake on nothing).  This option clears  all  previous
             options.

Активность PHY относится к микросхеме PHY, которая осуществляет связь на физическом уровне модели OSI. С точки зрения непрофессионалов: любой пакет, напрямую отправленный на это сетевое устройство, должен разбудить машину.

Следующие условия должны быть выполнены до пробуждения на работах PHY:

  • ваше сетевое устройство поддерживает это, и ваш сетевой драйвер поддерживает это. Я не уверен, что ethtool проверяет это перед установкой параметра. Проверьте ваше руководство / спецификации, чтобы увидеть, если эта конкретная функция поддерживается.
  • Ваша сетевая карта все еще включена после выключения (должны гореть светодиодные индикаторы). Если это не так, убедитесь, что ваша ОС не закрывает карту (в большинстве дистрибутивов Linux в файле NETDOWN=no ставится /etc/default/halt).
  • Настройки wol сохраняются после сна / выключения.
  • WOL включен в настройках вашего BIOS.

Также обратите внимание, что тайм-аут arp по умолчанию составляет 30 секунд (см. Также этот пост SU). После этого ip-адрес вашей целевой машины будет забыт машиной, с которой вы отправляете любой физический пакет. Убедитесь, что вы установили статический адрес arp на компьютере, с которого вы отправляете пакет.

Теперь любой направленный запрос (ping, http, ssh, пакет wol, ...) должен запустить вашу машину.

2

Я думаю, что ваше предположение верно. Существует множество различных событий, с помощью которых вы можете настроить свое устройство для пробуждения. К сожалению, документация по ethtool не очень понятна для флага p.

Несколько вопросов, которые могут помочь проанализировать проблему: Когда ваша машина выключается, можете ли вы подтвердить, что сетевая карта все еще работает (светодиоды мигают)? Вы пытаетесь разбудить свою машину из той же подсети или через маршрутизатор? Как вы пытаетесь разбудить это? Можете ли вы использовать сетевой сниффер (wireshark) в той же сети, чтобы убедиться, что данные действительно отправляются в подсети?

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