Ich kämpfe im Moment mit den WOL-Einstellungen meiner Ubuntu-Box. Die Idee ist, einen HTTP/SVN-Server zu haben, der schläft, wenn er nicht verwendet wird, und aufwacht, wenn auf ihn zugegriffen wird. Bisher funktioniert Wake-on-LAN und wird beim Start aktiviert:
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
Wie Sie sehen, habe ich auch das wol p
Flag („Aufwachen bei körperlicher Aktivität“) gesetzt. Meine Annahme war, dass ich das Gerät dazu bringen könnte, nicht nur bei Magic Packets, sondern bei jedem Netzwerkzugriff aufzuwachen. Dies scheint jedoch falsch zu sein.
Was bedeutet diese Flagge dann und: (Wie) kann ich sie für meine bösen Pläne missbrauchen?
Antwort1
Hinweis: Die Frage ist ein über 4 Jahre alter Crosspost vonHier. Ich bin nicht sicher, warum es nach mehr als 4 Jahren eine Prämie bekommt, aber wahrscheinlich hat es ein Wol-Paket erhalten ;-)
Derethtool-Handbuchsagt:
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.
Die PHY-Aktivität bezieht sich auf diePHY-Chip, das die Kommunikation auf der physischen Ebene desOSI-Modell. Einfach ausgedrückt: Jedes Paket, das direkt an dieses Netzwerkgerät gesendet wird, sollte die Maschine aufwecken.
Die folgenden Bedingungen sollten erfüllt sein, bevor Wake on PHY funktioniert:
- Ihr Netzwerkgerät unterstützt diesUndIhr Netzwerktreiber unterstützt dies. Ich bin nicht sicher, ob ethtool dies ausführlich prüft, bevor der Parameter festgelegt wird. Überprüfen Sie in Ihrem Handbuch/Ihren Spezifikationen, ob diese spezielle Funktion unterstützt wird.
- Ihre Ethernet-Karte ist nach dem Herunterfahren immer noch eingeschaltet (die LEDs sollten leuchten). Wenn dies nicht der Fall ist, stellen Sie sicher, dass Ihr Betriebssystem die Karte nicht herunterfährt (in den meisten Linux-Distributionen ist dies der Fall
NETDOWN=no
)/etc/default/halt
. - Wol-Einstellungen bleiben nach dem Ruhezustand/Herunterfahren erhalten.
- wol ist in Ihren BIOS-Einstellungen aktiviert.
Beachten Sie auch, dass das Standard-ARP-Timeout 30 Sekunden beträgt (siehe auchdieser SU-Beitrag). Danach wird die IP-Adresse Ihres Zielcomputers von dem Computer, von dem Sie ein physisches Paket senden, vergessen. Stellen Sie sicher, dass Sie auf dem Computer, von dem Sie das Paket senden, eine statische ARP-Adresse festlegen.
Jetzt sollte jede gezielte Anfrage (Ping, HTTP, SSH, ein Wol-Paket usw.) Ihren Computer zum Laufen bringen.
Antwort2
Ich denke, Ihre Annahme ist richtig. Es gibt viele verschiedene Ereignisse, bei denen Sie Ihr Gerät so konfigurieren können, dass es geweckt wird. Die Dokumentation zu ethtool ist in Bezug auf das p-Flag leider nicht sehr eindeutig.
Einige Fragen, die bei der Analyse des Problems helfen könnten: Können Sie beim Herunterfahren Ihres Computers bestätigen, dass die Netzwerkkarte noch läuft (LEDs blinken)? Versuchen Sie, Ihren Computer aus demselben Subnetz oder über einen Router aufzuwecken? Wie versuchen Sie, ihn aufzuwecken? Können Sie einen Netzwerk-Sniffer (Wireshark) im selben Netzwerk verwenden, um zu bestätigen, dass tatsächlich Daten über das Subnetz gesendet werden?