Inicio automático del cliente OpenVPN con systemd

2022-12-05

Índice

  1. Requisitos
  2. Instalación cliente OpenVPN
  3. Configuración
  4. Iniciando como un servicio durante el arranque
  5. Referencia

Voy a explicar como configurar un cliente de Openvpn para que se valide, con usuario y contraseña y de forma automática, en un servidor Openvpn.

En mi caso, he configurado una Raspberry Pi con Debian 11 para que se valide contra un servidor OpenVPN que tnego corriendo en un router Synology.

Requisitos

Evidentemente has de disponer de acceso a un servidor OpenVPN y del fichero de configuración OpenVPN

Instalación cliente OpenVPN

Lo primero que vamos a realizar es actualizar el sistema e instalar el paquete OpenVPN

sudo apt update
sudo apt install openvpn -y

Configuración

Editamos el siguiente fichero

sudo nano /etc/default/openvpn

Buscamos y descomentamos (borrando la primera #) la linea aque contenga:

AUTOSTART="all"

Presiona Ctrl x para salvar los cambios.

Copiamos el fichero de configuración .ovpn de tu usuario a la siguiente ubicación, cambiando también su nombre a client.ovpn

sudo cp fichero.ovpn /etc/openvpn/client.ovpn

Editamos el fichero .ovpn que hemos copiado en el anterior paso y cambiamos la linea auth-user-pass por auth-user-pass pass

En el directorio donde hemos copiado el fichero .ovpn (/etc/openvpn/) creamos un fichero llamado pass

sudo nano /etc/openvpn/pass

E introducimos el usuario y contraseña de OpenVPN, cada uno en una linea

cat /etc/openvpn/pass

usuario
password

Después de salvar los cambios protegemos el fichero

sudo chmod 400 /etc/openvpn/pass

La estructura debería ser parecida a la siguiente:

ls -lha /etc/openvpn/


total 32K
drwxr-xr-x  4 root root 4.0K Nov 24 16:11 .
drwxr-xr-x 88 root root 4.0K Nov 12 13:39 ..
drwxr-xr-x  2 root root 4.0K Nov 15 08:39 client
-rw-------  1 root root 5.5K Nov 24 16:11 client.conf
-r--------  1 root root   28 Nov 24 16:11 pass
drwxr-xr-x  2 root root 4.0K May 14  2021 server

Iniciando como un servicio durante el arranque

Para habilitar el servicio OpenVPN en el arranque:

sudo systemctl enable [email protected]

Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /lib/systemd/system/[email protected].

Reiniciamos los demonios:

sudo systemctl daemon-reload

Iniciamos el servicio OpenVPN:

sudo service openvpn@client start

Reiniciamos y comprobamos si el servicio se ha levantado correctamente

sudo systemctl status [email protected][email protected] - OpenVPN connection to client
     Loaded: loaded (/lib/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2022-11-24 19:04:00 CET; 8min ago
       Docs: man:openvpn(8)
             https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
             https://community.openvpn.net/openvpn/wiki/HOWTO
   Main PID: 704417 (openvpn)
     Status: "Initialization Sequence Completed"
      Tasks: 1 (limit: 779)
        CPU: 228ms
     CGroup: /system.slice/system-openvpn.slice/[email protected]
             └─704417 /usr/sbin/openvpn --daemon ovpn-client --status /run/openvpn/client.status 10 --cd /etc/openvpn --config /etc/openvpn/client.conf --writ>

Espero que te haya gustado, pasa un gran día 🐧

Referencia

. https://www.ivpn.net/knowledgebase/linux/linux-autostart-openvpn-in-systemd-ubuntu/


Ingrese la dirección de su instancia