[Howto] Wake on LAN (WOL) im Windows Netz

  • [NAS Typ:] alle WOL-fähigen (TS 659 Pro II getestet)
    [Firmware:] 3.4.3 0520T
    [Getestet:] ja
    [Sonstige Modifikationen:] keine


    Hallo Qnap Fans!
    Dies ist mein erstes Howto überhaupt, bitte um Gnade sollte ich (viele) Fehler machen :roll:


    Vorgeschichte
    Ich habe den Eindruck gewonnen beim Durchstöbern dieser und anderer Foren, dass für WOL im Allgemeinen und hier WOL für die Qnap's im Speziellen, ein großer Bedarf herrscht. Gleichzeitig schwirren viele unterschieldiche Tips und Meinungen herum die es einem Newbie wie mir sehr schwer machen das zu realisieren, was ich will. Ich hege nun die Hoffnung, dass ich mit dieser Anleitung Misverständnisse aufklären und vielen anderen Benutzern helfen kann - oder auch nur eine Inspiration liefern für eine adaptierte Lösung.


    Vorbedingungen
    Meine Lösung ist lediglich für einen eingeschränkten Benutzerkreis von Interesse - diese Einschränkungen erkläre ich hier kurz.
    LAN-Typ: Windows-Netz, getestet mit Windows-7 Clients, sollte jedoch auch für andere Versionen klappen.
    IP-Range / Subnetz: alle Rechner (clients & NAS) befinden sich im selben Netz/LAN (also nicht WOW - wake on wide-area-network)
    Benutzer: primär für private Anwender - im professionellen Bereich sind Wiederanlaufzeiten von ein paar Minuten meist viel zu lange ;)


    Begriffe
    Um sicherzustellen, dass wir alle vom Selben reden, möchte ich ein paar Begriffe erklären ...
    Standby-Mode: der Rechner befindet sich im Ruhezustand und die Festplatten sind ausgeschaltet. Spart ein wenig Strom, Wiederhochfahren geht realtiv schnell.
    WOL: wake-on-lan ist eine Funktion, die nichts mit dem Aufwecken aus dem Standby-Mode zu tun hat. Unter WOL verstehe ich, einen Computer aus dem (fast) vollständigen Ausschaltezustand wieder hochzufahren. Die einzige Bedingung dafür ist, dass sich der Rechner (in unserem Fall das NAS) an einem Stromnetz befindet und das NAS während des Off-Zustands auch nicht vom Netz getrennt wird ... ein großer Nachteil ist, dass das Hochfahren recht lange dauert (im Vergleich zB zum Wecken aus dem Standby) - der Vorteil: fast kein Stromverbrauch (lediglich der Chipt vom Netzwerkadapter benötigt ein wenig Strom um das magic-packet zu empfangen).
    komplett aus: der Rechner ist vollständig ausgeschaltet und/oder vom (Strom-)Netz getrennt. Aus diesem Zustand kann er nur mittels Ein/Aus Taste wieder gestartet werden.


    Zusätzliche Tools
    Damit diese Lösung klappt, muss man sich das Freeware-cmd Programm wolcmd.exe von Depicus (http://www.depicus.com/wake-on-lan/wake-on-lan-cmd.aspx) herunterladen und auf allen Windows-Clients installieren die in der Lage sein sollen, das NAS wieder aufzuwecken. Dieses Programm ist in der Lage ein sog. Magic-Packet an ein WOL-fähiges Gerät zu senden.
    Empfohlenes Installations-Verzeichnis: C:\Windows\System32\
    Hinweis: das einizige was hier wichtig ist: es muss ein Verzeichnis sein, welches durch $PATH gefunden werden kann, was iA für o.g. Verzeichnis gilt.
    Ich habe auch andere WOL-Tools getestet - nicht alle schaffen es, das Qnap wieder zu starten. Mit diesem hier (u.a. auch von Qnap selbst empfohlen) sollte es aber funktionieren.


    Idee/Was will ich?
    Wie gesagt, diese Lösung ist primär für private Heimanwender gedacht.
    Die Idee ist, dass das NAS grundsätzlich ausgeschaltet ist (genauer: sich im WOL Modus befindet) und der erste PC, der hochgefahren wird, es einschaltet und ein paar Shares mountet. So kann man beruhigt auf Urlaub fahren und sich sicher sein, dass das NAS auch ausgeschaltet ist ... ;)


    Einstellungen am Qnap
    Natürlich muss WOL (unter System Admin/Power Mgmt) aktiviert sein.
    Damit das ganze halbwegs Sinn macht sollte man das NAS irgendwann in der Nacht (sagen wir 0:00) 'runterfahren (ebenfalls unter System Admin/Power Mgmt) - "set power on/power off/restart schedule"


    Einstellungen an den Windows-Clients
    Die Dirigenten dieses Konzerts sind die Windows-Rechner. Neben dem vorher beschriebenen wolcmd.exe Programms benötigen wir noch eine cmd-batch Datei, die z.B. abgelegt unter Start->Autostart automatisch nach Anmelden eines Benutzers prüft ob das NAS schon eingeschaltet ist und dann die NAS/shares mountet. Alternativ dazu kann das script natürlich einfach am Desktop abgelegt werden ...
    Hier das Beispiel für eine cmd-batch die das bewerkstelligt:



    Ein paar Bemerkungen zum batch-script:
    Ich habe viele verschiedene Windows-Kommandos getestet, alle haben ihre Vor- und Nachteile. Eine Anforderung von mir war, möglichst mit Windows-Bordmitteln auszukommen, also möglichst wenig Fremdprogramme zu benötigen. Das einzige Fremdprogramm ist daher wolcmd.exe, sleep.exe o.ä. umgehe ich mit dem ping 127.0.0.1 Kommando (Vorteil von ping localhost ist, es belastet nicht wirklich das LAN).
    In diesem Bsp. rufe ich ping mit dem Parameter -n 300 auf, der alle Sekunden einen Ping auf 127.0.0.1 (localhost) macht und das 300 mal (also ca. 5 Minuten). Diese Zeit sollte reichen, damit das NAS hochfährt (6 Platten, Raid 5). Diese Zeit kann und sollte jeder selbst tunen, da sie von vielen Faktoren (wie NAS Typ, Anzahl Platten, Raid Level, zu startende LAN services etc. pp.) abhängt. Als Alternative könnte man das Kommando choice (Bsp: choice /c ab /d a /t 300) verwenden - dieses bietet den Parameter /t (Zeitlimit) --- Nachteil: choice wartet auf eine Eingabe von einem Benutzer und wenn eine Taste gedrückt wird bevor das NAS hochgefahren ist, schlagen die nachfolgenden share-mounts fehl ...


    Die Parameter von wolcmd sind: MAC IP SN-Mask PORT (ich habe als Subnet-Mask fix 255.255.255.0 und als PORT 40000 genommen - diese Einstellungen ggF anpassen und dafür sorgen, dass die Firewall/der Router nicht den Port blockt!)
    Ich empfehle, sollte das NAS mittels beider (sofern vorhanden) LAN-Ports am Switch angeschlossen sein (bsp. Trunking), jeweils IP und MAC von NAS-Port-1 zu verwenden. Ich habe tw. negative Erfahrungen gemacht, wenn ich versucht habe, das NAS ausschließlich via Port-2 anzusprechen ...


    Das dritte ping (unter der Sprungmarke :verbinden) ist wahrscheinlich überflüssig - ich habe es eingebaut für all jene Fälle, wenn das NAS eingeschaltet aber im standby-modus ist - es gibt mir einfach ein besseres Gefühl :)


    baba und ciao
    Ich hoffe, ich konnte einigen Qnap und Windows Benutzern helfen. Vielleicht inspiriert mein Lösungsansatz - ich erhebe nicht den Anspruch der Perfektion ;) - andere Benutzer ähnliche Probleme zu umgehen oder hier noch bessere Vorschläge zu bringen.


    Schönen Abend noch,
    DD