zurück zum Artikel

Virtuelles Netzwerk einrichten und sichern

| Karsten Violka

In einer virtuellen Maschine kann man einen Testserver so vom restlichen LAN trennen, dass er kein Unheil anrichten kann. Durch einen SSH-Tunnel hindurch lassen sich so isolierte VMs dennoch von einem anderen PC aus verwalten.

Unsere Entwicklerin kratzte sich am Kopf: Ein zentraler Server sollte für eine Erweiterung auf einer zusätzlichen Testmaschine installiert werden. Am einfachsten schien es, das komplette Betriebssystem samt Datenbank und Webserver auf eine andere Maschine zu klonen. Die Kopie direkt ans Redaktions-LAN anzuschließen, war allerdings zu riskant. Die darauf laufende Software interagiert mit anderen Rechnern und könnte dort etwa Verarbeitungsschritte anstoßen, die die Produktion durcheinanderbringen.

Damit er kein Unheil anrichtet, musste der Spielserver also in einem eigenen Netz isoliert werden. Ein völlig separates Netz aufzubauen, etwa per VLAN oder gar mit zusätzlichen Kabeln, war nicht praktikabel. Die Entwickler sollten auch via VPN auf die Testumgebung zugreifen können.

Das Dilemma lösten wir schließlich mit einem Gespann aus dem kostenlosen VMware Server und einem leicht unter Windows zu installierenden SSH-Server. Mit dem Windows-Terminal PuTTY lassen sich via SSH leicht IP-Verbindungen in den abgeschotteten Bereich tunneln.

Um das hier beschriebene Szenario nachzustellen, benötigen Sie lediglich einen PC mit Windows XP und den VMware Server, der kostenlos im Netz erhältlich ist. Dem XP-Rechner teilten wir eine reguläre IP-Adresse aus dem Redaktionsnetz zu. Die ältere Version 1.0.8 des VMware Server ist etwas einfacher zu handhaben als die aktuelle 2.0. Auch die Workstation-Variante eignet sich für das hier beschriebene Szenario, ebenso wie andere Virtualisierer, die ein privates Netz zwischen Host-System und VM einrichten können.

Auf dem XP-Rechner installieren Sie zudem die ebenfalls kostenlose Software VMware Converter [1]. Damit lässt sich der laufende Produktionsserver via Netzwerk in eine virtuelle Maschine kopieren. Der Konvertierungsassistent nimmt zu einem PC Verbindung auf, dessen Administratorpasswort man ihm mitteilt. Dort installiert er selbstständig einen Kopieragenten, der das Image anfertigt und auf einer Netzwerkfreigabe ablegt.

Die Netzwerkkarte der virtuellen Maschine konfigurieren Sie für den „Host-Only“-Betrieb. VMware verwaltet bis zu zehn getrennte virtuelle Netzwerke, die als VMnet0 bis VMnet9 bezeichnet sind. „Host-Only“ verbindet die Netzwerkkarte mit dem „virtuellen Switch“ VMnet1, der keine Verbindung zur Außenwelt hat.

Virtual Network Settings

Unter „Host/ Virtual Network Settings” stellt man ein, welchen Adressbereich das virtuelle Netzwerk verwenden soll.

Den Dialog für die Netzwerkeinstellungen erreicht man in VMware im Menü Host unter „Virtual Network Settings“. Auf dem Reiter „Host Virtual Network Mapping“ lässt sich einstellen, welche Netzwerkadressen VMnet1 verwenden soll, hier haben wir das Netz 10.10.207.0 mit der Maske 255.255.255.0 gewählt, das in unserem LAN niemand verwendet. Damit erhält die virtuelle Netzwerkkarte, die VMware im XP-Gastgebersystem installiert, automatisch die Adresse 10.10.207.1.

Den Server in der VM konfigurierten wir auf die feste IP-Adresse 10.10.207.2. Entfernt man auf dem Reiter DHCP den Eintrag für VMnet1, vergibt VMware dort keine IP-Adressen mehr. Nun sollte der laufende Windows-Server in der VM mit dem XP-Host (und nur mit diesem) kommunizieren können. Wer die Verbindung per ping testen will, muss aber noch die XP-Firewall entsprechend einstellen, die in der Grundeinstellung Ping-Anfragen verschluckt. In der Systemsteuerung finden Sie in der Firewall-Rubrik auf dem Reiter „Erweitert“ den Knopf ICMP. Er öffnet einen Dialog, in dem man „eingehende Echoanforderungen“ zulassen kann.

User Properties

Dem SSH-Server macht man die Benutzer bekannt, die sich auf diesem Weg anmelden dürfen.

Damit andere Entwickler von außen Verbindung zum eingesperrten Server aufnehmen können, richten Sie auf dem Gastgeber-PC den kostenlosen SSH-Server freeSSHd [2] ein, was schnell erledigt ist. Das Setup-Programm erstellt die für die SSH-Verbindung nötigen Schlüssel und meldet den Server als Systemdienst an. Damit die Firewall des XP-Rechners die Zugriffe auf den SSH-Server passieren lässt, ist eine Ausnahmeregel nötig: In der Systemsteuerung klicken Sie unter Firewall auf dem Reiter „Ausnahmen“ auf „Port“ und erstellen einen neuen Eintrag namens SSH für die Portnummer 22.

freeSSHd muss noch erfahren, welche Benutzer sich via SSH anmelden dürfen. Die Namen der berechtigten Benutzer tragen Sie im Konfigurationsdialog ein, der mit einem Doppelklick auf das Tray-Icon des SSH-Servers erscheint. Mit der Option „NT-Authentication“ akzeptiert der Server das Windows-Passwort des angegebenen Kontos. Zusätzlich muss dem Benutzer gestattet werden, die „Shell“ sowie „Tunneling“ zu verwenden. Auf dem Reiter Tunneling muss die Option „Allow local port forwarding“ angeknipst sein. Das „remote port forwarding“ ist hier nicht nötig; damit lässt sich ein Tunnel bei bestehender Verbindung in der anderen Richtung aufbauen.

Remotedesktopverbindung

Eine Remote-Desktop-Session starten Sie, indem Sie im Windows-Dialog localhost: 7777 als Zieladresse eingeben.

Um den neuen Server zu testen, starten Sie das Terminal-Programm PuTTY [3] auf einem Client-PC und geben die IP-Adresse des XP-Servers als Ziel für die SSH-Verbindung an. Wenn PuTTY den Server erreicht, fragt das Programm zunächst, ob es dem öffentlichen Schlüssel des SSH-Servers vertrauen und ihn speichern darf. Das soll Anwender alarmieren, wenn jemand versucht, sie auf einen fingierten Server zu locken.

PuTTY-Konfiguration

Das Terminal-Programm PuTTY leitet den lokalen Port 7777 durch den SSH-Tunnel zum Remote Desktop des virtualisierten Servers weiter.

Nach der Bestätigung können Sie sich mit dem Namen und dem Passwort des zuvor freigeschalteten Benutzers anmelden. Im PuTTY-Fenster erscheint die Eingabeaufforderung des entfernten PC, wovon man sich etwa mit einem Aufruf von ipconfig überzeugen kann.

Im nächsten Schritt gilt es, einen lokalen Port des Client-PC durch die SSH-Verbindung hindurch zur VM im virtuellen Netz weiterzuleiten. Speichern Sie die Verbindung im PuTTY-Konfigurationsdialog unter einem Namen ab und wechseln Sie auf die Konfigurationsseite Connection/SSH/Tunnels. Hier tragen Sie unter „Source Port“ die Nummer 7777 als lokalen IP-Port ein, der die Verbindung entgegennimmt. Als Zieladresse („Destination“) geben Sie die IP-Adresse aus dem Host-Only-Netz ein, unter der der Windows-Server im Testnetz antwortet. Das funktioniert, weil der SSH-Tunnel auf dem XP-Host endet, sobald die SSH-Verbindung steht – und hier ist diese IP-Adresse bekannt. Dahinter geben Sie, mit einem Doppelpunkt getrennt, die Port-Nummer 3389 für das Remote-Desktop-Protokoll ein.

PuTTY übernimmt die Änderungen aber nicht automatisch im angelegten Profil, sobald Sie auf „Open“ klicken. Wechseln Sie deshalb zunächst zurück auf die Seite Session, um die Tunnelkonfiguration für den nächsten Aufruf zu speichern. Wenn die SSH-Verbindung steht, können Sie auf dem Client-PC zunächst mit dem Befehl

telnet localhost 7777

testen, ob die Verbindung durch den Tunnel funktioniert. Wenn Telnet Verbindung aufnehmen kann und den Inhalt der Eingabeaufforderung löscht, sollte auch Remote-Desktop-Session nichts im Wege stehen: Geben Sie im Windows-Dialog localhost:7777 als Zieladresse ein. In den Optionen des Remote-Desktops kann man auf dem Reiter „Leistung“, die Übertragung auch für eine schmalbandige Verbindung konfigurieren, wenn der Tunnel etwa über ein VPN läuft.

SSH-Tunnel

Durch den SSHTunnel hindurch lässt sich der Windows-Server im virtuellen Testnetz via Remote Desktop ansprechen.

Um den Aufbau des Tunnels mit PuTTY zu erleichtern, kann man im Profil unter Connection/Data den Benutzernamen eintragen, mit dem man sich verbinden möchte. Anschließend erstellt man auf dem Desktop eine Verknüpfung und ergänzt in ihren Eigenschaften unter „Ziel“ den Aufruf um den Parameter -load "profilname". Jetzt genügt es, den Link doppelt zu klicken und das Passwort einzugeben, um den Tunnel aufzubauen.

Über den SSH-Tunnel können die Entwickler sogar von ihren Heimarbeitsplätzen aus den virtualisierten Testserver erreichen, wenn sie via VPN mit dem Firmennetz verbunden sind. Mehrere Konfigurationsstände des virtualisierten Servers lassen sich leicht aufbewahren: Es genügt, die VM zu pausieren und ihren Ordner komplett auf ein Sicherungslaufwerk zu kopieren. Und auch der Umzug auf eine andere Hardware ist ein Kinderspiel – der virtuellen Maschine ist es egal, auf welchem Gastgeber-System sie läuft. (kav) (bb [4])


URL dieses Artikels:
https://www.heise.de/-221569

Links in diesem Artikel:
[1] http://www.heise.de/software/download/default.shtml?T=vmware+converter&global=1
[2] http://www.heise.de/software/download/freesshd/33746
[3] http://www.heise.de/software/download/putty/7016
[4] mailto:bb@ct.de