suse 13.1 und openvpn

Hi Leute,
bisher habe ich nach der Installation einer neuen distri den Inhalt von /etc/openvpn der alten suse in die /etc… der neuen kopiert und im Runleveleditor den Dienst gestartet.
Heute, mit der 13.1 habe ich in der Diensteverwaltung 3 Stück openvpn@irgendwas und nichts lässt sich starten. Natürlich sind die Pakete für openvpn installiert.
>:(
Wer weiß hier mehr?
Dank und Gruß

Folgende Ausgaben erhalte ich:
~ # systemctl status openvpn.target
openvpn.target - OpenVPN target allowing to start/stop all openvpn@.service instances at once
Loaded: loaded (/usr/lib/systemd/system/openvpn.target; static)
Active: inactive (dead)

~ # systemctl enable openvpn.target
The unit files have no [Install] section. They are not meant to be enabled
using systemctl.
Possible reasons for having this kind of units are:

  1. A unit may be statically enabled by being symlinked from another unit’s
    .wants/ or .requires/ directory.
  2. A unit’s purpose may be to act as a helper for some other unit which has
    a requirement dependency on it.
  3. A unit may be started when needed via activation (socket, path, timer,
    D-Bus, udev, scripted systemctl call, …).

Hilft das jemandem weiter?
Gruß und Dank :’(

Tja, ein “Target” ist so was ähnliches wie die Runlevels früher.

Probier mal “systemctl start openvpn.target”.
“enable” funktioniert nur bei Units (xxx.service), soweit ich weiß.

Mit openvpn speziell kenne ich mich jetzt auch nicht aus, aber probier’s doch mal so zu starten:

systemctl start openvpn@name.service

Dann um zu sehen, obs läuft, bzw. warum nicht:

systemctl status openvpn@name.service

Und schau mal in /usr/share/doc/packages/openvpn/README.SUSE:

Notes about the OpenVPN package

In a fresh installation, you will find an empty directory /etc/openvpn.
The directory is meant to contain *.conf files – the openvpn init script
will automatically look for them there, so you can start/stop all tunnels with
“rcopenvpn (start|stop)”, as well as starting them at boot time.

With openSUSE post-12.3 either all instances are handled by calling
‘systemctl <start|stop|enable|disbale|status> openvpn.target’ or one named
service ‘systemctl <start|stop|enable|disbale|status> openvpn@&lt;name&gt;.service’
while the configuration is stored in a file named /etc/openvpn/<name>.conf .

Vielleicht hilft dir das weiter?

Danke Wolfi.

“systemctl start openvpn.target” hat er klaglos genommen. Allerdings erhalte ich mit ifconfig keine andere Ausgabe.
Wenn ich althergebracht mit “openvpn /etc/openvpn/…1.conf” und “openvpn /etc/openvpn/…2.conf” starte laufen die Tunnel und sind mit ifconfig auch sichtbar.

Allerdings bei:

systemctl start openvpn@name.service

Job for openvpn@name.service failed. See ‘systemctl status openvpn@name.service’ and ‘journalctl -xn’ for details. KOMMT DIESE AUSGABE

und bei:

systemctl status openvpn@name.service

openvpn@name.service - OpenVPN tunneling daemon instance using /etc/openvpn/name.conf
Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled)
Active: failed (Result: exit-code) since Sa 2013-11-23 16:17:49 CET; 51s ago
Process: 8457 ExecStart=/usr/sbin/openvpn --daemon --suppress-timestamps --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf (code=exited, status=1/FAILURE)

Nov 23 16:17:49 pcneu systemd[1]: Starting OpenVPN tunneling daemon instance using /etc/openvpn/name.conf…
Nov 23 16:17:49 pcneu openvpn[8457]: Options error: In [CMD-LINE]:1: Error opening configuration file: name.conf
Nov 23 16:17:49 pcneu openvpn[8457]: Use --help for more information.
Nov 23 16:17:49 pcneu systemd[1]: openvpn@name.service: control process exited, code=exited status=1
Nov 23 16:17:49 pcneu systemd[1]: Failed to start OpenVPN tunneling daemon instance using /etc/openvpn/name.conf.
Nov 23 16:17:49 pcneu systemd[1]: Unit openvpn@name.service entered failed state.

Mein Bauch sagt mir, dass es mit diesem target alle openvpn.conf zu starten die sich in der /etc/openvpn/ befinden nicht klappt, das da eine Auflösung nicht funktioniert.

aber: openvpn /etc/openvpn/…1.conf funktioniert.

und dieses Ergebnis:
# systemctl start openvpn.target
…:/home/mario # systemctl status openvpn.target
openvpn.target - OpenVPN target allowing to start/stop all openvpn@.service instances at once
Loaded: loaded (/usr/lib/systemd/system/openvpn.target; static)
Active: active since Sa 2013-11-23 16:10:46 CET; 32min ago

Nov 23 16:10:46 pcneu systemd[1]: Starting OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:10:46 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:38:33 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:43:02 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.

ifconfig zeigt keine Tunnel an.
Also klappt das starten aller vorhandenen *.conf nicht-
.

Gruß

Da hätte ich wohl genauer drauf hinweisen sollen:
Du musst “name” mit dem Namen der Konfigurationsdatei ersetzen. Also z.B. “systemctl start openvpn@vpn1.service”, wenn die Konfiguration /etc/openvpn/vpn1.conf heißt.

Mein Bauch sagt mir, dass es mit diesem target alle openvpn.conf zu starten die sich in der /etc/openvpn/ befinden nicht klappt, das da eine Auflösung nicht funktioniert.

aber: openvpn /etc/openvpn/…1.conf funktioniert.

und dieses Ergebnis:
# systemctl start openvpn.target
…:/home/mario # systemctl status openvpn.target
openvpn.target - OpenVPN target allowing to start/stop all openvpn@.service instances at once
Loaded: loaded (/usr/lib/systemd/system/openvpn.target; static)
Active: active since Sa 2013-11-23 16:10:46 CET; 32min ago

Nov 23 16:10:46 pcneu systemd[1]: Starting OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:10:46 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:38:33 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.
Nov 23 16:43:02 pcneu systemd[1]: Reached target OpenVPN target allowing to start/stop all openvpn@.service instances at once.

ifconfig zeigt keine Tunnel an.
Also klappt das starten aller vorhandenen *.conf nicht-
.

OK, weiß ich nicht.
Ich hab eine Fedora-Seite zu dem Thema gefunden, da wird das openvpn.target gar nicht erwähnt, das dürfte also openSUSE-spezifisch sein (ist auch nicht im openvpn tarball enthalten, sondern extra vom openSUSE Paketbauer hinzugefügt worden). K.A. ob da evtl. was nicht damit in Ordnung ist.

Aber: Du solltest die einzelnen VPNs mit “systemctl enable [noparse]openvpn@vpn1.service[/noparse]” usw. für den automatischen Start beim Booten aktivieren können.

Wolfi, das scheint zu funktionieren.
Ich habe folgendes probiert:

:/home/mario # systemctl enable openvpn@server.service
ln -s ‘/usr/lib/systemd/system/openvpn@.service’ ‘/etc/systemd/system/multi-user.target.wants/openvpn@server.service’
ln -s ‘/usr/lib/systemd/system/openvpn@.service’ ‘/etc/systemd/system/openvpn.target.wants/openvpn@server.service’
:/home/mario # systemctl status openvpn@server.service
openvpn@server.service - OpenVPN tunneling daemon instance using /etc/openvpn/server.conf
Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled)
Active: inactive (dead)

:/home/mario # systemctl start openvpn@server.service
:/home/mario # systemctl status openvpn@server.service
openvpn@server.service - OpenVPN tunneling daemon instance using /etc/openvpn/server.conf
Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled)
Active: active (running) since Sa 2013-11-23 17:28:43 CET; 3s ago
Process: 7809 ExecStart=/usr/sbin/openvpn --daemon --suppress-timestamps --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf (code=exited, status=0/SUCCESS)
Main PID: 7828 (openvpn)
CGroup: /system.slice/system-openvpn.slice/openvpn@server.service
└─7828 /usr/sbin/openvpn --daemon --suppress-timestamps --writepid /var/run/openvpn/server.pid --cd /etc/openvpn/ --config server.conf

Nov 23 17:28:43 pcneu openvpn[7809]: OpenVPN 2.3.2 i586-suse-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [eurephia] [MH] [IPv6] built on May 31 2013
Nov 23 17:28:43 pcneu openvpn[7809]: WARNING: file ‘/etc/openvpn/static.key’ is group or others accessible
Nov 23 17:28:43 pcneu openvpn[7809]: TUN/TAP device tun0 opened
Nov 23 17:28:43 pcneu openvpn[7809]: do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Nov 23 17:28:43 pcneu openvpn[7809]: /bin/ip link set dev tun0 up mtu 1500
Nov 23 17:28:43 pcneu openvpn[7809]: /bin/ip addr add dev tun0 local 10.0.1.1 peer 10.0.1.2
Nov 23 17:28:43 pcneu openvpn[7828]: Listening for incoming TCP connection on [undef]
Nov 23 17:28:43 pcneu systemd[1]: Started OpenVPN tunneling daemon instance using /etc/openvpn/server.conf.
:/home/mario # ifconfig
eth0 Link encap:Ethernet Hardware Adresse xxxxxxxxxxxxx
inet Adresse:192.168.0.26 Bcast:192.168.0.255 Maske:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:4735 errors:0 dropped:0 overruns:0 frame:0
TX packets:4068 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 Sendewarteschlangenlänge:1000
RX bytes:4253108 (4.0 Mb) TX bytes:598700 (584.6 Kb)

lo Link encap:Lokale Schleife
inet Adresse:127.0.0.1 Maske:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:160 errors:0 dropped:0 overruns:0 frame:0
TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 Sendewarteschlangenlänge:0
RX bytes:17588 (17.1 Kb) TX bytes:17588 (17.1 Kb)

tun0 Link encap:UNSPEC Hardware Adresse 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
inet Adresse:10.0.1.1 P-z-P:10.0.1.2 Maske:255.255.255.255
UP PUNKTZUPUNKT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 Sendewarteschlangenlänge:100
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

:/home/mario # systemctl enable openvpn@target
ln -s ‘/usr/lib/systemd/system/openvpn@.service’ ‘/etc/systemd/system/multi-user.target.wants/openvpn@target.service’
ln -s ‘/usr/lib/systemd/system/openvpn@.service’ ‘/etc/systemd/system/openvpn.target.wants/openvpn@target.service’
:/home/mario # systemctl status openvpn@target
openvpn@target.service - OpenVPN tunneling daemon instance using /etc/openvpn/target.conf
Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled)
Active: inactive (dead)

:/home/mario # systemctl start openvpn@target
Job for openvpn@target.service failed. See ‘systemctl status openvpn@target.service’ and ‘journalctl -xn’ for details.

Ich konnte also einen einzelnen Tunnel aktivieren und starten.
Jetzt werde ich sehen ob er den Neustart übersteht.
Nur wie gesagt, ich verstehe diese Sonderwege von Suse nicht und wenn, dann sollte es funktionieren und dokumentiert sein. Ist wieder ein ganzer Tag für den A…
Trotzdem riesen Dank
Mario

Wieso Sonderwege?
Bei Fedora ists genauso:
Openvpn - FedoraProject

Das hat mehr mit der Umstellung auf systemd zu tun (die aber schon mit 12.1 begonnen wurde).
Und auch die ist nicht openSUSE-spezifisch. Andere Distros waren auch da schneller (Fedora z.B.).

Es wäre eher ein Sonderweg, wenn man an sysvinit und den alten init scripts festhalten würde…

Also:
systemctl enable openvpn@“name”.service

und dann

systemctl start openvpn@“name”.service

aktiviert und startet die in der /etc/openvpn/ eingetragenen Tunnel dauerhaft auch beim Neustart.
wobei “name” gleich /etc/openvpn/“name”.conf ist.

Erst dann werden die Tunnel im Yast - Diensteverwaltung sichtbar.

Er erkennt die vorhandnen *.config in der /etc/openvpn/ nicht automatisch.

Nun Sonderweg … Du hasst geschrieben dieses target gibt es nur bei Suse. Habe gerade mal nachgesehen. Wenn man Target mit Ziel übersetzt dann könnte schon die Entsprechung für “name”.conf gemeint sein.
Bloß dann geht es nicht automatisch.
Gruß
und Dank
Mario

Ja, ok. Dieses “openvpn.target” ist scheinbar ein “Sonderweg”. Ich bin mir nicht sicher, aber in dieser Fedora Seite wird es zumindest nicht erwähnt.
Scheinbar sollte das alle vorhandenen /etc/openvpn/“name”.conf auf einmal starten.
Aber wie man das genau aktiviert, weiß ich jetzt leider auch nicht. Vielleicht finde ich das auch noch raus.

Die einzelnen openvpn@“name”.service zu aktivieren funktioniert ja, das sollte doch reichen, oder? :wink:

:wink: :good:
Danke und Gruß

Ich überlege schon die ganze Zeit wie man solche anstehenden Änderungen den Usern im Vorfeld bekannt macht. DA weiß man schon vor der Installation, halt da wird es Veränderungen geben, dort musst Du genau aufpassen und man fällt nicht von einer Ohnmacht in die Andere.

Tja, aber systemd ist schon seit 12.1 das Standard-Bootsystem. Und seit 12.3 sogar das einzige. (sysvinit ist zwar noch in der Distribution enthalten, aber du wirst kein vollständiges openSUSE System mehr damit zum Laufen bekommen…)

Und ist doch dann eigtl. klar, dass nach und nach alle Dienste (zumindest die, die in der Distribution enthalten sind) auf systemd umgestellt werden, oder? (obwohl systemd immer noch die Möglichkeit bietet, die alten sysvinit scripts zu benutzen)