Routen bei openvpn
Hallo zusammen
Ich habe ein Problem mit openvpn. Ich habe folgendes Netzwerk.
Rechner A (Ubuntu) -> lan -> DSLRouter (easyBox) -> Internet
Rechner B (Raspberry) -> SurfStick(HSDPA) -> Internet
Server(Ubuntu) mit fester IP
Nun sollen beide Rechner sich am Server via openvpn anmelden und miteinander kommunizieren können und über den Server ins die Welt. Ich kann beide Rechner am Server anmelden und kann auch die jeweils andere (vpn) IP anpingen. Leider klappt die Namensauflösung nicht (ping raspberrypi geht nicht), noch kann ich bei bestehender VPN Verbindung ins Internet oder eine IP außerhalb anpingen (klappt sonst)
Wie müssen hier die Routen gesetzt werden? Ich stehe total aufm Schlauch.
LG
David
Ich habe ein Problem mit openvpn. Ich habe folgendes Netzwerk.
Rechner A (Ubuntu) -> lan -> DSLRouter (easyBox) -> Internet
Rechner B (Raspberry) -> SurfStick(HSDPA) -> Internet
Server(Ubuntu) mit fester IP
Nun sollen beide Rechner sich am Server via openvpn anmelden und miteinander kommunizieren können und über den Server ins die Welt. Ich kann beide Rechner am Server anmelden und kann auch die jeweils andere (vpn) IP anpingen. Leider klappt die Namensauflösung nicht (ping raspberrypi geht nicht), noch kann ich bei bestehender VPN Verbindung ins Internet oder eine IP außerhalb anpingen (klappt sonst)
Wie müssen hier die Routen gesetzt werden? Ich stehe total aufm Schlauch.
LG
David
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 317484
Url: https://administrator.de/forum/routen-bei-openvpn-317484.html
Ausgedruckt am: 25.04.2025 um 19:04 Uhr
4 Kommentare
Neuester Kommentar

Moin,
typische Anfängerfehler...
Entweder du NATest allen Traffic der aus dem OpenVPN Tunnel am Server ankommt
oder du setzt eine statische Route für das OpenVPN Subnetz auf dem Gateway des Servers welche auf den OpenVPN-Server zeigt.
Wenn man mal logisch nachdenkt würde das einem auch selber einfallen, sofern man zumindest die absoluten Routing-Basics kennt.
Zu DNS: Betreibe einen DNS-Server am OpenVPN-Server und gib diesen den Clients in der Config mit.
Gruß R.
typische Anfängerfehler...
Entweder du NATest allen Traffic der aus dem OpenVPN Tunnel am Server ankommt
iptables -t nat -A POSTROUTING -i tun0 -o eth0 -j MASQUERADE
Wenn man mal logisch nachdenkt würde das einem auch selber einfallen, sofern man zumindest die absoluten Routing-Basics kennt.
Zu DNS: Betreibe einen DNS-Server am OpenVPN-Server und gib diesen den Clients in der Config mit.
Gruß R.
Nun sollen beide Rechner sich am Server via openvpn anmelden
Wo denn an welchem Server ?? Oben ist keinerlei Rede von einem Server Wo steht der denn ?? Im öffentlichen Internet ? Lokal hinter einem NAT Router ?
Es ist unklar was du genau willst...??
Sollen die Rechner A und B vollständig den gesamten Traffic via Server ins Internet Routen ?
Dann sollte dir klar sein das die Absender IPs der Rechner A und B ja die internen OVPN IP Adressen sind, die in der regel ja private RFC 1918 IPs sind. Jeder weiss das diese im Internet nicht geroutet werden !
Wenn der Server ein öffentlicher ist mit einer öffentlichen IP und diese Absender IPs also in die große weite Welt blasen ohne NAT (IP Adress Translation) ist ja klar das das schief geht !
Wie Kollege ranger schon richtig bemerkt hat muss man die logischerweise NATen auf die öffentliche Server IP sofern der Server in so einem Umfeld steht ?!
Ist er auch hinter einem NAT Router sieht die Welt natürlich wieder anderes aus.
Also ich habe einen Vserver mit öffentlicher und statischer IP.
DAS war die entscheidende und fehlende Info !Ziel soll sein, dass sich beide an dem Server anmelden und diese darüber miteinander kommunizieren können.
OK, das ist logischerweise ein simpler Klassiker.Beide Clients können sich anmelden und den server anpingen.
Klasse, dann hast du schon 90% zum Fliegen gebracht. Der rest ist eine Kleinigkeit.Das die Clients sich nicht untereinander anpingen können ist klar, denn das ist ein typischer Anfänger Fehler in deiner OpenVPN Konfig bzw. du hast die Doku nicht gelesen !
Per Default lässt der Server nur eine Client Kommunikation mit dem Server zu, nicht aber der Clients untereinander.
Wenn du allerdings:
client-to-client
in die Server Konfig Datei eingibst und OVPN neu startest, dann können sich auch die Clients sehen
Doku lesen hilft...
https://openvpn.net/index.php/open-source/documentation/howto.html
Warum beide nicht in Internet können ist auch klar aber da steckt etwas Detailrecherche drin...
Normalerweise schickst du den Clients ja mit dem push route.. Komamndo ja das lokale LAN des Servers um dort Endgeräte zu erreichen. (Siehe auch hier.)
Bei einem vServer wie bei dir fehlt natürlich (vermutlich) diese Kommando in der Server Konfig. Was sollte der vServer auch für ein lokales LAN an die Clients propagieren, er hat ja keins.
Da du ja aber wenn dein OpenVPN Tunnel aktiv ist allen Traffic in den Tunnel routen willst, sprich also den lokalen zum Server UND den Internet Traffic musst du das Default Gateway der Clients redirecten, klar !
Das macht das Kommando:
push "redirect-gateway def1"
In der Server Konfig.
https://openvpn.net/index.php/open-source/documentation/howto.html#redir ...
Mit netstat -r oder auch ip route show auf deinem Ubuntu und RasPi kannst du dir das anzeigen lassen (Routing Tabelle).
Ist das gemacht ist das aber nur erstmal die halbe Miete....
Deine Internet Pakete gehen jetzt zwar durch den Tunnel und kommen nun auch alle beim Server an. Soweit so gut. Der Server hat eine Default Route ins Provider Internet und da schickt er die Pakete hin.
Das Fatale ist jetzt aber das die Pakete ja eine Absender IP Adresse haben aus dem internen OVPN Server IP Netz das du in der Server Konfig z.B. mit server 172.16.2.0 255.255.255.0 definiert hast. (Hier als Beispiel das RFC 1918 IP Netz 172.16.2.0 /24.)
Private RFC 1918 IP Adressen werden aber im Internet NICHT geroutet, deshalb sind sie "privat".
Wenn dein OVPN Server diese Pakete nun zum Provider Router schickt schmeisst der die sofort weg, weil er weiss das er solche Pakete niemals bekommen kann, da es diese IPs im Internet ja nicht gibt.
Folglich muss dein OVPN Server diese Client IPs also umsetzen auf seine eigene öffentliche Provider IP und dann klappt es sofort fehlerlos.
Das nennt man NAT oder Masquerading.
Aktiviere das also noch zum Schluß am Server wie oben vom Kollegen ranger schon beschrieben und dann funktioniert es auch sofort mit dem Internet !