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 |
