Freitag, 31. August 2007

Wake on LAN

Nur mal ein kurzer Hinweis auf einen sehr guten und kostenlosen Service, den ich mehrfach in der Woche nutze, um meine PCs daheim einzuschalten, ohne direkt davorstehen zu müssen. Die technische Basis ist Wake on LAN, kurz WOL. Dabei wird ein PC so konfiguriert, dass die Netzwerkkarte auch im ausgeschalteten Zustand noch auf spezielle Pakete (Magic Packets) wartet, an denen sie erkennt, dass sie den Rechner einschalten soll. Das funkioniert mit jeder halbwegs aktuellen Hardware.


Was man dafür benötigt, ist unter anderem die MAC-Adresse (also die "eindeutige" Adresse der Netzwerkkarte). Diese bekommt man unter Windows ganz einfach mit dem Befehl "ipconfig /all" in der Eingabeaufforderung heraus, unter Linux hilft "ifconfig" weiter.


Wenn man nun noch seinen Router (den man in einem solchen Fall benötigt, um PCs im eigenen LAN aufzuwecken) so konfiguriert hat, dass die Magic Packets es auch bis ins LAN schaffen und man einen DynDNS-Eintrag für den Router besitzt, hat man schon so gut wie gewonnen. Einfach bei Stephan Mestrona vorbeisurfen und sein nettes WakeOnLAN-Webinterface benutzen.





Ein paar erklärende Worte zu den Themen DynDNS und Portweiterleitung: Die DynDNS-Funktion ist heute in sehr vielen DSL-Routern oder Router/Modem-Kombination schon eingebaut, so dass man sich nur einmal bei der Konfiguration damit 'rumschlagen muss. Einfach mal einen Blick in die Anleitung werfen. Auch, wenn echte Männer sowas ja nie tun würden :-)


Was macht DynDNS? In der Regel neigt der Mensch dazu, sich Namen besser als Zahlen merken zu können und deswegen surft man eher auf http://www.heise.de vorbei als auf das (gleichbedeutende) http://193.99.144.85/ (IP-Adresse von www.heise.de). IP-Adressen sind also die eindeutige Anschrift jedes Rechners, der mit dem Internet verbunden ist. Der sogenannte Domain Name Service (DNS) sorgt nun im Hintergrund dafür, dass der Rechner unseren Wusnch auch dann versteht, wenn wir Namen anstelle von Zahlen eingeben.
Auch jeder Router bekommt bei der Interneteinwahl eine Adresse vom Internet-Provider zugewiesen. Wenn man diese kennt, kann man also seinen eigenen Router (oder PC) aus dem Internet erreichen. Es hat sich in Deutschland allerdings so eingebürgert, dass die Internetverbindung einmal in 24h durch den Provider zwangsgetrennt wird. Bei der (automatischen) Neueinwahl bekommt man aber eine neue Adresse. Was nun? Hier kommt DynDNS ins Spiel, dabei sucht man sich bei einem der DynDNS-Anbieter einen Namen (Webadresse) aus und der Router sorgt dann dafür, dass der Name immer zu der gerade aktuellen IP-Adresse passt. Sehr praktisch, da man sich ab diesem Zeitpunkt nur noch die Adresse merken muss.


Portweiterleitung auf Broadcasts: WOL funktioniert so, dass das Magic Packet an alle Rechner in einem Netzwerksegment geschickt wird. Natürlich erwacht nur derjenige, dessen MAC-Adresse Bestandteil des Magic Packets ist. Alle anderen ignorieren einfach den Befehl zum Aufwachen, er galt ja nicht ihnen. Das Verschicken eines Pakets an alle PCs innerhalb eines Netzes nennt man auch Broadcast, also müsste man eigentlich den Router so konfigurieren, dass er das Signal zum Aufwachen aus dem Internet an alle Rechner im lokalen Netz weiterleitet. Business-Geräte bekommen das auch hin, aber viele Geräte aus der Privatkundenklasse scheitern daran. Da hilft dann nur ein Workaround, der aber in seiner Umsetzung sehr abhängig vom eigenen Router-Modell ist:
Als Voraussetzung müssen die zu weckenden PCs eine feste IP-Adresse besitzen (kann auch immer die gleiche über DHCP sein) und dann kann man in der ARP-Tabelle des Routers einen statischen Eintrag vornehmen. ARP? Ja, ARP. So wie der Dienst DNS Namen in IP-Adressen auflöst, bietet ARP ein Mapping zwischen IP-Adresse und MAC-Adresse. Somit weiß der Router immer, an welche (MAC-)Adresse er das Paket im Netz weiterleiten soll - die Portweiterleitung auf eine IP-Adresse ist dann natürlich entsprechend im Router zu konfigurieren, auch hier ist eine Anleitung hilfreich.
Dieser Workaround ist nicht sehr sauber, da WOL eigentlich nicht von IP-Adressen abhängt und man sich Flexibilität raubt: Man muss für jeden zu weckenden PC einen eigenen statischen ARP-Eintrag und eine passende Portweiterleitung erzeugen. Bei mir sieht das vom Prinzip so aus:



  • Leite alle Pakete an UDP-Port 9 (aus dem Internet) an die IP 192.168.1.123 Port 9 (Port 9 ist der WOL-Port)

  • Leite alle Pakete an UDP-Port 10 (aus dem Internet) an die IP 192.168.1.124 Port 9

Die 192.168er Adressen stammen aus dem privaten Adressraum (diese gibt es also nicht im "richtigen" Internet) und befinden sich bei mir im LAN.


Okay, das ganze soll nur als Idee dienen, wie man das Aufwecken eines oder mehrerer PCs aus dem Internet realisieren kann. Und wenn jetzt einer fragt, warum nicht eine einfache Portweiterleitung im Router reicht: Nun, die ARP-Tabelle wird irgendwann bereinigt, wenn der zugehörige PC nicht erreichbar (also ausgeschaltet) ist. Bei meinem Thomson Speedtouch passiert das nach ungefähr einer halben Stunde. Nur der statische Eintrag hilft dagegen. Wer genauere Hinweise zur Konfig des Speedtouch 585iv6 braucht, kann ja einen Kommentar hinterlassen.


Uff. Bisher definitiv der längste Beitrag in meinem Blog.

blog comments powered by Disqus

Design von Dicas Blogger, angepasst durch Mario Ruprecht