Über die Einrichtung und Nutzung eines virtuellen privaten Netzwerks mit OpenVPN habe ich bereits einige Beiträge geschrieben. Unter bestimmten Umständen kann man sich jedoch die Einrichtung eines VPNs sparen und stattdessen einfahc einen SSH-Tunnel mit dem Programm sshuttle nutzen. Dies bietet einige Vorteile, z.B. benötigt man auf dem Server keinen Rootzugriff. Sshuttle erwartet auf dem Server nur einen installierten SSH-Server und Python 2.7. Nach der Installation auf dem Client kann sofort ein Tunnel zu oder über einen beliebigen Server aufgebaut werden, auf den man per SSH Zugriff hat.
Ein Nachteil ist u.U. die Nutzung des Kommandozeilenprogramms sshuttle selbst. Für Smartphones und Tablets ist diese VPN Alternative also kaum sinnvoll nutzbar. Außerdem unterstützt sshuttle nur TCP Verbindungen. UDP Verbindungen oder ein Ping per ICMP funktionieren durch den sshuttle Tunnel nicht.
Einzige Ausnahme ist die Weiterleitung von DNS Anfragen über UDP bei Verwendung des Parameters –dns.

Installiert wird das Programm bequem aus den Paketquellen mit

sudo apt-get install sshuttle

Wenn man durch den Tunnel nur Zugriff auf das privat Subnetz 192.168.178.0 habe nöchte (z.B. weil man von außerhalb Zugriff auf sein Heimnetzwerk benötigt) startet man den sshuttle folgendermaßen

sudo sshuttle -r user@serveradresse:port 192.168.178.0/24

Wenn man seinen kompletten Nertzwerkverkehr durch den Tunnel leiten möchte baut man so auf:

sudo sshuttle --dns -r user@serveradresse:port 0/0

–dns sorgt dafür dass auch DNS Anfragen durch den Tunnel geleitet werden. der Parameter 0/0 sorgt dafür dass sämtlicher TCP Traffic durch den Tunnel geleitet wird. Er ist eine Abkürzung für die Netzmaske 0.0.0.0.

Auf diese Weise verliert man allerdings Zugriff auf das lokale Netzwerk in dem man sich befindet, da ja sämtlicher Verkehr über den Tunnel herausgeleitet wird. Wenn man also sämtlichen Verkehr durch den Tunnel leiten möchte, mit Ausnahme von Zugriffen auf das lokale Netz, so startet man sshuttle mit folgendem Befehl:

sudo sshuttle --dns -r user@serveradresse:port 0/0 -x 192.168.178.0/24

Hierdurch gehen alle Anfragen durch den Tunnel, außer Zugriffe auf Subnetz 192.168.178.0

sshuttle

Die Warnungen können laut dem Entwickler getrost ignoriert werden.


Dieser Artikel ist lizensiert unter einer Creative Commons Namensnennung 4.0 International Lizenz.

Comments are closed.