Fernwartung

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Als Fernwartung (auch: Remote-Support) wird der Fernzugriff von technischem Personal auf Systeme zu Wartungs- und Reparaturzwecken. Neben Telefon- und Industrieanlagen werden zunehmend auch Rechner aus der Ferne gewartet.

Konfiguration

Einer der häufigsten Hinderungsgründe für Fernwartung liegt in den NAT-Routern, hinter denen sich inzwischen viele Rechner verbergen. Diese verhindern den direkten Zugriff auf den entfernten Rechner, selbst wenn die IP-Adresse bekannt wäre. Die folgende Rechnernetzstruktur zeigt einen Rechner hinter einem Router mit Firewall und bildet das in privaten Haushalten übliche Szenario ab.

|-------------|       |------------------|                      |------------|       |-------------|
| Rechner des | ----- | NAT-Router       | ----- INTERNET ----- | NAT-Router | ----- | Rechner des |
| Technikers  |       | (IP-Adresse über |                      |------------|       | Benutzers   |
|-------------|       | Dyndns bekannt)  |                                           |-------------|
                      |------------------|

Die Fernwartung ist in folgender Art möglich:

  • Auf dem Rechner des Benutzers wird ein VNC-Server aktiviert.
  • Vom Rechner des Benutzers aus wird ein Reverse-SSH-Tunnel zum Rechner des Technikers aufgebaut und somit der Port, auf dem der VNC-Server lauscht, auf den Rechner des Technikers umgeleitet.
  • Herstellung einer Verbindung mit dem VNC-Client-Server, sodass der Rechner des Benutzers gesteuert werden kann.

In einem ersten Schritt wird dabei die SSH-Verbindung aufgebaut:

|-------------|       |------------------|                      |------------|       |-------------|
| Rechner des | ----- | NAT-Router       | ----- INTERNET ----- | NAT-Router | ----- | Rechner des |
| Technikers  |       | (IP-Adresse über |                      |------------|       | Benutzers   |
|-------------|       | Dyndns bekannt)  |                                           |-------------|
                      |------------------|

      Router leitet  <--------             <----- Shellskript baut SSH-Tunnel zur Dyndns-Adresse auf
      Anfrage weiter 

im zweiten Schritt wird der Reverse-SSH-Tunnel aufgebaut:

|-------------|       |------------------|                      |------------|       |-------------|
| Rechner des | ----- | NAT-Router       | ----- INTERNET ----- | NAT-Router | ----- | Rechner des |
| Technikers  |       | (IP-Adresse über |                      |------------|       | Benutzers   |
|-------------|       | Dyndns bekannt)  |                                           |-------------|
                      |------------------|

      Router leitet  <--------             <----- Shellskript baut SSH-Tunnel zur Dyndns-Adresse auf
      Anfrage weiter

  ---------- Port 10823 auf dem Rechner des Technikers wird über die SSH-Verbindung auf -------->
             Port 5900 des Benutzers weitergeleitet


Auf dem Rechner des Benutzers sind dazu erforderlich:

  • ein VNC-Server (z. B. Vino unter Gnome oder KRFB bzw. KRDC unter KDE).
  • ein SSH-Client (am besten ssh).
  • ein Shellskript, das den VNC-Server und den SSH-Client richtig konfiguriert.

Auf dem Rechner des Technikers sind erforderlich:

  • ein VNC-Client.
  • ein SSH-Server.
  • eine bekannte (nicht unbedingt feste) IP-Adresse.

Beispielkonfiguration

  • Der Techniker konfiguriert sein Rechnernetz so, dass der SSH-Client des Benutzers eine Verbindung herstellen kann.
    • Ermittlung der öffentlichen IP-Adresse des Rechners des Technikers (z. B. über http://checkip.dyndns.org/)
    • Praktisch ist auch ein Dyndns-Konto. Dann kommt im folgenden Shellskript anstelle der ermittelten IP-Adresse die Dyndns-URL zum Einsatz, sodass das Skript nicht jedesmal neu erstellt werden muss. Im Beispiel wird angenommen, dass das Dyndns-Konto "techniker.dyndns.org" zur Verfügung steht.
  • Die Konfiguration des Routers des Technikers wird so geändert, dass dieser den Port 22 auf den Port 22 des Rechners des Technikers weiterleitet. Je nach Router kann diese Einstellung "Portforwarding", "Exposed Host" oder "Virtual Server" heissen.
  • Einrichtung des Rechners des Technikers.
    • Installation eines SSH-Servers, am besten Openssh.
    • Benutzerkonto zur Verwendung des Reverse-SSH-Tunnels.
    • Installation eines VNC-Clients.
  • Konfiguration des SSH-Servers, der Benutzer anhand eines Public Keys identifizieren können muss.
    • Anpassung der Datei "/etc/ssh/sshd_config", wo die Variable "PubkeyAuthentication yes" gesetzt werden muss.
    • Neustart des SSH-Servers mittels "sudo etc/init.d/ssh restart".


Weblinks

Vorlage:Weblinks1