Windows PC fernsteuern – Teil 2
Der letzte Artikel zu Windows PC fernsteuern war eine kurze Einführung zum Thema. Nun werden wir aktiv Schritt für Schritt den Zugriff auf den eigenen Windows PC aus dem Internet konfigurieren.
Windows PC fernsteuern – Teil 2
Ist der Zugriff von außen ins eigene Netzwerk überhaupt sicher? Das sollte die erste Frage sein die sich jeder Leser stellen sollte. Tatsächlich macht es wenig Unterschied ob man den RDP Zugriff konfiguriert oder nicht. Wir werden lediglich einen einzigen Port am Router freischalten. Der Zugriff ist so sicher, wie das RDP Protokoll und dessen Implementierung unter Windows 10 auch sind. Es wird ein zusätzlicher Angriffspunkt geöffnet, für einen privaten Anwender sollte das aber relativ egal sein, da ein Angriff ohne bekannter Sicherheitslücke wohl viel zu aufwändig wäre.
Zugriff einrichten
Ich zeige euch nun Schritt für Schritt die Punkte die man für einen Remote Zugriff auf den Windows PC einrichten muss. Beginnen wir einfach mal mit dem einfachsten Fall: wir haben eine fixe IP Adresse im Internet (die Anleitung funktioniert auch, wenn ihr das nicht habt). Sucht in eurer Suchmaschine nach „meine ip adresse“ und besucht eine dieser Seiten. Ihr findet dort eure aktuelle IP Adresse die jedes Gerät im Heimnetzwerk im Internet hat. In meinem Fall ist das aktuelle:
Diese kann sich ändern, wird aber in den nächsten Stunden aber die selbe sein. Ihr könnt nun zum Beispiel vom Smartphone über diese Adresse und einer RDP App versuchen Zugriff zu erlangen. Am besten ihr testet das vorher im lokalen Netzwerk. Erst wenn es dort funktioniert schaltet ihr beim Smartphone WLAN ab und versucht den Zugriff mit dieser IP Adresse. Vermutlich wird es nicht funktionieren. Warum? Euer Router blockt standardmäßig viele für den Heimanwender unnötige Ports. RDP läuft über den Port 3389. Wir müssen nun eine so genannte Portweiterleitung einrichten.
Router Konfiguration
Von der Theorie her haben wir folgendes vor. Alles was über das Internet zum Router über den Port 3389 gesendet wird soll genau so weiter zum Windows PC geschickt werden auf den wir uns verbinden möchten. Das Problem ist nun, die Einrichtung funktioniert bei jedem Router anders. Sicher ist: jeder Router erlaubt die Portweiterleitung, wo sich diese Option befindet ist vom Hersteller abhängig. Auf jeden Fall benötigt man Zugriff auf die Konfiguration des Routers. Den bekommt man über den Browser unter Eingabe der IP Adresse des Routers. In meinem Fall 192.168.0.1. Bei mir sieht die Konfigurationsseite wie folgt aus:
Im Formular gibt man die IP Adresse des Windows PCs ein. Beim Portbereich füllt man nur den RDP Port aus. Protokoll kann man TCP+UDP lassen. Sobald man diese Konfiguration anwendet funktioniert der Zugriff am Smartphone, der zuvor scheiterte!
DDNS
Funktionell sind wir nun fertig. Der Zugriff funktioniert nun auch von unterwegs, doch Achtung! Sobald sich nun die zugewiesene öffentliche IP Adresse ändert kommt man nicht mehr zum PC. Wir benötigen ein dynamisches DNS Service. Ein DNS Service ist der Grundbaustein vom Internet. Eine Adresse wie technology-blog.net wird mittels DNS in die IP Adresse meines Webservers umgewandelt und euch wird diese Seite angezeigt. Ändert sich die IP Adresse meines Webservers ist das egal, die Domain bleibt gleich. Das heißt bei der nächsten Abfragen könnte die Domain bereits in eine andere IP Adresse umgewandelt werden. Genau das brauchen wir auch!
dynDNS Theorie
dynDNS funktioniert fast genau wie DNS. Wir erstellen uns eine Domain (meistens eine Subdomain) und diese zeigt immer auf die aktuelle öffentliche IP Adresse eures Netzwerks. Woher weis dynDNS diese Adresse? Ganz einfach: wir teilen diese IP Adresse periodisch dem Service mit. Sobald sie sich ändert wird der Zeiger der eingerichteten Domain auf die neue IP Adresse gesetzt. Das heißt wir sind immer so aktuell wie oft das Service läuft (zum Beispiel alle 15 Minuten).
dynDNS konfigurieren
Um dynDNS zu nutzen braucht ihr einen Anbieter. Glücklicherweise gibt es zahlreiche Anbieter die das dynDNS Service gratis anbieten. Sucht einfach mal nach „dynDNS“ und sucht euch einen Anbieter aus. Falls ihr einen Webspace habt könnte es sein, dass euer Hoster bereits ebenfalls dynDNS anbietet. Das war bei mir der Fall. Je nach Anbieter gibt es unterschiedliche Formulare um dynDNS zu konfigurieren, meistens reicht die Angabe einer Subdomain. Das ist eine Folge von Zeichen die vor der Domain eures Anbieters stehen. Wählt ihr beispielsweise „meinwindowspc“ beim Anbieter „domain.com“, dann würde eure dynDNS Adresse wie folgt aussehen:
1 | meinwindowspc.domain.com |
Sobald ihr die Konfiguration speichert könnt ihr normalerweise bereits mit eurer Remotedesktop App mit dieser Domain statt der IP Adresse von außerhalb eures privaten Netzwerks zuhause auf den PC zugreifen. Noch haben wir nur einen Namen definiert, ändert sich eure öffentliche IP, dann funktioniert die Verbindung nicht mehr. Wir brauchen noch ein Service, dass die eure IP dem dynDNS Anbieter mitteilt.
Auf IP Änderungen reagieren
Es gibt nun verschiedene Möglichkeiten. Am besten ihr kontaktiert dazu die Hilfe eures dynDNS Anbieters. In jedem Fall gibt es einen Endpunkt, welchen ihr regelmäßig mit eurer IP Adresse unter Angabe eines Benutzernamens und Passwort aufrufen müsst. Es gibt mindestens 3 Möglichkeiten:
- Client Programm
manche Anbieter lassen euch eine Software zur Installation herunterladen. Dort gebt ihr die Zugangsdaten ein. Für den Anwender ohne Wissen die optimale Lösung, ich verzichte aber gerne auf das 100ste Programm, dass ich installieren soll. - Router Einstellung
manche Router haben bereits bekannte dynDNS Services implementiert. Dort muss man lediglich die Logindaten eingeben, den Rest übernimmt der Router. Bei meinem Modell sieht das beispielsweise so aus:
Da ich dynDNS über meinen Hoster verwende und der Router nur 4 unterschiedliche Services anbietet verzichte ich auf diese Konfiguration. - ausführbares Script
für Experten gibt es die optimale Option eines eigenen Scripts. Ob bash Script unter Linux oder PowerShell Script unter Windows, ihr könnt dort selber entscheiden was passiert und wann das Script laufen soll. Unter Windows 10 habe ich folgendes PowerShell Script geschrieben:
123456789101112131415161718192021222324252627282930313233# Konfiguration$hostname = "DYNDNS.DOMAIN.COM" # Domain vom dynDNS Service$user = "BENUTZERNAME" # Benutzername$pwd = "PASSWORT" # Passwort$pair = "$($user):$($pwd)"# aktuelle externe IP Adresse abfragen$MyIpPage = Invoke-WebRequest "https://domains.google.com/checkip"# wenn wir eine IP Adresse habenIf ($MyIpPage.RawContent -match "(?:[0-9]{1,3}.){3}[0-9]{1,3}"){# Benutzername und Passwort als Authentifizierung verwendne$bytes = [System.Text.Encoding]::ASCII.GetBytes($pair)$base64 = [System.Convert]::ToBase64String($bytes)$basicAuthValue = "Basic $base64"$headers = @{ Authorization = $basicAuthValue }# die URL zusammenbauen$url = "https://{0}?myip={1}" -f $hostname, $MyIpPage# URL aufrufen$resp = Invoke-WebRequest -Uri $url -Headers $headers# Antwort ausgeben. Mögliche Antworten: "good","nochg","nohost","badauth","notfqdn"$resp.Content}Else{# Fehlermeldung ausgeben"No IP"}
Falls ihr das Script verwenden möchtet müsst ihr oben die Werte für die Domain, den Benutzernamen und das Passwort ersetzen. Das Script holt sich automatisch eure öffentliche IP Adresse über ein Google Service (das ändert sich hoffentlich nicht) und schickt es an die Domain mit der IP Adresse als Parameter. Eventuell müsst ihr diese Zeile für euren Dienst anpassen. Benutzername und Passwort werden für die basicAuthentication des Webservers eures dynDNS Anbieters verwendet. Wenn alles gut läuft gibt das Script good zurück.
Wir legen das Script nun irgendwo ab. Ich speichere das Skript als dynDNS.ps1 Datei und lege es in einen Ordner (für solche Fälle habe ich mir unter C:\Tools einen Ordner angelegt). Am besten man testet zuerst ob du das Script von der PowerShell manuell ausführbar ist. Falls ja muss nur noch einen automatischen Task konfigurieren. Wie das funktioniert zeige ich im folgenden Artikel.
Für welche Option ihr auch entscheidet, erst nach einer Änderung der IP Adresse wird sich herausstellen, ob diese funktioniert.
Fazit
dynDNS ist das Mittel um auch über das Internet jederzeit auf euren Windows PC zuhause zugreifen zu können. Das Service behält die Funktion, auch wenn sich die dynamische öffentliche IP eures Routers ändert. Dank gratis dynDNS Service erspart ihr euch eine viel teurere Business Lösung für zuhause mit statischer IP Adresse. So lange noch IPv4 Adresse üblich sind wird man dynDNS noch einsetzen müssen. Sobald flächendeckend IPv6 verwendet wird erübrigt sich das Problem.
Ich freue mich auf euer Feedback. Hat euch die Anleitung geholfen? Welche Stellen waren nicht gleich klar und benötigen eine bessere Erklärung?