Commit 27d260

2025-02-27 12:13:05 Samuli Seppänen: Add Systemd article
/dev/null .. Pages/Systemd.md
@@ 0,0 1,63 @@
+ # Systemd
+
+ # OpenVPN systemd use
+
+ This is only a *brief* summary of OpenVPN systemd usage.
+
+ OpenVPN **must** be compiled with systemd support.
+
+ Use the correct OpenVPN supported systemd `.service` files.
+
+ ### Build OpenVPN with systemd support
+
+ When you build the openvpn binary use the configure option `--enable-systemd` like so:
+
+ ```
+ ./configure --enable-systemd
+ ```
+
+ Verify OpenVPN systemd support has been enabled like so:
+
+ ```
+ $ openvpn --version
+ ```
+ Look for `enable-systemd=yes` in the output.
+
+ ### Using OpenVPN with systemd support
+
+ In order to use OpenVPN with systemd please use the correct systemd `.service` file.
+
+ **Server**:
+
+ * Place your server configuration file in `/etc/openvpn/server`
+ * Use the `openvpn-server@.service` like so:
+
+ ```
+ $ sudo systemctl start openvpn-server@{Server-config}
+ ```
+ Replace `{Server-config}` with the `name` of your config file without the `.conf`
+ **Client**:
+
+ * Place your client configuration file in `/etc/openvpn/client` (notice however that, due to an outdated version of openvpn, some distributions, like Ubuntu 20.10, look for configuration files under `/etc/openvpn` instead of `/etc/openvpn/client`. In case of doubt, check the specific error message in `journalctl -xe`)
+ * The filename must end in `.conf`, so if your client config file is something like `profile.ovpn` rename it to `somename.conf` (where `somename` is meaningful to you, to describe where you are connecting.)
+ * Use the `openvpn-client@.service` like so:
+ ```
+ $ sudo systemctl start openvpn-client@{Client-config}
+ ```
+ Replace `{Client-config}` with the `name` of your config file without the `.conf`
+
+ **Start at boot**:
+
+ Replace `start` with `enable`
+
+ Other systemd questions are probably best answered by reading `man systemctl` etc ..
+
+ **Note**:
+
+ * `openvpn@.service` is **deprecated**.
+ * `openvpn.service` is **obsoleted**. (This is only used for backward compatibility)
+
+ ### Known issues
+
+ * https://community.openvpn.net/openvpn/ticket/945
+ * https://community.openvpn.net/openvpn/ticket/1089
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9