maxi771
Anmeldungsdatum: 29. Dezember 2014
Beiträge: 5
|
Hallo, habe hier ein kleines Netzwerk mit einem Ubuntu HTTP-Server am laufen (192.168.0.2). Auf diesen Dienst wird von außen per OpenVPN zugegriffen. Der OpenVPN-Server läuft IPFire und hat intern die IP 192.168.0.1. Das ist auch gleichzeitig das Gateway des Ubuntu HTTP-Servers. Das funktioniert soweit auch alles prima. Man kann von außen über OpenVPN auf die Webseiten des Servers zugreifen. Jetzt kommt aber noch ein weiterer OpenVPN-Server (192.168.0.3) hinzu. Die Clients, die sich über diesen verbinden, sollen auch wieder auf den Webserver zugreifen können. Nun muss ja am Webserver das Routing verändert werden, dass praktisch beide Gateways (192.168.0.1 & 192.168.0.3) hinterlegt sind. Ich habe schon sudo ip route add default via 192.168.0.3 dev eth0 metric 1
probiert aber ohne Erfolg. Wer kann mir helfen? Was habe ich übersehen? Besten Dank.
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8616
Wohnort: Münster
|
maxi771 schrieb: Hallo, habe hier ein kleines Netzwerk mit einem Ubuntu HTTP-Server am laufen (192.168.0.2). Auf diesen Dienst wird von außen per OpenVPN zugegriffen. Der OpenVPN-Server läuft IPFire und hat intern die IP 192.168.0.1. Das ist auch gleichzeitig das Gateway des Ubuntu HTTP-Servers.
Das funktioniert soweit auch alles prima. Man kann von außen über OpenVPN auf die Webseiten des Servers zugreifen. Jetzt kommt aber noch ein weiterer OpenVPN-Server (192.168.0.3) hinzu. Die Clients, die sich über diesen verbinden, sollen auch wieder auf den Webserver zugreifen können.
Nun muss ja am Webserver das Routing verändert werden, dass praktisch beide Gateways (192.168.0.1 & 192.168.0.3) hinterlegt sind. Ich habe schon sudo ip route add default via 192.168.0.3 dev eth0 metric 1
probiert aber ohne Erfolg. Wer kann mir helfen? Was habe ich übersehen? Besten Dank.
Dein HTTP-Server benötigt je eine IP-Adresse aus den beiden Bereichen der VPN-Server, im Beispiel also 10.10.10.42/24 und 10.10.20.137/24 und gar kein Gateway (= default route).
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5335
|
kB schrieb: maxi771 schrieb: Hallo, habe hier ein kleines Netzwerk mit einem Ubuntu HTTP-Server am laufen (192.168.0.2). Auf diesen Dienst wird von außen per OpenVPN zugegriffen. Der OpenVPN-Server läuft IPFire und hat intern die IP 192.168.0.1. Das ist auch gleichzeitig das Gateway des Ubuntu HTTP-Servers.
Na fuer Updates und dergleichen braucht man schon ein' Gateway, aber warum das auch uebers VPN sein muss, bzw vorallem ueber beide VPNs erschliesst sich mir nicht.
|
maxi771
(Themenstarter)
Anmeldungsdatum: 29. Dezember 2014
Beiträge: 5
|
Wozu benötigt Dein HTTP-Server ein Gateway?
Das Gateway brauche ich doch, damit die VPN-Clients eine Verbindung zum Webserver bekommen.
Die IP-Adressen, welche die beiden VPN-Server den Clienten zuweisen, sollten aus unterschiedlichen Bereichen stammen. Die Bereiche dürfen sich nicht überlappen: z.B. 10.10.10.0/24 und 10.10.20.0/24
Das habe ich bereits.
Dein HTTP-Server benötigt je eine IP-Adresse aus den beiden Bereichen der VPN-Server, im Beispiel also 10.10.10.42/24 und 10.10.20.137/24 und gar kein Gateway (= default route).
Ok, kann jetzt sein, dass ich hier falsch liege: Diese IP-Bereiche des OpenVPN Server muss man sich doch als virtuelles Netzwerk vorstellen. Das existiert nur zwischen dem VPN-Client und dem VPN-Server. Der VPN-Server macht dann die Umsetzung ins eigentliche Netzwerk (192.168.0.0/24). Somit brauche ich doch keine IP-Adresse aus dem VPN auf meinem Webserver?! Zumal der Webserver ja am grünen Interface des IPFire hängt und dort habe ich das 192.168.0.0/24 Netzwerk. Ich hoffe es ist soweit verständlich 🙄
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8616
Wohnort: Münster
|
maxi771 schrieb: Wozu benötigt Dein HTTP-Server ein Gateway?
Das Gateway brauche ich doch, damit die VPN-Clients eine Verbindung zum Webserver bekommen.
Nein. Eine default route bzw. die Angabe eines Gateways auf einem Rechner ist nur sinnvoll für Verbindungen, die von diesem Rechner ausgehen. Ein Server baut aber von sich aus gar keine Verbindung auf, sondern reagiert auf eingehende Verbindungen. Wie sebix richtig angemerkt hat, gilt das nicht für den Wartungsmodus des Servers, wenn z.B. Updates eingespielt werden – aber in diesem Moment hast Du auch keinen Server, sondern einen Internet-Client (nicht:VPN-Client)!
[…] Diese IP-Bereiche des OpenVPN Server muss man sich doch als virtuelles Netzwerk vorstellen. Das existiert nur zwischen dem VPN-Client und dem VPN-Server. Der VPN-Server macht dann die Umsetzung ins eigentliche Netzwerk (192.168.0.0/24).
Somit brauche ich doch keine IP-Adresse aus dem VPN auf meinem Webserver?! Zumal der Webserver ja am grünen Interface des IPFire hängt und dort habe ich das 192.168.0.0/24 Netzwerk.
Dein HTML-Server sollte Teil der VPNs sein und benötigt deshalb zusätzliche IP-Adressen aus deren Bereichen. Oder Du benötigst zwischen allen VPN-Servern und dem HTML-Server noch einen (1!) Router, der für alle gemeinsam NAT macht.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
Für sowas bietet sich IMHO eher ein dezentrales VPN an, wie beispielsweise tinc.
|
maxi771
(Themenstarter)
Anmeldungsdatum: 29. Dezember 2014
Beiträge: 5
|
Hallo, schon mal vielen Dank für eure Antworten.
Ich möchte bei OpenVPN bleiben, da es hier schon zu viele Clients gibt und der Aufwand vermutlich zu groß ist, die alle umzustellen. kB: diese Idee von dir finde ich interessant, jedoch müsstest du mir hierzu vielleicht noch ein paar Tipps geben: Oder Du benötigst zwischen allen VPN-Servern und dem HTML-Server noch einen (1!) Router, der für alle gemeinsam NAT macht.
Wie muss der Router eingerichtet werden? Also welche IP-Adressen sollten die einzelnen Netzwerkkarten haben? Der Webserver sollte nämlich seine IP (192.168.0.2) weiter behalten, damit ich nicht an allen Clients die IP ändern muss. Wen ich auf dem Router NAT mache, dann müsste ich ja dem Router die 192.168.0.2 geben, oder? Dann wäre der Webserver ja trotzdem für alle Clients unter der alten IP erreichbar. Ich habe mal ein kleines Netzwerkdiagramm angehängt. Passt das so? Oder habe ich hier noch einen Denkfehler drin?
Bin für jeden Hinweis dankbar.
- Bilder
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 8616
Wohnort: Münster
|
maxi771 schrieb: […] kB: diese Idee von dir finde ich interessant[…] : Oder Du benötigst zwischen allen VPN-Servern und dem HTML-Server noch einen (1!) Router, der für alle gemeinsam NAT macht.
Das schockiert mich! Wir haben uns da möglicherweise missverstanden: Ich habe das nur als Hinweis auf eine Konstellation verstanden, die man garantiert nicht haben möchte. NAT ist immer ein Fehler. Deine Reaktion zeigt mir nun, dass ich mich aber missverständlich ausgedrückt habe. Entschuldige bitte!
Wie muss der Router eingerichtet werden? […] Der Webserver sollte nämlich seine IP (192.168.0.2) weiter behalten, damit ich nicht an allen Clients die IP ändern muss. […]
So müsste es funktionieren: (D.h.: Ich habe es nicht ausprobiert, aber so würde ich vorgehen.)
Unbedingt erforderlich: Die beiden VPN-Server/Router müssen an die Klienten IP-Adressen aus disjunkten Bereichen verteilen. Das erreicht man am einfachsten, wenn man für jeden VPN-Server ein eigenes Netz verwendet, also beispielsweise: Die Stationen, die sich über das Internet bei VPN-Server/Router-1 anmelden, müssen folgende Informationen für ihre Routing-Tabelle eintragen: Eigene IP-Adresse ist 192.168.1.XX/32 . Eigener Router 192.168.1.1/32 über welche Schnittstelle erreichbar? (Ich verwende mal beispielhaft eth0.) Server 192.168.0.2 ist über welchen Router erreichbar? Optional noch: Die eigene Hälfte des VPN ist über welche Schnittstelle oder welchen Router erreichbar? Optional noch: Die andere Hälfte des VPN ist über welchen Router erreichbar? Man kann diese Anforderungen durch folgenden Regelsatz erfüllen: | ip addr flush dev eth0
ip route flush dev eth0
ip addr add 192.168.1.XX/32 noprefixroute dev eth0 # XX anpassen!
ip route add 192.168.1.1/32 dev eth0
ip route add 192.168.0.2/32 via 192.168.1.1
# Oder auch:
ip addr add 192.168.1.XX/24 dev eth0 # XX anpassen!
ip route add default via 192.168.1.1 # bzw. für 192.168.1.1 die IP-Adresse von VPN-Server/Router-1 einsetzen!
|
Die Stationen, die sich über das Internet bei VPN-Server/Router-2 anmelden, gilt entsprechend: | ip addr add 192.168.2.XX/24 dev eth0
ip route add default via 192.168.2.1
|
Optional sollte jeder der beiden Router einen Leitweg zum jeweils anderen VPN haben. Es ist beliebig, welche IP-Adresse die Router für sich selbst verwenden, solange die Adressen nicht aus dem Adress-Bereich des anderen Routers stammen, also z.B. auf Router-1: | ip addr add 192.168.0.1/32 noprefixroute dev IFACE # Router-1, IFACE durch das Interface ersetzen, über welches aus Sicht des Routers der Server erreichbar ist!
ip route add 10.10.10.10/32 dev IFACE # Router-1 soll wissen, wie Router-2 (hier 10.10.10.10) erreichbar
ip route add 192.168.2.0/24 via 10.10.10.10 # Router-1 soll wissen, wie VPN-2 erreichbar
|
und auf Router-2 entsprechend: | ip addr add 10.10.10.10/32 noprefixroute dev IFACE # Router-2, IFACE ersetzen!
ip route add 192.168.0.1/32 dev IFACE # Router-2 soll wissen, wie Router-1 erreichbar
ip route add 192.168.1.0/24 via 192.168.0.1 # Router-2 soll wissen, wie VPN-1 erreichbar
|
Jeder der beiden VPN-Router muss einen Leitweg zum Server besitzen: | ip route add 192.168.0.2/32 dev IFACE # IFACE ersetzen!
|
Der Server muss wissen, an welchen Router er seine Antworten schicken soll: | ip addr add 192.168.0.2/32 noprefixroute dev IFACE # Server, IFACE ersetzen!
ip route add 192.168.0.1/32 dev IFACE # Server erreicht Router-1 über IFACE
ip route add 10.10.10.10/32 dev IFACE # Server erreicht Router-2 über IFACE
ip route add 192.168.1.0/24 via 192.168.0.1 # Server erreicht VPN-1 über Router-1
ip route add 192.168.1.0/24 via 10.10.10.10 # Server erreicht VPN-2 über Router-2
|
|