swenni2k
Goto Top

Raspberry Pi (Open)VPN Policy Based Routing

Hallo zusammen,

versuche mich gerade daran meinem Pi zu "erklären", dass er das Routing über VPN und normal DSL macht.
Damit man versteht was ich meine, hier mein Versuchsaufbau:

Switch1 Port 3 --------PI (Rasbain)
internet -------Switch1 Port 2 --------Router (Lancom 1631E) ----- Switch ------ Clients (Windows)

Hoffe das ist so verständlich. Ich versuche nun, mit dem PI eine OpenVPN Verbindung zu machen (die steht), und den Verkehr
nach bestimmten Regeln zu routen/lenken. Die OpenVPN Verbindung brauche ich, da die Infrastruktur im Haus mit 10 Büros und nur einen Internetanschluß hat, der nicht über meinen Router läuft. Dadurch hat nicht jeder eine externe IPv4, die ich aber für meinen Exchange usw. brauche. Mit der VPN, baue ich eine Verbindung zu einem Server auf, der mir eine IPV4 und IPv6 vergibt.
Jetzt möchte ich das mein Router über die VPN von extern zu erreichen ist.
Jedoch sollen anfragen von den Clients bzw. dem Router nur durch den Tunnel geschickt werden, wenn Sie auch von dort kommen.
Sonst kann der sie normal an den Default Gateway schicken.

Hier noch die IP Adressen:

Router hat die interne 172.23.100.100 der Pi hat die 172.23.100.101, der Tunnel hat extern die 46.12.12.46 auf tun0.

Nun die eigentliche Frage: Geht das? und mache ich das mit PBR bzw. PBF? und wenn ja, wie?

Vielen dank im voraus
Grüße Swen

Content-ID: 263167

Url: https://administrator.de/contentid/263167

Ausgedruckt am: 25.11.2024 um 04:11 Uhr

aqui
aqui 12.02.2015 um 11:15:19 Uhr
Goto Top
Nee, nicht ganz verstandlich...
Du erzählst uns hier das dein nacktes Internet zuerst über einen Layer 2 Switch geht ??? Ist das richtig ??
Wenn ja ziemlich ungewöhnlich, es sei denn du bist bei einem Provider oder hast ein öffentliches Subnetz auf dem Switch, deshalb die Nachfrage !
Oder hast du vergessen die "code" Tags zu setzen das man die ASCII Zeichnung oben nicht erkennen kann ?!

Es hört sich nach der Beschreibung so ein bischen nach Policy Based Routing an was du machen willst, kann das sein ?
Das Problem ist sicher nicht der Pi sondern sind die Endgeräte !
Wenn di noch ein Default Gateway gesetzt haben was nicht auf deinen Pi zeigt nützt dir PBR ja gar nix.
Wenn an diesem Endgerät ein Paket mit einer z.B. 46.12.12.46 Absender Adresse geschickt wird, dann schickt er das an sein Default Gateway und wenn das nicht dein Pi ist hast du ein Problem.
Die Endgeräte sind hier also der Casus knacktus.
Swenni2k
Swenni2k 12.02.2015 aktualisiert um 11:49:19 Uhr
Goto Top
Hallo,

Du hast recht da fehlt noch etwas:

Der internet Anschluss wird durch eine FritzBox realisiert , daran hängt noch ein anderer Router, den ich nicht kenne und der verteilt per dhcp ip, somit haben mein PI und mein Router Adressen aus dem gleichen Subnetz (An dieser Konstellation kann ich nichts ändern).
Der Pi macht über das Netz ein VPN und ist auch erreichbar von außen, aber wie schaffe ich es, das alles was dort von aussen reinkommt, direkt zu meinem Router geleitet wird? Und das mein Router auch alles durch diesen wieder zurückschickt.
Die Differenzierung nach "normalen" Internetanfragen port 80 und 443 und das was durch den Tunnel soll müssen ja nicht zwingend getrennt werden. face-wink

Welche Routen müßte ich eintragen? Auf dem Pi und im Lancom?


Internet

Router (FB)

Router (DHCP,FW)

Switch → PI (Rasbain)

Router (Lancom 1631E) → Switch → Clients (Windows)


Danke schon mal für die Rückmeldung, aqui.
Swenni2k
Swenni2k 19.02.2015 um 11:53:24 Uhr
Goto Top
Hallo zusammen,

hat noch jemand ne Idee oder kann mir weiterhelfen?

Danke im voraus
aqui
aqui 19.02.2015 aktualisiert um 12:36:18 Uhr
Goto Top
aber wie schaffe ich es, das alles was dort von aussen reinkommt, direkt zu meinem Router geleitet wird?
Das ist ganz einfach:
Mindestens einer dieser 2 kaskadierten Router (FB und der Unbekannte) machen NAT (IP Adress Translation) ins Internet, übersetzen also die private RFC 1918 IP in eine öffentliche Provider IP.
Normal kann man diese NAT Firewall nicht überwinden, da NAT immer nur von innen nach außßen Sessions eröffnet aber nicht umgekehrt, da ist dicht.
Um dennoch von außen nach innen zu kommen musst du ein Loch auf BEIDEN Routern in deren NAT Firewall bohren. Das macht man immer mit einem Port Forwarding Eintrag im Setup des Routers.
Dort definierst du was mit eingehenden Paketetn mit den Ports TCP xyz oder UDP xyz passieren soll und an welche IP das geforwardet werden soll.
Willst du also z.B. OpenVPN auf den RasPi forwarden musst du UDP 1194 (OpenVPN Dienst) auf dem ersten Router an den zweiten Router forwarden und sofern dieser auch NAT macht vom 2ten Router auf den RasPi.
Das wäre der Fall mit einer doppelten NAT Kaskade.
Macht der 2te Router kein NAT entfällt das PFW dort natürlich. Leider teilst du uns dazu keinen deatils mit so das wir zum Raten gezwungen sind, denn eine zielführende Hilfe ist wegen dieser fehlenden Infos nicht möglich face-sad

Will man nun alle Forwarden trägt man entweder eine Port Range im Port Forwarding ein oder nutzt die auf diesen Routern sehr häufige Funktion "Exposed Host" die alle am Internet Port eingehenden Sessions komplett forwardet.
Das wäre dann die Lösung für dich, denn das müsste man auf den Routern dann entsprechend konfigurieren. 2mal sollten beide NAT machen.
Ohne dieses Port Forwarding ist ein Forwarding generell nicht möglich in einem NAT Umfeld !
Ganz ohne NAT sieht es wieder anderes aus aber dazu fehlen wieder von dir die grundlegenden Setup Infos dieser Systeme so das eine Aussage dazu nicht möglich ist ohne raten zu müssen face-sad

Generell sollte man sich sehr sehr gut überlegen Port Forwarding oder schlimmer noch den Exposed Host zu nutzen, denn man bohrt dann Löcher in seine Firewall und ist zumindest für diese Ports vollkommen ungeschützt.
Bei Exposed Host schaltet man die NAT Firewall fast vollständig aus. Kein verantwortungsvoller Netzwerker macht sowas heutzutage. Deshalb denke nach ob das unbedingt sein muss und ob du nicht ganz einfach mit deinen VPN Ports auskommst ?!

Welche Routen müßte ich eintragen? Auf dem Pi und im Lancom?
Das ist auch kinderleicht, da du ja eigentlich mit Lancom dann eine 3er Kaskade hast, denn der RasPi ist ja einbeinig angeschlossen oder hast du einen 2ten LAN Port am RasPi wie z.B. HIER beschrieben und der rasPi routet über 2 Interfaces ??
Ist der RasPi also nur einbeinig dran ists kinderleicht:
  • RasPi hat ein Default Gateway auf den 2ten Router, ebenso DNS.
  • Lancom hat am WAN Port ein Default Gateway auf den 2ten Router, ebenso DNS.
  • Clients am Lancom haben die LAN Port IP des Lancom als Gateway und DNS
  • Fertisch !
Stell dir einafch den Weg eine IP Paketes mit entsprechender Source und Destantion Adresse vor in dem Konstrukt dann ist das Routing doch sonneklar...es gibt ja nicht viele Routing Möglichkeiten sondern nur genau eine in dieser Kaskade !!
Swenni2k
Swenni2k 19.02.2015 um 16:02:40 Uhr
Goto Top
Vielen Dank, ich denke damit ist es gelöst!
aqui
aqui 19.02.2015 um 21:21:50 Uhr
Goto Top
...denken oder wissen ?! face-wink
Swenni2k
Swenni2k 20.02.2015 aktualisiert um 15:42:08 Uhr
Goto Top
... nur noch eins face-wink

mit "2ten" Router meinst Du den ersten aus meiner Sicht gesehen. Richtig?
Müsste aber der Lancom nicht den Raspi als GW und DNS bekommen?

Habe ich probiert, geht nicht.
Kann dann von Aussen auf den Pi, ok, aber von intern geht nicht alles über den Pi, also
durch den vpn.
Habe mir das ganze mal nachgestellt.
fritzbox 1 - interne ip 192.168.1.254 extern 31.23.11.2
fritzbox 2 - interne ip 192.168.178.254 extern (an Fritzbox 1) 192.168.1.20
Raspi - interne ip 192.168.178.25 externe (openVPN) 41.2.3.4

wie leitet ich nun den ganzen verkehr sowohl von 192.168.178.* über Raspi nach 41.2.3.4
und alles was über 41.2.3.4 kommt geht auch wieder zurück an die ip von wo es kommt (192.168.178.*)

hu hoffe das ist verständlich....
aqui
aqui 20.02.2015 aktualisiert um 19:05:46 Uhr
Goto Top
mit "2ten" Router meinst Du den ersten aus meiner Sicht gesehen. Richtig?
1ter Router = der der ans Internet geht
2ter Router = der der das lokale LAN bedient
Also richtig face-wink
Müsste aber der Lancom nicht den Raspi als GW und DNS bekommen?
Das kann man leider nicht sagen, da du weiterhin NICHT beantwortet hast ob der RasPi mit 2 Interfaces arbeitet oder ob er nur einbeinig angebunden ist (Router on a Stick) !
In so fern kann man da nur raten. Deine ASCII Zeichnung oben ist da leider nicht eindeutig, da du die Code Tags vergessen hast. Besser vielleicht du postets hier nochmal ne kurze Skizze ?!

Sollte er mit 2 Ports arbeiten, dann hast du natürlich absolut Recht, dann ist es so:
  • Clients, Windows Gateway auf Lancom
  • Lancom default Route auf RasPi
  • Beim RasPi zwingend das Routing aktivieren mit: net.ipv4.ip_forward=1 in der Datei /etc/sysctl.conf (Entkommentieren !) Siehe auch HIER_!
  • RasPi Default Route auf Router 2
  • Router 2 MUSS zwingend eine statische Route des lokalen LAN (Windows Clients) mit next Hop auf den RasPi haben !
Das wars....
Swenni2k
Swenni2k 20.02.2015 um 20:25:42 Uhr
Goto Top
ok dann versuche ich es weiter detailliert zu beschreiben.... face-wink

Der Raspi hat nur eine Schnittstelle und ist am gleichen Switch wie der 2te Router, ich kann ihn aber auch
direkt an den Lancom (3. Router) anschließen.

Brauchst Du noch mehr Wissen face-wink

Ich kann übrigens keine Änderungen an den ersten beiden Routern vornehmen. ;-(

Übrigens schon mal danke für Deine Geduld... face-wink
aqui
aqui 21.02.2015 um 11:34:35 Uhr
Goto Top
Der Raspi hat nur eine Schnittstelle und ist am gleichen Switch wie der 2te Router, ich kann ihn aber auch direkt an den Lancom (3. Router) anschließen.
Siehste...genau wie vermutet !
Damit ist dann ja der Lancom und der Router 2 über den Switch direkt verbunden. Der Lancom "sieht" den one armed angeschlossenen RasPi ja gar nicht und muss das auch gar nicht !
Deshalb hat der Lancomm dann eine direkte Default Route auf den Router 2 !
Wenn der Lancom kein NAT (Adress Translation) macht dann MUSS der Router 2 einen statische Route in das Client Netzwerk via next Hop Lancom haben !!
Mit NAT entfällt solch einen Route dann ist aber transparentes Routing nicht möglich !
Der RasPi ist dann für sein Routing selber verantwortlich.
Er bekommt auch eine Default Route auf den Router 2.
Der Router 2 muss dann wiederum ALLE internen Netze und VPN Netze des RasPis statisch als Route eingetragen haben mit next Hop dann auf die RasPi IP.
Wie das alles zusammenspielt erklärt dir dieses Routing Tutorial:
Routing von 2 und mehr IP Netzen mit Windows, Linux und Router
Swenni2k
Swenni2k 21.02.2015 um 12:55:41 Uhr
Goto Top
Danke, dann werde ich mir das mal anschauen...
Swenni2k
Swenni2k 03.03.2015 um 14:30:41 Uhr
Goto Top
Hallo, komme nicht weiter. face-sad
Mit welchem Programm kann ich denn mal nen nettes Bild bzw. Szenario skizzieren?
Vielleicht wird es dann verständlicher... ???
Ich verstehe es einfach NOCH nicht. face-wink
aqui
aqui 03.03.2015 um 22:54:28 Uhr
Goto Top
Visio oder Dia bei Linux oder Omni Graffle (Mac) wären die Tools der Wahl:
http://www.maketecheasier.com/5-best-free-alternatives-to-microsoft-vis ...

Ansonsten Skizze mit Kuli auf Papier abscannen oder forografieren und hier mit der Bilder hochladen Funktion (meine Fragen klicken und Thread auswählen, Bearbeiten klicken. Bilder hochladen, Bilder Link mit Rechtsklick u. Copy und Paste hier in Antwort bringen. Statt Link kommt dann die Grafik)
in der Antwort posten.