HOWTO_ VPN auf niedrigster Ebene mittels VDE
-
Einleitung
Parallel zu OpenVPN beschäftigte ich mich auch mit einer anderen VPN-Technik, nachdem mich ein Artikel in der c't 22/05 neugierig gemacht hatte. -
Server unter Debian Sarge 3.1
Während VDE zwar im stable-Zweig von Debian enthalten ist, sind es die für die komplette Funktion benötigten Pakete bridge-utils und uml_utilities nicht. Um das System nicht durcheinander zu bringen, indem ich stable und unstable mische, füge ich einen extra Servereintrag in die Datei /etc/apt/sources.list hinzu, der nach der Installation wieder auskommentiert wird. Sämtliche großen Mirrors stehen zur Wahl, momentan läuft aber folgender Eintrag gut:
Nach einem apt-get update können nun die benötigten Pakete installiert werden:
#> apt-get install vde bridge-utils uml_utilitiesNun kann der unstable-Mirror in der Serverliste wieder auskommentiert werden, ein apt-get update bringt die Paketliste wieder auf den aktuellen "stable" Stand.
Im Folgenden wird ein TAP-Device angelegt, und mit einer entsprechenden IP-Adresse hochgefahren.
#> tunctl -t 1
#> vde_switch -tap tap1 -daemon
#> ifup tap1 192.168.1.1 up
-
Client unter Mac OS X
Für den Mac verwende ich VDE2, die Quelldateien können von der Projektseite bei Sourceforge heruntergeladen werden. Für die Kompilierung müssen die XCode-Tools mit GCC installiert sein.
Die Sources werden entpackt, kompiliert und installiert.
#> tar -xjf vde-2.0.2.tar.bz2Anschließend wird auch unter OS X ein TAP-Device benötig. Da ich im Zuge von OpenVPN tunnelblick installiert hatte, war für mich keine Arbeit mehr nötig. Manuell können die TUN/TAP-Treiber von http://www-user.rhrk.uni-kl.de/~nissler/tuntap/ heruntergeladen werden. Das bei mir vorhandene Device ist tap0.
#> cd vde-2.0.2
#> ./configure
#> make
#> sudo make install
#> vde_switch --tap tap0 --daemonJetzt muss nur noch die Verbindung zum Server hergestellt werden. VDE tunnelt die Ethernetpakete über SSH, prinzipiell ist aber auch telnet möglich. Hier wird also jetzt der virtuelle Netzwerkstecker eingeklickt und anschließend die "Karte" hochgefahren.
#> sudo dpipe vde_plug = ssh <USER>@<SERVER> vde_plugUnd schon sind die beiden Rechner über das (virtuelle) Netzwerk 192.168.1.0/24 verbunden.
#> ifconfig tap0 192.168.1.2 up
-
Fazit
Einrichtung geht wirklich problemlos. Allerdings gibt es meines Wissens bisher keine GUI (stört das jemanden?). Riesiger Vorteil gegenüber einem "herkömmlichen" VPN ist natürlich, dass Ethernetpakete getunnelt werden, das also hier wirklich auf der alleruntersten Ebene stattfindet. Da spielt es auch gar keine Rolle, welche Protokolle darauf aufsetzen, laut Autor des c't-Artikels war sogar eine stabile PPPoE-Verbindung zu einem DSL-Modem möglich.
Einen Geschwindigkeitsvorteil gegenüber OpenVPN konnte ich aber nicht bemerken, zumindest nicht, was Pings oder Websurfen angeht. Und: Von einer offenen TCP/IP-Verbindung zwischen Server und Client sind beide Systeme abhängig! -
VDE tunneln
Um die Verbindung zwischen Client und Server herzustellen, benötigt VDE einen Tunnel. Das Einfachste ist sicherlich SSH, da hier auch gleich die sonst nicht vorhandene Verschlüsselung mit eingebaut wird. Damit kommt man natürlich nicht durch jede Firewall, und erst recht nicht durch jeden Proxy! Es gilt also für SSH das Gleiche wie für OpenVPN. Es funktioniert auch genau so.
cypressor - 20. Mai, 17:44