![]() |
![]() |
![]() |
![]() |
|
|
Aus dem Alltag eines Sysadmin: Active Port ForwarderBrücke mit TunnelCharly Kühnast |
![]() |
Inhalt |
60 | Die individuelle Knoppix-CD
65 | Admin-Workshop
68 | Workshop: E-Directory |
Die meisten Partnerschaften werden offenbar am Arbeitsplatz geknüpft. Über deren Langzeitstabilität will ich nicht spekulieren, man soll Privates und Berufliches ordentlich trennen. Bei meinen Webservern halte ich das so: Der private steht bei mir zu Hause. Da ich dort keine Standleitung besitze, wechselt meine IP bei jedem Dialup.
Lösen lässt sich dieses Problem normalerweise mit einem DNS-Dienst wie Dyndns, der einen festen Namen auf die jeweils aktuelle IP-Adresse mappt. Ich stecke aber trotzdem in der Klemme, weil meine Maschine hinter einem NAT-Gateway - dem DSL-Router - steht. Der Router hat die vom Provider zugeteilte IP für sich gepachtet, während mein Heimnetz mit privaten Adressen (192 .168.X.X) werkelt.
Der Router verhindert wirkungsvoll den Zugriff aus dem Internet auf lokale Rechner - eigentlich ein wertvolles Sicherheitsfeature, das mich hier aber nur mäßig beglückt. Aktuelle Linux-Firewalls ließen sich zwar per DNAT (Destination-NAT) dazu überreden, einen externen Port auf einen internen Rechner umzuleiten, viele Appliances bieten dieses Feature aber schlicht nicht an.
Da NAT-Router von innen nach außen sehr durchlässig sind (Ausnahme: Der Router besitzt eigens definierte Paketfilterregeln), kann ich munter Verbindungen ins Internet aufbauen. Und mit der richtigen Software benutze ich die Verbindungen dazu, Daten rückwärts ins heimische Netz zu tunneln (siehe Abbildung 1). Genau das leistet Active Port Forwarder[1], es trägt aktuell die Versionsnummer 0.5.3.
Beim Kompilieren entstehen eine Client- und eine Server-Komponente. Außerdem brauche ich einen Brückenkopf im Internet: einen Server, auf dem ich Shell-Zugang habe. Den gibt mir ein Bekannter (kein Arbeitskollege, siehe oben), der einen Root-Server gemietet hat. Auf diesem Brückenkopf kompiliere ich den Port Forwarder. Von den entstehenden Files benötige ich nur die Server-Komponente. Sie startet durch »./afserver« mit folgenden Default-Einstellungen:
Wem diese Voreinstellungen nicht zusagen, der baut eine kleine Konfigurationsdatei (ein Beispiel liegt dem Paket bei) und ruft den Server mit »./afserver -f Konfigurationsdatei« auf.
Beim Client geht's ähnlich einfach. Ich kompiliere auf meinem Wohnzimmer-Webserver das Paket und benutze nur die Client-Komponente: »./afclient -n Servername -p 80«. Als Servername eignen sich der voll qualifizierte Name oder die IP-Adresse des Brückenkopfs. Das war's! Wenn ich jetzt den Server auf Port 50127 ansurfe, antwortet mir meine Wohnzimmer-Kiste. Die Verbindung zwischen AF-Server und -Client ist übrigens SSL-verschlüsselt. (jk)
Infos |
[1] Active Port Forwarder: [http://www.gray-world.net/pr_af.shtml] |