OpenWRT - VPN Verbindungen bestimmten IP-Adressen im internen Netz zuteilen.

Bad Horse

Cadet 4th Year
Registriert
März 2011
Beiträge
65
Hallo zusammen,

Ich würde gerne um Netflix, Pandora und Bittorrent im Heimnetz ohne jedes mal den VPN einschalten zu müssen.

OpenVPN auf OpenWRT sollte kein Problem sein: http://wiki.openwrt.org/doc/howto/vpn.client.openvpn.tap

Ich habe übrigens eine Grafik erstellt die mein vorhaben erklären sollte. Die US/Schweizer Flagge sind die beiden VPNs Verbindungen und die Österreichische ist die default Verbindung ohne VPN.

drei Fragen:
- Ist das überhaupt eine gute Idee?
- Wie ordne ich denn den internen IP Addressen die VPN Interfaces zu?
- Wie gut performt das ganze unter viel last? zb. Bittorrent.

Vielen Dank
Bad Horse
 

Anhänge

  • tubes.PNG
    tubes.PNG
    33,1 KB · Aufrufe: 249
So ganz hab ich das noch nicht verstanden. Was genau willst du erreichen? Soll der VPN-Server (OpenVPN@OpenWRT) anhand der Ziel-IP entscheiden über welchen VPN-Tunnel er das weiterreicht oder soll der Client hinter dem Router anhand der ZielIP an ein anderes Gateway routen?

Und wohin verbindet OpenVPN? Sollen 2 VPNs parallel laufen?


Anwendungen gezielt über bestimmte Gateways zu routen - egal ob im Client oder im Router - ist nicht so trivial wie du dir das vorstellst. Routing geschieht auf Basis der Ziel-IP. Hat die Anwendung x nur eine IP als Ziel, ist das noch machbar, aber sobald mehrere Server ins Spiel kommen, wird die Sache schon komplizierter. Im worst case muss die Routing Tabelle dann zB für netflix 3 Dutzend IPs (Zahl aus der Luft gegriffen) routen und wenn irgendwo ein neuer Server aufgesetzt wird, wird der eben nicht mehr erfasst und läuft nicht mehr über die gewünschte Route. Kommen jetzt noch mehr Anwendungen mit ebenso vielen potentiellen Ziel-IPs dazu, kannst du die Sache knicken. Bittorrent wird so oder so nicht funktionieren, weil du da erst recht keine festen Ziel-IPs hast.
Ergänzung ()

Man kann - zumindest unter Linux - mit einigen Tricks zB auch portbasiert routen. In dem Falle würde man Dienst A, der immer über Port 0815 geht, explizit an Gateway1 routen, während Dienst B, der immer Port 4711 verwendet, explizit an Gateway2 geroutet wird. Aber auch das ist nicht so einfach wie es klingt und ist nicht für Anwendungen mit dynamischen Ports geeignet.
Ergänzung ()

Noch eine kurze Ergänzung zum portbasierten bzw. "Policy based routing" wie es eigentlich heißt. Im Gegensatz zum normalen Routing gibt es nicht nur eine, sondern gleich mehrere Routingtabellen. Anhand gewisser zu definierender Kriterien (policies) entscheidet der Router nun nicht über welches Gateway er die Daten ausliefert, sondern er entscheidet erstmal welche Routingtabelle er nehmen soll. Erst dann wird anhand dieser Routingtabelle entschieden wohin die Daten gehen.

Vereinfachtes Beispiel:

RoutingTabelle Allgemein => Default Gateway = LAN bzw. WAN
RoutingTabelle BitTorrent => Default Gateway = VPN1
RoutingTabelle Youtube => Default Gateway = VPN2

Wie die Entscheidung getroffen wird welche Routing Tabelle bzw. welches Default Gateway herangezogen wird, ist die Crux an der Geschichte.. Quell-/Zielport ist dabei nur ein Beispiel.. Das Erkennungsmuster kann mehr oder weniger beliebig komplex sein und dementsprechend schwierig zu testen und zu warten. Ein traceroute reicht dann nämlich nicht mehr aus, um zu checken wohin die Verbindung denn nu geht, weil die Trace-Pakete unter Umständen vollkommen anders geroutet werden..

Ob das mit OpenWRT möglich ist? Keine Ahnung. Prinzipiell vermutlich schon, die Frage ist nur wieviel Aufwand das ist..

Ok, genug der Klugscheißerei ^^
 
Zuletzt bearbeitet:
Zurück
Oben