# 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
