openVPN - IPv4 Konfiguration wird nicht gesetzt

KillerCow

Lt. Commander
Registriert
Jan. 2012
Beiträge
1.567
Mahlzeit

Ich rätsel gerade an einem Phänomen bei einem openvpn System. Der Host ist ein Ubuntu 18.04 auf aktuellem Stand. OpenVPN arbeitet in Version 2.4.4. Auf dem Host ist ein openVPN Server und ein openVPN Client konfiguriert. Beide Konfigurationen funktionieren an sich ohne Probleme, ABER...

Bei beiden Konfigurationen wird beim Start der openVPN Services (per systemd) keine IPv4 Konfiguration im System gesetzt (IPv6 wird nicht benutzt), obwohl im Log der Aufruf von /sbin/ip erfolgreich protokoliert wird (bzw. kein Fehler). Das tun-Interface wird erstellt, es findet sich anschließend aber weder die IP-Adresse des Tunnels am tun-Interface, noch sind etwaige Routen die in den Configs/per ccd konfiguriert sind, gesetzt. Führe ich anschließend die /sbin/ip Kommandos aus dem Log exakt so manuell aus, läuft alles, bis zum nächsten Restart. Die Tunnel sind laut Log auch immer erfolgreich aufgebaut, es fehlt "nur" die IPv4 Konfiguration.

Das ist nicht mein erstes openVPN System, aber dieses Problem hatte ich bisher noch nie. Die verwendeten Configs basieren alle auf einem Template, das auf einem halben Dutzend anderer System ohne Probleme funktioniert. Letztlich werden die Tunnel ja auch aufgebaut.

Hat hier jemand spontan eine Idee? Ansonsten setze ich den Host bei Gelegenheit neu auf, weil ich echt keine Idee habe, wo ich ansetzen soll bei der Ursachenforschung. Ich wüßte auch nicht, dass ich am Host irgendwas verkonfiguriert hätte...

Besten Dank vorweg in die Runde!

PS: Im syslog habe ich bisher auch keine Hinweise entdeckt.
 
So vom Gefühl her klingt das nach Tippfehler. Poste doch mal die server.conf und client.conf. Wenn die Tunnel aber nicht hoch kommen nach dem neustart könnte das auch in Richtung systemd deuten. Eventuell will das tun device hoch kommen bevor das Netzwerk komplett steht.
Probier mal in /lib/systemd/system/openvpn.service den hier:
Code:
# This service is actually a systemd target,
# but we are using a service since targets cannot be reloaded.

[Unit]
Description=OpenVPN service
#After=network.target ### Das hier raus
After=network-online.target ### Das hier rein

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn

[Install]
WantedBy=multi-user.target

Hab meine ovpn Server alle auf debian, die service datei sollte aber bei ubuntu sehr ähnlich sein
 
Wenn du dasselbe Kommando abtippst und es funktioniert, hat der User, mit dem OpenVPN gestartet wird, evtl. nicht die Berechtigung, um die IP zu setzen.

Du kannst OpenVPN auch aus der Kommandozeile heraus starten, sowohl als Client als auch als Server. Wenn es dann klappt, ist es naheliegend, dass OpenVPN beim Booten mit einem unzureichenden Benutzer gestartet wird.
 
  • Gefällt mir
Reaktionen: KillerCow und snaxilian
Ach die meine Güte. Sorry, habe die Antworten nicht angezeigt bekommen :( Danke für eure Tipps, werde ich mir bei Gelegenheit anschauen und Rückmeldung geben. Danke!
 
Zurück
Oben