Anleitung für Kaskade unter Linux.

  • Thread starter Gelöschtes Mitglied 468
  • Start date
G

Gelöschtes Mitglied 468

Hallo Kollegen,

vielleicht hat einer von euch die Kenntnis darüber, wie man unter Linux (Mint) eine VPN Kaskade erstellt.
Leider funktioniert das mit den PP-Manager für Linux nicht.

Hintergrund ist eine Aussage von PP: (Interview auf Tarnkappe.info)

...Perfect Privacy: Das ist einer der Gründe, weshalb die Nutzung einer kaskadierten Verbindung sinnvoll sein kann: Selbst wenn ein Hoster komplett kompromittiert ist, schützt die kaskadierte Verbindung die Sicherheit des Nutzers weiterhin....

Das wäre super.
 
Also das hat bei uns bisher keiner getestet. Vielleicht kann da ja mal jemand mit guten Linuxkentnissen aushelfen....
 
Du musst zunächst mal verhindern, dass dein Routing durch OpenVPN automatisch angepasst wird. Dazu muss in die entsprechende config die Option:

Code:
route-noexec

rein. Bei einem Multihop über 2 Server gehen wir von folgendem Szenario aus:

Router IP: 192.168.1.1
Server1 IP (extern): 1.2.3.4
Server1 IP (interne VPN): 10.8.8.1

Dann verbindest du dich zu diesem Server, du surfst noch nicht darüber, da das Routing nicht angepasst wurde, das kommt jetzt:

Code:
route add 1.2.3.4/32 192.168.1.1
route add 0.0.0.0/1 10.8.8.1
route add 128.0.0.0/1 10.8.8.1

Jetzt solltest du über Server1 surfen, was du über nen IP check testen kannst.

Server2 IP (extern): 5.6.7.8
Server2 IP (interne VPN): 10.9.9.1

Du verbindest dich zu Server2, auch hier muss route-noexec gesetzt sein in der config und passt die Routen an:

Code:
route add 5.6.7.8/32 10.8.8.1
route add 0.0.0.0/2 10.9.9.1
route add 64.0.0.0/2 10.9.9.1
route add 128.0.0.0/2 10.9.9.1
route add 192.0.0.0/2 10.9.9.1

Nun surfst du über die Kaskade Server1 -> Server2

Wenn du das weiter ausbauen möchtest, dann benötigst du jeweils die externe und interne IP des neuen Servers, sowie die interne IP des vorhergehenden in der Kaskade und fügst jeweils spezifischere Routen hinzu als die vorhergehenden, denn diese werden bevorzugt verwendet. Bei 3 hat man dann zum Beispiel die Netze:

0.0.0.0/3
32.0.0.0/3
64.0.0.0/3
96.0.0.0/3
128.0.0.0/3
160.0.0.0/3
192.0.0.0/3
224.0.0.0/3

Wenn du diese Netze zusammen nimmst bekommst du das gesamte Internet 0.0.0.0/0, nur spezifischer aufgeteilt. Ist dasselbe Prinzip als wenn du ne Ausnahmeroute zu einem bestimmten Server hinzufügst, die nicht über VPN gehen soll, zb:

Code:
route add 8.8.8.8/32 192.168.1.1

Das wäre jetzt ne Ausnahme zum Google DNS direkt über den Router. Auch wenn VPN aktiv wäre, würde diese immer bevorzugt zur VPN Route verwendet, da sie spezifischer ist als

0.0.0.0/1
128.0.0.0/1

Das bildet zwar auch das gesamte Internet im IPv4 Adressraum ab, ist aber nicht so spezifisch wie die direkte Route zu einer Maschine /32.
 
@JackCarver
Da kann ich nur noch "WOW" sagen.
Respekt über dein Wissen und Danke für die Unterstützung.:D

PS: Du hast uns mit den Iptables auch schon unterstützt, meine Frage dazu:
müssen die angepasst werden, wenn wir mit einer Kaskade arbeiten?

Die Leute hier im Forum sind einfach super!
 
Du musst dort nichts anpassen, da das Port basiert filtert. Die benötigten Ports, auch für ne Kaskade bleiben frei mit den iptables Regeln. Die Kaskade wird rein übers Routing definiert.
 
Jack, Du machst es komplizierter als nötig.
Nachdem der erste Tunnel steht, mußt Du nur dafür sorgen, daß eine host-route für die externe IP des nächsten VPN-Zugangs durch den Tunnel geht.
Das dann sinngemäß für jede nächste Kaskade weiterführen und nur für den letzten Tunnel das generelle routing mit 0.0.0.0 und 128.0.0.0 aufbauen.
Host-routes haben nämlich Vorrang vor Network-routes.
Mehr als zwei kaskadierte VPNs machen übrigens wenig Sinn.

Edit: einen Vorteil gibt es bei Deiner Methode allerdings: wenn die letze VPN-Verbindung wegfällt, dann reduziert sich die Kette auf n-1. Andernfalls surft man ggf. ohne VPN, wenn man das nicht über zusätzliche firewall-Regeln verhindert hat.
 
Last edited:
Jack, Du machst es komplizierter als nötig.

Ich verkompliziere alles sehr gern ;-)

Nein im Ernst, wie man das aufzieht ist natürlich jedem selbst überlassen. Bei der oben genannten Methode kannst du die Kaskade auch wieder Stück für Stück abbauen und du surfst jeweils dann über die vorhergehende Verbindung, bis du am Schluss wieder über den Router surfst.

Host-routes haben nämlich Vorrang vor Network-routes.

Das ist mir klar, auf diesem Prinzip funktioniert ja das ganze. Ein Host ist der spezifischte Weg zu einer Maschine den es nur gibt, daher wird das immer bevorzugt. Nimm als Beispiel den Google DNS 8.8.8.8.

Ich krieg ne Route dorthin über 0.0.0.0/0, da in diesem Netz das gesamte Internet enthalten ist, also auch 8.8.8.8. Ebenso über 0.0.0.0/1 und 128.0.0.0/1, da auch darin das gesamte Internet enthalten ist, aber spezifischer also wird das bevorzugt zum vorigen. Bis hin zu 8.8.8.8/32, was dann nicht mehr zu überbieten ist an Spezifität ;-)
 
Back
Top