
139689
28.02.2023, aktualisiert um 17:29:47 Uhr
VPN Routing Eintrag auf Debian verschwindet
Hallo zusammen,
die Situation
ich nutze einen Wireguard VPN Tunnel, basierend auf "VeeamPN", das wiederum in einer Ubuntu VM ist. Die VM muss mal abgelöst werden, da Veeam das ja nicht mehr weiter entwickelt. Aber das VPN selbst geht.
Am Endgerät wird der OpenVPN client verwendet. Unter Windows kein Problem - einfach die .ovpn importieren. Manuell füge ich der Konfig dann noch einen Eintrag hinzu und es tut wunderbar seinen Zweck. Bei den 3 aktiven usern besteht das darin, sich einfach per RDP auf ein Gerät im Firmennetz zu verbinden.
Daheim möchte ich mehr und mehr auf GNU/Linux wechseln.
Hier habe ich einen PC mit LMDE (Linux Mint Debian Edition)
Wenn ich den Tunnel aufbaue (mittels der grafischen Anwendung eOVPN), ist dieser sofort aufgebaut
Dann setze ich via Terminal noch folgende Einträge ab:
Das sind 2 Netze (einmal für Server Netz für DSN Auflösung, einmal Client Netz, auf das man sich dann verbindet)
Die Ubuntu VM ist in einer DMZ und löst sie DNS Anfragen nicht auf, deshalb das Server Netz dazu
Das Problem
Das Problem ist, dass die Einträge irgendwann wieder verschieden am LMDE Client. Entweder erst nach vielen Stunden, teils aber auch nach einigen Minuten. Muster sehe ich noch keines. Die RDP Verbindung bricht natürlich ab
Sobald ich die beiden Einträge nochmal absetze, kann ich die RDP Verbindung sofort wieder aufbauen
wenn ich testweise den Befehl gleich nochmal absetze, kommt die Meldung:
... weil der Eintrag drin ist. Ich verstehe das also so, als ob nach gewisser Zeit der Eintrag / die Datei von RTNETLINK verschwindet
Wenn ich es als Administrator (also ohne sudo, sonder vorher halt auf su gewecheslt) ausführe, bricht es noch früher ab
Die Frage
Wieso verschwinden sie bzw. kann ich das irgendwie permanent hinterlegen?
10.101.30.0/24 und 10.101.10.0/24 können dauerhaft fix hinterlegt werden. Ich werde die nie anders nutzen...
ich habe mich schon mit Einträgen in der .ovpn Datei gespielt, aber so richtig hat das nur für Windows Clients funktioniert.
Für ein Ipad müsste ich auch noch was machen, aber da bin ich völlig Land unter, welche Optionen / Syntax nötig ist
Zusätzliche Info
Ich weiß, dass es geschickter wäre, das Server Netz nicht dazu zu nehmen, v.a. wenn es nur für die DNS Auflösung ist.
Bei einem user, der sich nur auf 1 PC verbindet, werde ich es so machen, dass nur das Client Netz geroutet wird und der PC halt eine fixe (reservierte) IP bekommt und man sich auf die IP verbindet...
Aber das ist das Apfelgerät....
Danke im Voraus!
die Situation
ich nutze einen Wireguard VPN Tunnel, basierend auf "VeeamPN", das wiederum in einer Ubuntu VM ist. Die VM muss mal abgelöst werden, da Veeam das ja nicht mehr weiter entwickelt. Aber das VPN selbst geht.
Am Endgerät wird der OpenVPN client verwendet. Unter Windows kein Problem - einfach die .ovpn importieren. Manuell füge ich der Konfig dann noch einen Eintrag hinzu und es tut wunderbar seinen Zweck. Bei den 3 aktiven usern besteht das darin, sich einfach per RDP auf ein Gerät im Firmennetz zu verbinden.
Daheim möchte ich mehr und mehr auf GNU/Linux wechseln.
Hier habe ich einen PC mit LMDE (Linux Mint Debian Edition)
Wenn ich den Tunnel aufbaue (mittels der grafischen Anwendung eOVPN), ist dieser sofort aufgebaut
Dann setze ich via Terminal noch folgende Einträge ab:
sudo ip route add 10.101.30.0/24 via 10.210.0.1 dev tun0
sudo ip route add 10.101.10.0/24 via 10.210.0.1 dev tun0
Das sind 2 Netze (einmal für Server Netz für DSN Auflösung, einmal Client Netz, auf das man sich dann verbindet)
Die Ubuntu VM ist in einer DMZ und löst sie DNS Anfragen nicht auf, deshalb das Server Netz dazu
Das Problem
Das Problem ist, dass die Einträge irgendwann wieder verschieden am LMDE Client. Entweder erst nach vielen Stunden, teils aber auch nach einigen Minuten. Muster sehe ich noch keines. Die RDP Verbindung bricht natürlich ab
Sobald ich die beiden Einträge nochmal absetze, kann ich die RDP Verbindung sofort wieder aufbauen
wenn ich testweise den Befehl gleich nochmal absetze, kommt die Meldung:
root@linux-mint:/home/user# ip route add 10.101.30.0/24 via 10.210.0.1 dev tun0
**RTNETLINK answers: File exists**
... weil der Eintrag drin ist. Ich verstehe das also so, als ob nach gewisser Zeit der Eintrag / die Datei von RTNETLINK verschwindet
Wenn ich es als Administrator (also ohne sudo, sonder vorher halt auf su gewecheslt) ausführe, bricht es noch früher ab
Die Frage
Wieso verschwinden sie bzw. kann ich das irgendwie permanent hinterlegen?
10.101.30.0/24 und 10.101.10.0/24 können dauerhaft fix hinterlegt werden. Ich werde die nie anders nutzen...
ich habe mich schon mit Einträgen in der .ovpn Datei gespielt, aber so richtig hat das nur für Windows Clients funktioniert.
Für ein Ipad müsste ich auch noch was machen, aber da bin ich völlig Land unter, welche Optionen / Syntax nötig ist
Zusätzliche Info
Ich weiß, dass es geschickter wäre, das Server Netz nicht dazu zu nehmen, v.a. wenn es nur für die DNS Auflösung ist.
Bei einem user, der sich nur auf 1 PC verbindet, werde ich es so machen, dass nur das Client Netz geroutet wird und der PC halt eine fixe (reservierte) IP bekommt und man sich auf die IP verbindet...
Aber das ist das Apfelgerät....
Danke im Voraus!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 6162248609
Url: https://administrator.de/forum/vpn-routing-eintrag-auf-debian-verschwindet-6162248609.html
Ausgedruckt am: 08.04.2025 um 09:04 Uhr
24 Kommentare
Neuester Kommentar
Du nutzt ein Wireguard VPN mit einem OpenVPN Client? Respekt! Das muss dir erstmal einer nachmachen.
Tip:
Wenn du mehr mit Linux machen willst warum nutzt du als VPN nicht einfach IPsec, dann kannst du mit jedem Endgerät, egal welches OS die bordeigenen VPN Clients benutzen und ersparst dir die Frickelei mit (überflüssigen) externen Clients und deren Zugangsdaten auf den Endgeräten! Siehe zu dem Thema HIER. Einfacher gehts nicht.
Tip:
Wenn du mehr mit Linux machen willst warum nutzt du als VPN nicht einfach IPsec, dann kannst du mit jedem Endgerät, egal welches OS die bordeigenen VPN Clients benutzen und ersparst dir die Frickelei mit (überflüssigen) externen Clients und deren Zugangsdaten auf den Endgeräten! Siehe zu dem Thema HIER. Einfacher gehts nicht.
Mit anderen Worten: Veeam nutzt dann ganz simpel OpenVPN.
Das Tutorial erklärt dir anhand von Live Beispielen wie das Routing zu setzen ist wenn man mit dem Client auch ein Site-to-Site Design macht.
Von OpenVPN solltest du für zukünftige VPN Projekte wegen dessen mieser Performance und Skalierbarkeit besser die Finger lassen.
Das Tutorial erklärt dir anhand von Live Beispielen wie das Routing zu setzen ist wenn man mit dem Client auch ein Site-to-Site Design macht.
Von OpenVPN solltest du für zukünftige VPN Projekte wegen dessen mieser Performance und Skalierbarkeit besser die Finger lassen.
hier geht es um Windows Clients bzw. das eine Ipad...
Funktioniert mit dessen onboard IKEv2 VPN Client bei beiden Geräten deutlich besser als das schlecht skalierende OpenVPN. Siehe Tutorial.
Was nutzt du denn nun Wireguard oder OpenVPN?? Deine Beschreibung ist wirr. Mal redest du von dem, dann wieder von dem. Was denn nun?? 
Beide, WG und OVPN, benötigen für eine reine Client Anbindung keinen Routing Eintrag!
Beide, WG und OVPN, benötigen für eine reine Client Anbindung keinen Routing Eintrag!
Da steht es in einem, dass BEIDES verwendet wird:
Ahhhsooo... OK, trotzdem braucht es dann keine Routing Einträge, denn das machen die VPN Protokolle automatisch. Am Client kannst du das mit ip r bei aktivem VPN Client auch immer selber sehen.und bekommt keine Updates mehr, das ist mir bewusst.
Warum machst du dich denn davon abhängig?? Für IPsec, WG oder OpenVPN an sich braucht es keine solche Software!
Kann ich das irgendwie permanent hinterlegen?
Klar nutze iroute entries in den ccd files, oder lass die Routen pushen oder trägst sie mit route in die Client-Config ein dann brauchst du da auch nicht manuell Routen anlegen, das ist überflüssig.=> Lans behind OpenVPN
Das mit der Route pushen hab ich versucht. bzw. einfach in der .ovpn fix zu hinterlegen
Das geht gar nicht, denn das ist einen Funktion des OpenVPN Servers und seiner Konfig, nicht des Clients!!! OpenVPN Tutorial lesen und verstehen. push "dhcp-option domain.local"
Der nächste Fehler! .local Domains sind intern bekanntlich Tabu!Hinweise zur Verwendung der Domäne .local in DNS und mDNS
Ipad und Linux scheinen es zu ignorieren.
Nein, stimmt so natürlich nicht! Besonders für Linux stimmt es nicht. Nicht wenn man es richtig einrichtet auf dem Server. Deine .conf Datei von dort wäre sicher hilfreicher als hier weiter zu kristallkugeln.iroute sagt mir (noch) gar nichts
O.a. Tutorial lesen und OpenVPN Doku lesen!! https://openvpn.net/community-resources/reference-manual-for-openvpn-2-4 ... --> --irouteccd files... sorry, wo, was?
Oha...du hast dich nicht wirklich mit OpenVPN beschäftigt, oder? Lies den dir oben geposteten Thread zu dem Thema! Da ist doch nun wirklich alles explizit beschrieben. Mehr als appellieren das du es liest und verstehst kann man ja nicht über ein Forum...
jedenfalls wenn ich die Route NICHT mache, geht gar nix
Weil deine Server- und vermutlich auch die Client Konfig falsch oder fehlerhaft ist!
Du solltest vielleicht erstmal klären WAS du genau erreichen willst?!
Soll der VPN Client nur als einfacher VPN Client auf dem Server arbeiten und auf Endgeräte im lokalen LAN der Servers?
Wenn ja sind keinerlei Routing sei es route oder iroute Einträge erforderlich!
Wichtig sind dann lediglich 2 simple Dinge in der Server Konfig Datei:
Anders sieht die Sache aus wenn du mit dem Client auch das lokale LAN der Client Seite routen willst. Quasi also eine Site-to-Site VPN Kopplung dann, und nur dann, musst du mit route und Client spezifischen iroute Kommandos am Server arbeiten.
Bei dir ist das, versteht man dich richtig, aber nicht der Fall. Folglich benötigst du dann auch diese Kommandos NICHT sondern schlicht und einfach nur das "push route" Kommando und gut iss.
Ob die Routen bei aktivem Client sauber injiziert wurden kannst du unter Linux immer mit ip r sehen. Auf einem Windows Client mit route print und auf iOS Geräten braucht du Apps dafür wie z.B. die HE.NET Tools.
Soll der VPN Client nur als einfacher VPN Client auf dem Server arbeiten und auf Endgeräte im lokalen LAN der Servers?
Wenn ja sind keinerlei Routing sei es route oder iroute Einträge erforderlich!
Wichtig sind dann lediglich 2 simple Dinge in der Server Konfig Datei:
- Mit topology subnet und push "topology subnet" das moderne Subnet Verfahren für das interne VPN IP Netz erzwingen. Das veraltete net30 Verfahren sollte NICHT mehr verwendet werden!
- Mit push "route 192.168.100.0 255.255.255.0" injiziert man das lokale Server LAN in die Routing Tabelle des Clients. (Beispiel hier das der VPN Server im lokalen LAN 192.168.100.0/24 liegt) Damit wird dann automatisch das lokale OpenVPN IP Netz und das lokale Server LAN in die Routing Tabelle des VPN Clients injiziert.
- Fertisch
Anders sieht die Sache aus wenn du mit dem Client auch das lokale LAN der Client Seite routen willst. Quasi also eine Site-to-Site VPN Kopplung dann, und nur dann, musst du mit route und Client spezifischen iroute Kommandos am Server arbeiten.
Bei dir ist das, versteht man dich richtig, aber nicht der Fall. Folglich benötigst du dann auch diese Kommandos NICHT sondern schlicht und einfach nur das "push route" Kommando und gut iss.
Ob die Routen bei aktivem Client sauber injiziert wurden kannst du unter Linux immer mit ip r sehen. Auf einem Windows Client mit route print und auf iOS Geräten braucht du Apps dafür wie z.B. die HE.NET Tools.
Ich bin mir sicher, dass es in der VPN (VeeamPN) Konfig Fehler gibt.
Dann wäre DAS dein erster Anlaufpunkt um das zu fixen!Leider fehlen mir viele Basis-Kenntnisse und eben auch die Zeit, mich da noch weiter rein zu arbeiten.
Normal holt man sich da dann Hilfe an die Hand...Jedenfalls braucht es die die route Befehle Clientseitig
Nein, das ist definitiv Quatsch bzw. zeigt dann von einer völlig falschen oder fehlerhaften Server Konfig. Siehe oben!
Hi,
mir ist das inzwischen hier zu unübersichtlich geworden und es lässt sich kaum noch geordnet nachvollziehen, nur ein paar Tipps.
Der OpenVPN-Client, hier wohl auf dem Debian-PC, braucht keine Routingeinträge und mich wundert nicht, das er die händisch eingetragenen, wieder vergisst.
Das Routing muss alles auf dem Server passieren.
Wichtig ist nur, das eine CCD auf dem Server existiert, die die Routing-Anweisungen an den Client weiter gibt.
Auf den Client gehört nur die OpenVPN-Software installiert und unter...
/etc/openvpn
die client.conf und die ovpn.ca, client.ca, client.key und ta.key installiert.
Mit "openvpn /etc/openvpn/client.conf" kannst Du den Tunnel händisch initiieren und die Ausgabe in der Konsole sehen.
Vorausgesetzt natürlich, es handelt sich auch um OpenVPN.
Im übrigen gibt es bei der Erstellung der "client.conf" zu beachten, das es Versionsunterschiede bei OpenVPN gibt und man schon dabei Fehler einbauen kann.
Ob Du das ganze dann automatisch starten lässt, oder im NW-Manager, ist Dir überlassen.
Das Routing übernimmt Dein OpenVPN-Server.
Hier mal ein Bsp. einer client.conf.....
Die Einträge solltest Du anpassen an Deine Server.conf und beachte, das diese Einträge je nach OpenVPN-Versionen variieren können.
Gruß orcape
mir ist das inzwischen hier zu unübersichtlich geworden und es lässt sich kaum noch geordnet nachvollziehen, nur ein paar Tipps.
Der OpenVPN-Client, hier wohl auf dem Debian-PC, braucht keine Routingeinträge und mich wundert nicht, das er die händisch eingetragenen, wieder vergisst.
Das Routing muss alles auf dem Server passieren.
Wichtig ist nur, das eine CCD auf dem Server existiert, die die Routing-Anweisungen an den Client weiter gibt.
Auf den Client gehört nur die OpenVPN-Software installiert und unter...
/etc/openvpn
die client.conf und die ovpn.ca, client.ca, client.key und ta.key installiert.
Mit "openvpn /etc/openvpn/client.conf" kannst Du den Tunnel händisch initiieren und die Ausgabe in der Konsole sehen.
Vorausgesetzt natürlich, es handelt sich auch um OpenVPN.
Im übrigen gibt es bei der Erstellung der "client.conf" zu beachten, das es Versionsunterschiede bei OpenVPN gibt und man schon dabei Fehler einbauen kann.
Ob Du das ganze dann automatisch starten lässt, oder im NW-Manager, ist Dir überlassen.
Das Routing übernimmt Dein OpenVPN-Server.
Hier mal ein Bsp. einer client.conf.....
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/client.crt
key /etc/openvpn/client.key
persist-tun
persist-key
data-ciphers AES-128-GCM:AES-256-GCM
data-ciphers-fallback AES-256-CBC
auth SHA256
client
tls-auth /etc/openvpn/ta.key 1
resolv-retry infinite
remote xxxyyyy.spdns.de 1195 udp4
nobind
verify-x509-name "egon" name
remote-cert-tls server
explicit-exit-notify
Gruß orcape
Wenn es das denn nun war bitte deinen Thread hier dann auch als erledigt schliessen!
ist die OpenVPN Konfig / die Routen nicht sauber und es gehört am Server richtig eingestellt
Das ist aber auch eine seit Jahrzehnten bekannte Binsenweisheit. Wenn du das nicht beachtet hast ist es ja dann auch klar das Dinge nicht so laufen wie sie sollen. Einfache Logik! Das es nun rennt wie es soll unterstreicht dies.
Laut dem DL wohl so eine Apple-Sache, dass die sich nicht an Standards halten...
Das ist natürlich völliger Quatsch, denn Apple hält sich hier an die üblichen Standards.Die fehlerlos funktionierenden üblichen IKEv2 oder L2TP VPNs mit Apple Endgeräten und Zertifikaten zeigen das ja eindeutig! Sogar mit einem 15 Euro Raspberry Pi als VPN Server arbeiteten alle Apple Clients fehlerlos. Aber egal...case closed.